#configuration #platform #store #having #directories #locally #config-directory

configstore

本地存储应用程序配置的库,无需担心目录或平台

4个版本

0.1.3 2020年5月25日
0.1.2 2020年5月25日
0.1.1 2020年5月18日
0.1.0 2020年5月18日

#583 in 配置

Download history 15/week @ 2024-03-31 1/week @ 2024-04-07 4/week @ 2024-05-12 1/week @ 2024-05-19 22/week @ 2024-06-02 3/week @ 2024-06-09 23/week @ 2024-06-16 7/week @ 2024-06-23 1/week @ 2024-06-30 23/week @ 2024-07-07

54 每月下载量
3 个crates中使用 (通过 update-notifier)

MPL-2.0 许可证

11KB
116

Configstore crates.io 状态

Configstore是一个库,允许您本地存储配置,无需担心目录或平台

用法

要使用configstore,请在您的Cargo.toml中添加以下内容

[dependencies]
configstore = "0.1"

初始化Configstore

use configstore::{Configstore, AppUI};
fn main() {
    let config_store = Configstore::new("myApp", AppUI::CommandLine).unwrap();
}

设置和获取值

Configstore支持任何实现了DeserializeSerialize的值

use serde_derive::*;
use configstore::{Configstore, AppUI};

#[derive(Deserialize, Serialize, Eq, PartialEq, Debug, Clone)]
struct Value {
    text: String,
    num: u32
}

let config_store = Configstore::new("myApp", AppUI::CommandLine).unwrap();

let value = Value {text: "hello world".to_string(), num: 4343};
config_store.set("key", value.clone()).unwrap();

let same_value: Value = config_store.get("key").unwrap();
assert_eq!(value, same_value);

Configstore将根据platform-dirs在您的平台本地配置目录下存储配置文件

贡献

欢迎所有贡献,请随意提交问题或甚至拉取请求 🤝

许可证

本项目采用Mozilla Public License 2.0许可

依赖项

~0.8–2MB
~38K SLoC