5 个不稳定版本

0.2.1 2022年11月29日
0.2.0 2020年4月2日
0.1.1 2019年6月4日
0.1.0 2019年5月28日
0.0.1 2019年5月14日

173模板引擎

Download history • Rust 包仓库 629/week @ 2024-03-13 • Rust 包仓库 490/week @ 2024-03-20 • Rust 包仓库 664/week @ 2024-03-27 • Rust 包仓库 673/week @ 2024-04-03 • Rust 包仓库 716/week @ 2024-04-10 • Rust 包仓库 646/week @ 2024-04-17 • Rust 包仓库 566/week @ 2024-04-24 • Rust 包仓库 640/week @ 2024-05-01 • Rust 包仓库 411/week @ 2024-05-08 • Rust 包仓库 592/week @ 2024-05-15 • Rust 包仓库 473/week @ 2024-05-22 • Rust 包仓库 404/week @ 2024-05-29 • Rust 包仓库 484/week @ 2024-06-05 • Rust 包仓库 675/week @ 2024-06-12 • Rust 包仓库 390/week @ 2024-06-19 • Rust 包仓库 438/week @ 2024-06-26 • Rust 包仓库

2,108 每月下载量
用于 6 crate

MIT/Apache

8KB
106

envsubst

crates.io Documentation

一个简单的 Rust 库,用于变量替换。

此库提供字符串操作的帮助函数,从上下文 环境 映射中获取值,并替换所有匹配的占位符。

其名称和逻辑类似于 GNU 工具 envsubst,但仅支持花括号定界的变量(即 ${foo}),并从变量的显式映射中获取替换值。

许可证

许可协议为以下之一

任选其一。


lib.rs:

字符串模板中的变量替换。

此库提供字符串操作的帮助函数,从上下文 环境 映射中获取值,并替换所有匹配的占位符。

其名称和逻辑类似于 GNU 工具 envsubst,但仅支持花括号定界的变量(即 ${foo}),并从变量的显式映射中获取替换值。

示例

let base_url = "${protocol}://${hostname}/${endpoint}";
assert!(envsubst::is_templated(base_url));

let mut context = std::collections::HashMap::new();
context.insert("protocol".to_string(), "https".to_string());
context.insert("hostname".to_string(), "example.com".to_string());
context.insert("endpoint".to_string(), "login".to_string());
assert!(envsubst::validate_vars(&context).is_ok());

let final_url = envsubst::substitute(base_url, &context).unwrap();
assert!(!envsubst::is_templated(&final_url));
assert_eq!(final_url, "https://example.com/login");

依赖项

~305–770KB
~18K SLoC