pub mod anno;
#[cfg(feature = "asn1")]
pub mod asn1;
#[cfg(feature = "avro")]
pub mod avro;
pub mod builder;
#[cfg(feature = "cbor")]
pub mod cbor;
#[cfg(all(feature = "collation-icu", feature = "collation-colligo"))]
compile_error!(
"`collation-icu` and `collation-colligo` are mutually exclusive \
collation backends — enable at most one"
);
#[cfg(feature = "collation-icu")]
#[path = "collate_icu.rs"]
pub mod collate;
#[cfg(all(feature = "collation-colligo", not(feature = "collation-icu")))]
#[path = "collate_colligo.rs"]
pub mod collate;
pub mod compiler;
pub mod config;
pub mod denorm;
pub mod error;
pub mod faiv;
#[cfg(feature = "graphql")]
pub mod graphql;
pub mod infer;
#[cfg(feature = "json")]
pub mod json;
#[cfg(feature = "json")]
pub mod jsonschema;
pub mod lexer;
#[cfg(feature = "net")]
mod net;
#[cfg(feature = "proto")]
pub mod proto;
pub mod resolve;
pub mod rex;
pub mod schema;
pub mod table;
pub mod taiv;
#[cfg(feature = "toml")]
pub mod toml;
pub mod unit;
pub mod validator;
#[cfg(feature = "xml")]
pub mod xml;
#[cfg(feature = "xsd")]
pub mod xsd;
#[cfg(feature = "yaml")]
pub mod yaml;
pub use builder::{DaivBuilder, Provenance};
pub use compiler::{compile, compile_with};
pub use config::Config;
pub use denorm::{denormalize, denormalize_with};
pub use error::{AppError, AppErrorAt, LexError, LexErrorAt, PipelineError};
pub use lexer::{lex, FileKind};
pub use resolve::Resolver;
pub use schema::{check_type_lib, compile_schema, compile_schema_with};
pub use validator::{parse_csaiv, schema_for_daiv, validate, CompiledSchema, ProvenanceLevel};