5个版本
0.1.2 | 2023年10月31日 |
---|---|
0.1.1 | 2023年10月31日 |
0.1.0 | 2023年10月30日 |
#1800 in 解析器实现
在gotcha中使用
22KB
463 行
功能
- 支持层次文件:文件源允许用户从多个文件加载配置
- 环境变量解析器:yaac可以解析像
${APP_KEY_NAME}
这样的占位符 - 路径变量解析器:yaac可以解析像
${parent.sub.key_name}
这样的占位符
安装
$ cargo add yaac
示例
#[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()?;
}
贡献
想要加入我们?查看我们的"贡献"指南并查看一些这些问题
许可证
本项目受MIT许可证(LICENSE-MIT或http://opensource.org/licenses/mit)许可。
依赖项
~2.9–4MB
~74K SLoC