schematic 0.20.3

A layered serde configuration and schema library.
Documentation
#![allow(clippy::result_large_err)]

pub mod helpers;

#[cfg(feature = "config")]
mod config;

/// Built-in `parse_env` functions.
#[cfg(all(feature = "config", feature = "env"))]
pub mod env;

#[cfg(feature = "config")]
#[doc(hidden)]
pub mod internal;

/// Built-in `merge` functions.
#[cfg(feature = "config")]
pub mod merge;

/// Generate schemas to render into outputs.
#[cfg(feature = "schema")]
pub mod schema;

/// Built-in `validate` functions.
#[cfg(all(feature = "config", feature = "validate"))]
pub mod validate;

/// ASCII color helpers for use within error messages.
#[cfg(feature = "config")]
pub use starbase_styles::color;

#[cfg(feature = "config")]
pub use config::*;

// The derives are feature gated in the macro crate: `Config` and
// `ConfigEnum` behind `config`, `Schematic` behind `schema`
#[cfg(any(feature = "config", feature = "schema"))]
pub use schematic_macros::*;
pub use schematic_types::{Schema, SchemaBuilder, SchemaType, Schematic};

// Re-export serde_content for use in macros
pub use serde_content;