#![doc = include_str!("../README.md")]
mod error;
#[cfg(feature = "figue")]
mod figue_format;
#[cfg(test)]
mod idempotency_test;
#[cfg(test)]
mod mixed_expr_test;
#[cfg(test)]
mod other_variant_test;
mod parser;
mod schema_error;
mod schema_gen;
mod schema_meta;
mod schema_types;
mod schema_validate;
mod serializer;
#[cfg(test)]
mod tag_events_test;
#[cfg(test)]
mod test_utils;
mod tracing_macros;
#[cfg(test)]
mod value_expr_test;
pub use error::RenderError;
pub use facet_format::DeserializeError;
pub use facet_format::SerializeError;
#[cfg(feature = "figue")]
pub use figue_format::StyxFormat;
pub use parser::StyxParser;
pub use schema_error::{ValidationError, ValidationErrorKind, ValidationResult, ValidationWarning};
pub use schema_gen::{GenerateSchema, schema_file_from_type, schema_from_type};
pub use schema_meta::META_SCHEMA_SOURCE;
pub use schema_types::*;
pub use schema_validate::{Validator, validate, validate_as};
pub use serializer::{
SerializeOptions, StyxSerializeError, StyxSerializer, peek_to_string, peek_to_string_expr,
peek_to_string_with_options, to_string, to_string_compact, to_string_with_options,
};
pub fn from_str<T>(input: &str) -> Result<T, DeserializeError>
where
T: facet_core::Facet<'static>,
{
use facet_format::FormatDeserializer;
let mut parser = StyxParser::new(input);
let mut de = FormatDeserializer::new_owned(&mut parser);
de.deserialize_root()
}
pub fn from_str_borrowed<'input, 'facet, T>(input: &'input str) -> Result<T, DeserializeError>
where
T: facet_core::Facet<'facet>,
'input: 'facet,
{
use facet_format::FormatDeserializer;
let mut parser = StyxParser::new(input);
let mut de = FormatDeserializer::new(&mut parser);
de.deserialize_root()
}
pub fn from_str_expr<T>(input: &str) -> Result<T, DeserializeError>
where
T: facet_core::Facet<'static>,
{
use facet_format::FormatDeserializer;
let mut parser = StyxParser::new_expr(input);
let mut de = FormatDeserializer::new_owned(&mut parser);
de.deserialize_root()
}
#[cfg(test)]
mod tests;