#yaml #hash-map #merge #capabilities #value #key #merge-update

merge-yaml-hash

具有合并/更新功能的YAML哈希

6个版本 (3个重大更新)

0.4.0 2024年7月31日
0.3.0 2023年11月21日
0.2.0 2019年10月18日
0.1.3 2019年10月15日

671编码 中排名

Download history 94/week @ 2024-04-14 450/week @ 2024-04-21 130/week @ 2024-04-28 40/week @ 2024-05-05 27/week @ 2024-05-12 282/week @ 2024-05-19 24/week @ 2024-05-26 160/week @ 2024-06-02 197/week @ 2024-06-09 89/week @ 2024-06-16 52/week @ 2024-06-23 321/week @ 2024-06-30 26/week @ 2024-07-07 42/week @ 2024-07-14 2/week @ 2024-07-21 251/week @ 2024-07-28

每月327次 下载
3 个crate(2个直接) 中使用

MIT 许可证

13KB
218 代码行

关于

具有合并/更新功能的YAML哈希

包装在 yaml_rust::yaml::Hash 之上,它是 linked_hash_map::LinkedHashMap 的类型别名

注意:强烈建议使用 yaml-hash 而不是此crate,因为它使用 yaml-rust2 而不是未维护的 yaml-rust。此外,它还提供额外的功能,包括通过点键递归获取值。

示例

use merge_yaml_hash::{MergeYamlHash, Yaml};

let mut hash = MergeYamlHash::new();

// Merge YAML data from strings
hash.merge("apple: 1\nbanana: 2");
hash.merge("cherry:\n  sweet: 1\n  tart: 2");
assert_eq!(
    hash.to_string(),
    "apple: 1\nbanana: 2\ncherry:\n  sweet: 1\n  tart: 2",
);

// Merge YAML data from file
// * Note that insertion order is maintained
hash.merge("tests/c.yaml"); // "banana: 3"
assert_eq!(
    hash.to_string(),
    "apple: 1\nbanana: 3\ncherry:\n  sweet: 1\n  tart: 2",
);

更新日志

  • 0.1.0 (2019-10-15): 首次发布
  • 0.1.1-3 (2019-10-15): 小型修复
  • 0.2.0 (2019-10-18): 将 data 字段公开
  • 0.3.0 (2023-11-21): 解决 问题 #1;更新版本和依赖项;应用clippy建议;现代化
  • 0.4.0 (2024-07-31): 添加推荐使用 yaml-hash 而不是此crate,因为它使用 yaml-rust2 而不是未维护的 yaml-rust;修复makefile;修复更新日志;更新依赖项

依赖项

~185KB