5个版本

0.1.2 2023年10月31日
0.1.1 2023年10月31日
0.1.0 2023年10月30日

#1800 in 解析器实现


gotcha中使用

MIT许可证

22KB
463

yaac

又一个用于Web应用的配置库

GitHub Workflow Status (with branch) Crates.io Crates.io (recent) docs.rs Crates.io

功能

  • 支持层次文件:文件源允许用户从多个文件加载配置
  • 环境变量解析器: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-MIThttp://opensource.org/licenses/mit)许可。

依赖项

~2.9–4MB
~74K SLoC