7个版本 (重大更新)
0.11.1 | 2023年12月4日 |
---|---|
0.11.0 | 2023年10月20日 |
0.10.0 | 2023年7月17日 |
0.9.0 | 2023年7月13日 |
0.0.1 | 2023年7月12日 |
#42 在 #config-toml
3,305 每月下载量
在 confik 中使用
35KB
743 行
confik
此crate提供创建配置/设置结构和从文件和环境读取它们的函数的宏。
示例
假设 config.toml
包含
host = "google.com"
username = "root"
并且环境包含
PASSWORD=hunter2
那么
use confik::{Configuration, EnvSource, FileSource};
#[derive(Debug, PartialEq, Configuration)]
struct Config {
host: String,
username: String,
#[confik(secret)]
password: String,
}
fn main() {
let config = Config::builder()
.override_with(FileSource::new("config.toml"))
.override_with(EnvSource::new().allow_secrets())
.try_build()
.unwrap();
assert_eq!(
config,
Config {
host: "google.com".to_string(),
username: "root".to_string(),
password: "hunter2".to_string(),
}
);
}
许可证
本项目可在以下任一许可证下使用:
- Apache License,版本2.0
- MIT许可证
任选其一。
依赖
~0.6–1MB
~24K SLoC