cfn/codec/
mod.rs

1use serde::{Serializer, Deserializer};
2
3#[macro_use] mod macros;
4mod primitives;
5
6pub trait SerializeValue {
7    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>;
8
9    fn serialize_borrow<S: Serializer>(self_ref: &&Self, s: S) -> Result<S::Ok, S::Error> {
10        (*self_ref).serialize(s)
11    }
12}
13
14pub trait DeserializeValue {
15    fn deserialize<'de, D>(d: D) -> Result<Self, D::Error>
16        where Self: Sized,
17              D: Deserializer<'de>;
18}
19
20cfn_internal__num_codec_impls!(u32);
21cfn_internal__num_codec_impls!(u64);
22cfn_internal__num_codec_impls!(f64);
23
24cfn_internal__inherit_codec_impls!(String);
25cfn_internal__inherit_codec_impls!(::types::Tag);
26cfn_internal__inherit_codec_impls!(::serde_json::Value);