Expand description
A Rust crate which allows to build a configuration files based on scheme and serialize it into JSON or binary formats in order to deserialize it later. Also to autogenerate the Rust structures for desearilization dynamically during building.
See project repository for examples and description.
Re-exports
pub extern crate bincode;
pub extern crate bitflags;
pub extern crate linked_hash_map;
pub extern crate serde;
pub extern crate serde_json;
pub use lexer::lexer::Lexer;
pub use lexer::lexer::LexerInfo;
pub use lexer::lexer::Node;
pub use static_scheme::init::SchemeInit;
pub use static_scheme::generator::RustCode;
pub use static_scheme::error::StaticSchemeRes;
pub use static_scheme::error::StaticSchemeError;
pub use static_scheme::container::StaticSchemes;
pub use static_scheme::scheme::Serializator;
pub use static_scheme::analyzer::AnalyzerErrors;
pub use dynamic_scheme::environment::DynEnvironment;
pub use dynamic_scheme::environment::DynProcedure;
pub use dynamic_scheme::error::DynamicSchemeRes;
pub use dynamic_scheme::error::DynamicSchemeError;
pub use dynamic_scheme::error::DynamicPartialRes;
pub use dynamic_scheme::error::DynamicErrorPartial;
pub use serializator::serializator::Serialization;
pub use serializator::error::SerializationErrorPartial;
pub use serializator::error::SerializationPartialRes;
pub use serializator::error::SerializationRes;
pub use serializator::error::SerializationError;
Modules
Macros
Functions
- Performs deserialization of the data into the type
S
from the JSON. - A dynamic scheme file parsing based on the description from the statis scheme.
- Generates a Rust code from the serializator (a static scheme). This is a simple realizaton. For compels, see examples.
- Performs serialization of the data in DynProcedure instance according to the description in Serializator instance. And then the result is serialized as JSON and returnd as String.
- Calls scheme analyzer to find any unused items or incorrect path references.
- Initializes a SchemeInit instance. This is usefull when it is required to perform some custom actions and reuse instance.
- Initializes a SchemeInit instance with the
basepath
which is a path to the root directory where usually aninit.shm
fle is located. - Reads multiple files which contains a description of the serializator in single StaticSchemes instance. If you have some
init.shm
which includes other files, then use static_scheme_init_multiple. - Reads a single file which contains a description of the serializator. If you have some
init.shm
which includes other files, then use static_scheme_init_multiple. - Initializes a SchemeInit instance with the
basepath
which is a path to the root directory where usually aninit.shm
fle is located and aninit.shm
file relative location.