3个不稳定版本
0.2.0 | 2023年8月31日 |
---|---|
0.1.1 | 2023年8月24日 |
0.1.0 | 2023年8月24日 |
#9 in #inner
29KB
476 行
yaml_extras
与yaml相关的杂项实用函数。
重构
如果您使用YAML作为配置文件,您可能希望允许使用以下内容
compiler:
command: cargo build
和
compiler.command: cargo build
(或者不。我知道我需要那个。无论如何。)
函数 restructure_map
和 restructure_from_str
正是为此而设计的,将点分隔符键转换为内部字段
let s1 = r#"
compiler:
command: cargo build
"#;
let s2 = r#"
compiler.command: cargo build
"#;
let v1: serde_yaml::Value = serde_yaml::from_str(s1).unwrap();
let v2 = yaml_extras::restructure_from_str(&s2, true).unwrap();
assert_eq!(v1, v2);
许可证:MPL-2.0
lib.rs
:
与yaml相关的杂项实用函数。
重构
如果您使用YAML作为配置文件,您可能希望允许使用以下内容
compiler:
command: cargo build
和
compiler.command: cargo build
(或者不。我知道我需要那个。无论如何。)
Restructurer
方法正是为此而设计的,将点分隔符键转换为内部字段
let s1 = r#"
compiler:
command: cargo build
"#;
let s2 = r#"
compiler.command: cargo build
"#;
let v1: serde_yaml::Value = serde_yaml::from_str(s1)?;
let v2 = yaml_extras::Restructurer::new()
.apply_str(&s2)?;
assert_eq!(v1, v2);
依赖项
~2–2.8MB
~59K SLoC