1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
pub mod de;
pub mod error;
pub mod ser;
#[cfg(test)]
mod test;
pub use de::Deserializer;
pub use ser::Serializer;
pub fn serialize<T: serde::Serialize>(t: &T) -> Result<Vec<u8>, error::Error> {
let mut result = Vec::new();
let mut s = Serializer::new(&mut result);
t.serialize(&mut s)?;
Ok(result)
}
pub fn deserialize<T: serde::de::DeserializeOwned, R: std::io::Read>(
mut r: R,
) -> Result<T, error::Error> {
let mut d = Deserializer::new(&mut r);
serde::Deserialize::deserialize(&mut d)
}