Expand description
§About
YAML Hash with merge/update capabilities
Wrapper around yaml_rust::yaml::Hash, which is a type alias for
linked_hash_map::LinkedHashMap
NOTE: Highly recommend using yaml-hash instead of this crate since it uses yaml-rust2
versus the unmaintained yaml-rust.
Also, it provides additional functionality, including recursive get value via dotted key.
§Example
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",
);§Changelog
- 0.1.0 (2019-10-15): Initial release
- 0.1.1-3 (2019-10-15): Minor fixes
- 0.2.0 (2019-10-18): Make
datafield public - 0.3.0 (2023-11-21): Resolve issue #1; update edition and dependencies; apply clippy suggestions; modernize
- 0.4.0 (2024-07-31): Add recommendation to use
yaml-hashinstead, which usesyaml-rust2versus unmaintainedyaml-rust; fix makefile; fix changelog; update dependencies
Structs§
- Merge
Yaml Hash - YAML Hash with merge/update capabilities
Enums§
- Yaml
- A YAML node is stored as this
Yamlenumeration, which provides an easy way to access your YAML document.