xml: Some restructuring

This commit is contained in:
Lennart
2025-01-15 18:24:23 +01:00
parent d74f0ba660
commit d5c66ed233
9 changed files with 128 additions and 121 deletions

View File

@@ -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 {