3 个版本
0.1.2 | 2023 年 5 月 17 日 |
---|---|
0.1.1 | 2023 年 5 月 17 日 |
0.1.0 | 2023 年 5 月 17 日 |
#10 in #initial
每月 42 次下载
9KB
163 代码行
figgy
一个用于管理配置文件的轻量级 Rust 库,支持分层目录、默认值和写入初始文件
示例
~/.config/myapp/myapp.config.json 或 ~/.myapp/myapp.config.json
{
"api_key": "1234abcdef!@#$%",
"api_version": 3
}
您的 Rust 程序
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
struct ApiKeysConfig {
api_key: String,
api_version: i16,
}
let config = ConfigFile::<ApiKeysConfig>::new("myapp.config.json")
.directory("~/.config/myapp/")
.directory("~/.myapp/")
.read();
默认配置
如果您想设置默认配置,可以使用 .default()
。如果想要在没有检测到配置文件时自动写入配置文件,可以使用 .create_file_if_not_found()
let config = ConfigFile::<PersonConfig>::new("myapp.config.json")))
.directory("~/.config/myapp/")
.directory("~/.myapp/")
.create_file_if_not_found()
.default(ApiKeysConfig {
api_key: "Super secret API key",
api_version: 25,
})
.read();
依赖项
~0.7–1.6MB
~34K SLoC