| //! Config organizes hierarchical or layered configurations for Rust applications. | |
| //! | |
| //! Config lets you set a set of default parameters and then extend them via merging in | |
| //! configuration from a variety of sources: | |
| //! | |
| //! - Environment variables | |
| //! - String literals in well-known formats | |
| //! - Another Config instance | |
| //! - Files: TOML, JSON, YAML, INI, RON, JSON5 and custom ones defined with Format trait | |
| //! - Manual, programmatic override (via a `.set` method on the Config instance) | |
| //! | |
| //! Additionally, Config supports: | |
| //! | |
| //! - Live watching and re-reading of configuration files | |
| //! - Deep access into the merged configuration via a path syntax | |
| //! - Deserialization via `serde` of the configuration or any subset defined via a path | |
| //! | |
| //! See the [examples](https://github.com/mehcode/config-rs/tree/master/examples) for | |
| //! general usage information. | |
| #![allow(unknown_lints)] | |
| // #![warn(missing_docs)] | |
| pub mod builder; | |
| mod config; | |
| mod de; | |
| mod env; | |
| mod error; | |
| mod file; | |
| mod format; | |
| mod map; | |
| mod path; | |
| mod ser; | |
| mod source; | |
| mod value; | |
| pub use crate::builder::{AsyncConfigBuilder, ConfigBuilder}; | |
| pub use crate::config::Config; | |
| pub use crate::env::Environment; | |
| pub use crate::error::ConfigError; | |
| pub use crate::file::{File, FileFormat, FileSourceFile, FileSourceString, FileStoredFormat}; | |
| pub use crate::format::Format; | |
| pub use crate::map::Map; | |
| pub use crate::source::{AsyncSource, Source}; | |
| pub use crate::value::{Value, ValueKind}; |