4 个版本
0.2.2 | 2022 年 4 月 21 日 |
---|---|
0.2.1 | 2022 年 4 月 11 日 |
0.2.0 | 2022 年 3 月 8 日 |
0.1.0 | 2022 年 3 月 6 日 |
#876 in 配置
每月 28 下载
在 confpiler_cli 中使用
33KB
535 代码行
Confpiler (crate)
此 crate 提供了一种机制,可以将有序的配置文件集“编译”成一个适合导出到环境变量的单个、扁平化的表示形式。
转换
## default.yaml
foo:
bar: 10
baz: false
hoof: doof
## production.yaml
foo:
baz: true
成如下形式
"FOO__BAR": "10"
"FOO__BAZ": "false"
"HOOF": "doof"
通过
use confpiler::FlatConfig;
let (conf, warnings) = FlatConfig::builder()
.add_config("foo/default")
.add_config("foo/production")
.build()
.expect("invalid config");
所有值都转换为字符串,简单数组被折叠为分隔字符串(默认分隔符为 ,
)。
此功能不支持包含其他数组和映射等更复杂值的数组。
目前支持以下格式
- JSON
- TOML
- YAML
- INI
依赖项
~2.1–3MB
~63K SLoC