Context
PowerShell users often want YAML mappings as unordered Hashtable values rather than ordered dictionaries or objects. This is a projection capability, not a YAML conformance requirement, but it affects how rich objects flow through the pipeline.
Official YAML 1.2.2 reference:
Current State
The module can project mappings as objects or insertion-ordered dictionaries. There is no dedicated unordered hashtable projection mode.
Objective
Add an idiomatic PowerShell projection option for unordered hashtables while preserving existing object and ordered-dictionary behavior.
PowerShell Design Considerations
- Parameter sets should make object, ordered dictionary, unordered hashtable, and future typed projection choices mutually clear.
- Hashtable projection should be useful in normal pipeline workflows and splatting scenarios.
- Complex or non-string YAML keys need explicit behavior because ordinary PowerShell hashtables can technically hold object keys but may surprise users.
- Do not use hashtable projection to bypass duplicate representation-key validation.
Tasks
Benefits
- Better matches common PowerShell authoring patterns.
- Makes projection choice explicit and discoverable.
- Avoids forcing users to convert ordered dictionaries manually.
Acceptance Criteria
Related
- Spec folder:
spec/Hashtable-Projection.md
Context
PowerShell users often want YAML mappings as unordered
Hashtablevalues rather than ordered dictionaries or objects. This is a projection capability, not a YAML conformance requirement, but it affects how rich objects flow through the pipeline.Official YAML 1.2.2 reference:
spec/Hashtable-Projection.mdCurrent State
The module can project mappings as objects or insertion-ordered dictionaries. There is no dedicated unordered hashtable projection mode.
Objective
Add an idiomatic PowerShell projection option for unordered hashtables while preserving existing object and ordered-dictionary behavior.
PowerShell Design Considerations
Tasks
Benefits
Acceptance Criteria
Hashtablewhen the caller requests it.Related
spec/Hashtable-Projection.md