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