You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Several parts of jq++ currently assume the processed document root is a JSON object
(map[string]any). That assumption is broader than issue #54 and should be removed
as an intermediate refactor before adding support for top-level YAML sequences.
Why this matters
Issue #54 surfaces this as a YAML problem, but the structural constraint is not
YAML-specific. The current pipeline expects an object root in multiple places:
file loading and decoding
inheritance resolution entry points
key-side/value-side processing
CLI processing/output path
As long as this assumption remains, support for top-level sequences is awkward to
add and likely to be incomplete.
Scope
Refactor the processing pipeline so the root document can be any JSON-compatible
value:
object
array
string
number
boolean
null
Object-only features such as $extends, $includes, and $local should remain
object-only and be applied only where semantically valid.
Expected outcome
After this refactor:
the loader and main processing flow accept non-object roots
traversal/evaluation logic works from arbitrary roots
inheritance directives still behave correctly for object nodes
Summary
Several parts of jq++ currently assume the processed document root is a JSON object
(
map[string]any). That assumption is broader than issue #54 and should be removedas an intermediate refactor before adding support for top-level YAML sequences.
Why this matters
Issue #54 surfaces this as a YAML problem, but the structural constraint is not
YAML-specific. The current pipeline expects an object root in multiple places:
As long as this assumption remains, support for top-level sequences is awkward to
add and likely to be incomplete.
Scope
Refactor the processing pipeline so the root document can be any JSON-compatible
value:
Object-only features such as
$extends,$includes, and$localshould remainobject-only and be applied only where semantically valid.
Expected outcome
After this refactor:
Related