1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
mod config;
mod error;
mod loader;
pub mod merge;
mod source;

pub use config::*;
pub use error::*;
pub use loader::*;
pub use schematic_macros::*;
pub use source::*;

// We can't put this in a proc-macro crate!
#[macro_export]
macro_rules! config_enum {
    ($impl:item) => {
        #[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
        #[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
        #[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
        $impl
    };
}