Checks whether a Flake is a transform stage rather than a property or marker step.
Checks whether a Flake is an aggregate transform stage.
Checks whether a Flake is a scalar (non-aggregating) transform stage.
Checks whether a Flake groups the query.
Checks whether a Flake requests any retrieval, at the node or anywhere beneath it.
Checks whether a Flake carries any constraint, ranking, or ordering slot, at the node or anywhere beneath it.
Checks whether a Flake carries a filtering constraint, at the node or anywhere beneath it.
Checks whether a Flake carries an existence-implying filter constraint.
Checks whether a Flake's membership constraints name at least one non-null value.
Checks whether a Flake's membership constraints include a localised dictionary option.
Checks whether a Flake's membership constraints include an explicit null option.
Checks whether a flake is projected by a query: its drain carries a projection alias.
Collects every projected flake of a Flake into a flat list.
Lists a flake's own transform stages.
Lists a flake's own property branches.
Collects every projection in a Flake into an alias-keyed index.
Collects the grouping keys of a Flake.
Collects the focus keys of a Flake.
Collects the sort keys of a Flake, by ascending precedence.
Slices a node's entry-major branch index down to the branches one variant shape contributes.
A shape and its optional retrieval model or collection query, represented as a single traversal tree.
A Shape and its retrieval Model or collection Query scatter what to fetch across the structure as independent probes (property requests, constraints, transforms), leaving the collective traversal that satisfies them implicit. A flake makes it explicit, reorganising the probes into one tree a shape-driven processor walks directly instead of correlating raw shape with raw input at every step.
createFlake produces three flavours of the tree, one per overload:
Every node, the root included, is a Flake located by its path along the property axis and its pipe along the transform axis, and sharing the same constraint, ordering, and projection slots. A resource node branches along both axes; a non-resource node is a bare leaf: