1个不稳定版本

0.1.0 2023年10月27日

#1101 in 编码

Download history • Rust 包仓库 12/week @ 2024-04-07 • Rust 包仓库 1/week @ 2024-04-14 • Rust 包仓库 10/week @ 2024-04-21 • Rust 包仓库 26/week @ 2024-04-28 • Rust 包仓库 104/week @ 2024-05-05 • Rust 包仓库 33/week @ 2024-05-12 • Rust 包仓库 57/week @ 2024-05-19 • Rust 包仓库 34/week @ 2024-05-26 • Rust 包仓库 42/week @ 2024-06-02 • Rust 包仓库 118/week @ 2024-06-09 • Rust 包仓库 136/week @ 2024-06-16 • Rust 包仓库 236/week @ 2024-06-23 • Rust 包仓库 17/week @ 2024-06-30 • Rust 包仓库 282/week @ 2024-07-07 • Rust 包仓库 540/week @ 2024-07-14 • Rust 包仓库 532/week @ 2024-07-21 • Rust 包仓库

1,371 每月下载量
2 crates 中使用

MIT OR Apache-2.0 OR EUPL-1.2

35KB
952 代码行

serde-envfile

基于dotenvyenvycrate构建,serde-envfile支持从文件(from_fileto_file)、字符串(from_strto_string)或应用程序的环境(from_envto_env)中序列化和反序列化环境变量。

安装 ☁️

扩展你的Cargo.toml配置文件,将serde-envfile作为一个依赖项包括在内,或者使用Cargo包管理器安装此包。

cargo add serde-envfile

使用 🔨

use serde::{Deserialize, Serialize};
use serde_envfile::{Error, from_str, to_string};

#[derive(Debug, Deserialize, Serialize)]
struct Test {
    hello: String,
}

fn main() -> Result<(), Error> {
    let env = "HELLO=\"WORLD\"";
    let test: Test = from_str(env)?;
    let env = to_string(&test)?;

    println!("{}", env);

    Ok(())
}

引入了Value类型,serde-envfile提供了一种更灵活的方式来处理环境变量。

use serde_envfile::{to_string, Error, Value};

fn main() -> Result<(), Error> {
    let mut env = Value::new();
    env.insert("hello".into(), "world".into());
    let env = to_string(&env)?;

    println!("{}", env);

    Ok(())
}

依赖项

~2–2.8MB
~47K SLoC