forma_core
Core serialization and deserialization framework for forma -- data model, traits, and error types.
Most users should depend on forma instead of using this crate directly.
Overview
forma_core defines the traits and types that make up the forma data model:
Serialize/Serializer-- convert Rust values into a format-neutral data model (30 types).Deserialize/Deserializer/Visitor-- reconstruct Rust values from serialized data.Content-- buffering system for flatten and tagged enum support.SerError/DeError-- trait-based errors that carry type context from the start.Impossible-- uninhabitable type for compound traits a format does not support.forward_to_deserialize_any!-- macro for self-describing formats.IntoDeserializerandde::value-- ready-made building-block deserializers for format authors.
Includes Serialize and Deserialize impls for 60+ standard library types.
no_std Support
forma_core works without the standard library:
[]
= { = "0.1", = false, = ["alloc"] }
The alloc feature enables collections, String, Content, and related impls.
Primitive serialization and deserialization works with no features at all.
License
Licensed under either of Apache License, Version 2.0 or MIT License at your option.