1#![allow(
2 clippy::cast_lossless,
3 clippy::cast_possible_truncation,
4 clippy::elidable_lifetime_names,
5 clippy::missing_errors_doc,
6 clippy::needless_lifetimes
7)]
8
9extern crate serde_core as serde;
10
11mod de;
12mod error;
13mod ser;
14
15use self::de::Deserializer;
16use self::ser::Serializer;
17use serde::{Deserialize, Serialize};
18
19pub use self::error::{Error, Result};
20
21pub fn serialize<T>(out: &mut Vec<u8>, value: &T) -> Result<()>
22where
23 T: Serialize,
24{
25 let mut ser = Serializer::new(out);
26 Serialize::serialize(value, &mut ser)
27}
28
29pub fn deserialize<'de, T>(bytes: &'de [u8]) -> Result<T>
30where
31 T: Deserialize<'de>,
32{
33 let mut de = Deserializer::new(bytes);
34 Deserialize::deserialize(&mut de)
35}