#![doc = include_str!("../README.md")]
mod error;
#[cfg(any(
feature = "json",
feature = "yaml",
feature = "toml",
feature = "ini",
feature = "dhall"
))]
use std::path::PathBuf;
#[doc(hidden)]
pub mod reexports {
pub use log;
pub use serde;
pub use serde_json;
#[cfg(feature = "clap")]
pub use clap_rs as clap;
#[cfg(any(feature = "env", feature = "clap"))]
pub use envy;
#[cfg(feature = "dhall")]
pub use serde_dhall;
#[cfg(feature = "ini")]
pub use serde_ini;
#[cfg(feature = "yaml")]
pub use serde_yaml;
#[cfg(feature = "toml")]
pub use toml_rs as toml;
}
pub use config_derive::config;
pub use error::Error;
#[derive(Debug, Clone)]
pub enum Layer {
#[cfg(feature = "env")]
Env(Option<String>),
#[cfg(feature = "json")]
Json(PathBuf),
#[cfg(feature = "yaml")]
Yaml(PathBuf),
#[cfg(feature = "toml")]
Toml(PathBuf),
#[cfg(feature = "ini")]
Ini(PathBuf),
#[cfg(feature = "dhall")]
Dhall(PathBuf),
#[cfg(feature = "clap")]
Clap(clap_rs::ArgMatches),
}