pub fn merge_tapes<S: TapeSource, T: TapeSource>(
base: &S,
overlay: &T,
) -> Result<Value>Expand description
Merge two tapes using RFC 7396 (JSON Merge Patch) semantics
The overlay tape’s values take precedence:
nullvalues in overlay delete keys from target- Objects are recursively merged
- Non-objects replace existing values
§Example
ⓘ
let base = parse_yaml("name: Alice\nage: 30");
let overlay = parse_json(r#"{"name": "Bob", "city": "NYC"}"#);
let result = merge_tapes(&base, &overlay)?;
// {"name": "Bob", "age": 30, "city": "NYC"}§Errors
Returns an error if either tape cannot be converted to a value.