mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-14 08:12:24 +00:00
xml: Some restructuring
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
use crate::{XmlDeserialize, XmlError, XmlSerialize};
|
||||
use quick_xml::events::{BytesEnd, BytesStart, BytesText, Event};
|
||||
use quick_xml::name::{Namespace, QName};
|
||||
use std::collections::HashMap;
|
||||
@@ -5,7 +6,13 @@ use std::num::{ParseFloatError, ParseIntError};
|
||||
use std::{convert::Infallible, io::BufRead};
|
||||
use thiserror::Error;
|
||||
|
||||
use crate::{XmlError, XmlDeserialize, XmlSerialize};
|
||||
pub trait ValueSerialize {
|
||||
fn serialize(&self) -> String;
|
||||
}
|
||||
|
||||
pub trait ValueDeserialize: Sized {
|
||||
fn deserialize(val: &str) -> Result<Self, XmlError>;
|
||||
}
|
||||
|
||||
#[derive(Debug, Error)]
|
||||
pub enum ParseValueError {
|
||||
@@ -17,14 +24,6 @@ pub enum ParseValueError {
|
||||
ParseFloatError(#[from] ParseFloatError),
|
||||
}
|
||||
|
||||
pub trait ValueSerialize: Sized {
|
||||
fn serialize(&self) -> String;
|
||||
}
|
||||
|
||||
pub trait ValueDeserialize: Sized {
|
||||
fn deserialize(val: &str) -> Result<Self, XmlError>;
|
||||
}
|
||||
|
||||
macro_rules! impl_value_parse {
|
||||
($t:ty) => {
|
||||
impl ValueSerialize for $t {
|
||||
|
||||
Reference in New Issue
Block a user