add basic type serialisation (bool, char and numbers)
This commit is contained in:
parent
455ba9aa43
commit
c97d1d21f9
@ -8,6 +8,7 @@ extern crate xml;
|
||||
extern crate yaserde_derive;
|
||||
|
||||
use std::io::{Read, Write};
|
||||
use xml::writer::XmlEvent;
|
||||
|
||||
pub mod de;
|
||||
pub mod ser;
|
||||
@ -36,3 +37,33 @@ pub trait Visitor<'de>: Sized {
|
||||
self.visit_str(&v)
|
||||
}
|
||||
}
|
||||
|
||||
macro_rules! serialize_type {
|
||||
($type:ty) => (
|
||||
impl YaSerialize for $type {
|
||||
fn serialize<W: Write>(&self, writer: &mut ser::Serializer<W>) -> Result<(), String> {
|
||||
let content = format!("{}", self);
|
||||
let event = XmlEvent::characters(&content);
|
||||
let _ret = writer.write(event);
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
serialize_type!(bool);
|
||||
serialize_type!(char);
|
||||
|
||||
serialize_type!(u8);
|
||||
serialize_type!(u16);
|
||||
serialize_type!(u32);
|
||||
serialize_type!(u64);
|
||||
|
||||
serialize_type!(i8);
|
||||
serialize_type!(i16);
|
||||
serialize_type!(i32);
|
||||
serialize_type!(i64);
|
||||
|
||||
serialize_type!(f32);
|
||||
serialize_type!(f64);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user