- hierarchy file supported: file source allow users to load config from multiple files
- environment variable resolver: mofa can resolve the placeholder like
${APP_KEY_NAME}
- path variable resolver: mofa can resolve the placeholder like
${parent.sub.key_name}
$ cargo add mofa
#[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()?;
}
Want to join us? Check out our "Contributing" guide and take a look at some of these issues:
This project is licensed under MIT license (LICENSE-MIT or [http://opensource.org/licenses/MIT]).