2019-09-17 10:27:44 +00:00
|
|
|
pub mod codec;
|
2019-09-16 23:58:32 +00:00
|
|
|
pub mod constants;
|
|
|
|
pub mod de;
|
2019-09-15 15:16:17 +00:00
|
|
|
pub mod decoder;
|
|
|
|
pub mod encoder;
|
2019-09-16 23:58:32 +00:00
|
|
|
pub mod error;
|
|
|
|
pub mod ser;
|
|
|
|
pub mod value;
|
|
|
|
|
2019-09-17 10:27:44 +00:00
|
|
|
pub use codec::Codec;
|
2019-09-16 23:58:32 +00:00
|
|
|
pub use de::Deserializer;
|
|
|
|
pub use de::from_value;
|
|
|
|
pub use decoder::DecodePlaceholderMap;
|
|
|
|
pub use decoder::Decoder;
|
|
|
|
pub use encoder::EncodePlaceholderMap;
|
|
|
|
pub use encoder::Encoder;
|
|
|
|
pub use ser::Serializer;
|
|
|
|
pub use ser::to_value;
|
2019-10-12 14:40:35 +00:00
|
|
|
pub use value::NestedValue;
|
2019-09-16 23:58:32 +00:00
|
|
|
pub use value::Value;
|
2019-10-12 14:40:35 +00:00
|
|
|
pub use value::AValue;
|
|
|
|
|
|
|
|
pub type Set = std::collections::BTreeSet<AValue>;
|
|
|
|
pub type Dictionary = std::collections::BTreeMap<AValue, AValue>;
|
2019-09-17 08:57:44 +00:00
|
|
|
|
|
|
|
pub fn invert_map<A, B>(m: &std::collections::BTreeMap<A, B>) -> std::collections::BTreeMap<B, A>
|
|
|
|
where A: Clone, B: Clone + Ord
|
|
|
|
{
|
|
|
|
use std::iter::FromIterator;
|
|
|
|
std::collections::BTreeMap::from_iter(m.iter().map(|(a, b)| (b.clone(), a.clone())))
|
|
|
|
}
|