3个不稳定版本

0.2.0 2023年8月31日
0.1.1 2023年8月24日
0.1.0 2023年8月24日

#9 in #inner

MPL-2.0许可证

29KB
476

yaml_extras

与yaml相关的杂项实用函数。

重构

如果您使用YAML作为配置文件,您可能希望允许使用以下内容

compiler:
    command: cargo build

compiler.command: cargo build

(或者不。我知道我需要那个。无论如何。)

函数 restructure_maprestructure_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