#load #deserializer #file #transparently #io

serde-file-value

一个 Serde 反序列化器,可以透明地以字符串形式加载文件

1 个不稳定版本

0.1.0 2024年6月1日

解析器实现 中排名第 601

Download history • Rust 包仓库 177/week @ 2024-05-29 • Rust 包仓库 173/week @ 2024-06-05 • Rust 包仓库 265/week @ 2024-06-12 • Rust 包仓库 188/week @ 2024-06-19 • Rust 包仓库 152/week @ 2024-06-26 • Rust 包仓库

每月下载量 792
2 个 crate 中使用 (via witchcraft-server)

MIT/Apache

17KB
441

serde-file-value

文档

一个 Serde 反序列化器,可以透明地以字符串形式加载文件。

许可证

许可协议为以下之一

供您选择。

贡献

除非您明确声明,否则根据 Apache-2.0 许可证定义,您有意提交的任何贡献,均应按上述方式双许可,而不附加任何额外条款或条件。


lib.rs:

一个 Serde 反序列化器,可以透明地以字符串形式加载文件。

用法

假设我们有一个看起来像的文件

hunter2

以及一个看起来像的文件

{
    "secret_value": "${file:/mnt/secrets/my_secret}"
}
use std::{fs, io, path::Path};

use serde::Deserialize;

#[derive(Deserialize)]
struct Config {
    secret_value: String,
}

let config = fs::read("conf/config.json").unwrap();

let mut deserializer = serde_json::Deserializer::from_slice(&config);
let config: Config = serde_file_value::deserialize(&mut deserializer, |_, _| ()).unwrap();

assert_eq!(config.secret_value, "hunter2");

依赖项

~110–350KB