5 releases
0.1.2 | Oct 31, 2023 |
---|---|
0.1.1 | Oct 31, 2023 |
0.1.0 | Oct 30, 2023 |
#1803 in Parser implementations
Used in gotcha
22KB
463 lines
Features
- hierarchy file supported: file source allow users to load config from multiple files
- environment variable resolver: yaac can resolve the placeholder like
${APP_KEY_NAME}
- path variable resolver: yaac can resolve the placeholder like
${parent.sub.key_name}
Installation
$ cargo add yaac
Example
#[derive(Debug, Deserialize)]
struct Config {
original: String,
value: String,
}
fn main() {
let mut loader = ConfigLoader::new();
loader.add_source(FileSource::new("configuration/application.toml"));
loader.add_source(FileSource::new("configuration/application_database.toml"));
loader.add_source(EnvironmentSource::new("APP"));
loader.enable_environment_variable_processor();
loader.enable_path_variable_processor();
let config: Config = loader.construct()?;
}
Contributing
Want to join us? Check out our "Contributing" guide and take a look at some of these issues:
License
This project is licensed under MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT).
Dependencies
~2.8–4MB
~73K SLoC