Why
Configuration authors need to combine layered YAML streams without losing representation details such as tags, complex keys, anchors, aliases, recursive graphs, or mapping order.
What
Add Merge-Yaml so two or more complete YAML streams can be merged deterministically. Later streams have higher precedence, document counts must match, and the result is one normalized YAML 1.2 stream.
Acceptance criteria
- Accept two or more complete YAML streams through
-InputObject [string[]] or the pipeline; each array element or pipeline record is one stream
- Merge documents pairwise by zero-based document index and reject empty streams or differing positive document counts with classified errors
- Merge compatible mappings recursively by YAML structural key equality while retaining base entry order and appending new overlay keys
- Support
Replace, Append, and Unique sequence policies; Replace and Error conflict policies; and Replace and Ignore null policies
- Preserve selected representation nodes, standard and unknown tags, complex keys, anchors, aliases, repeated nodes, cycles, and ordinary
<< mapping data without object projection or YAML 1.1 merge expansion
- Enforce parser, cloning, equality, merge, and result resource budgets
- Emit exactly one deterministic LF-only YAML string with no final newline
- Include complete help, README and example usage, package export and generated documentation coverage, built-artifact tests, and corpus-backed smoke coverage
Why
Configuration authors need to combine layered YAML streams without losing representation details such as tags, complex keys, anchors, aliases, recursive graphs, or mapping order.
What
Add
Merge-Yamlso two or more complete YAML streams can be merged deterministically. Later streams have higher precedence, document counts must match, and the result is one normalized YAML 1.2 stream.Acceptance criteria
-InputObject [string[]]or the pipeline; each array element or pipeline record is one streamReplace,Append, andUniquesequence policies;ReplaceandErrorconflict policies; andReplaceandIgnorenull policies<<mapping data without object projection or YAML 1.1 merge expansion