Skip to main content

schematic/
lib.rs

1#![allow(clippy::result_large_err)]
2
3pub mod helpers;
4
5#[cfg(feature = "config")]
6mod config;
7
8/// Built-in `parse_env` functions.
9#[cfg(all(feature = "config", feature = "env"))]
10pub mod env;
11
12#[cfg(feature = "config")]
13#[doc(hidden)]
14pub mod internal;
15
16/// Built-in `merge` functions.
17#[cfg(feature = "config")]
18pub mod merge;
19
20/// Generate schemas to render into outputs.
21#[cfg(feature = "schema")]
22pub mod schema;
23
24/// Built-in `validate` functions.
25#[cfg(all(feature = "config", feature = "validate"))]
26pub mod validate;
27
28/// ASCII color helpers for use within error messages.
29#[cfg(feature = "config")]
30pub use starbase_styles::color;
31
32#[cfg(feature = "config")]
33pub use config::*;
34
35// The derives are feature gated in the macro crate: `Config` and
36// `ConfigEnum` behind `config`, `Schematic` behind `schema`
37#[cfg(any(feature = "config", feature = "schema"))]
38pub use schematic_macros::*;
39pub use schematic_types::{Schema, SchemaBuilder, SchemaType, Schematic};
40
41// Re-export serde_content for use in macros
42pub use serde_content;