6 个版本
0.2.4 | 2024 年 4 月 20 日 |
---|---|
0.2.3 | 2024 年 4 月 19 日 |
0.2.2 | 2024 年 3 月 5 日 |
0.1.0 | 2024 年 2 月 27 日 |
1362 在 编码 中
每月 39 次下载
15KB
392 行
config-rs
管理配置文件的一个简单工具
计划
- 与 toml, yaml 等集成...
- 定期更新...
lib.rs
:
xcfg_rs 是一个简单的配置文件加载器和保存器。
示例
use serde::{Deserialize, Serialize};
use xcfg::File;
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)]
pub struct Test {
a: i32,
b: Vec<i32>,
sub: SubTest,
}
impl Default for Test {
fn default() -> Self {
Self {
a: 0,
b: vec![],
sub: SubTest::default(),
}
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)]
pub struct SubTest {
c: Vec<String>,
}
impl Default for SubTest {
fn default() -> Self {
Self { c: vec![] }
}
}
let test = Test {
a: 1,
b: vec![0, 1, 2],
sub: SubTest {
c: vec!["ab".to_string(), "cd".to_string()],
},
};
let path = "./test.toml";
let mut f = File::default().path(path);
f.inner = test.clone();
f.save().unwrap();
f.inner = Test::default();
f.load().unwrap();
assert_eq!(f.inner, test);
std::fs::remove_file(path).unwrap();
依赖项
~0.3–0.9MB
~18K SLoC