Skip to main content

Module expr

Module expr 

Source
Expand description

Typed-atom transformation for haz query filter expressions.

The parser in haz_query_lang produces an Expr<RawAtom> whose atoms are still raw text. This module lifts atoms into the typed representations the engine consumes:

  • Expr<TagName> for --tags (QRY-003).
  • Expr<ProjectName> for --projects (QRY-003).
  • Expr<TaskName> for --tasks (QRY-003).

Each per-attribute parser is a pure RawAtom -> Result<T, AtomError> function. Combine with haz_query_lang::expr::Expr::try_map to lift a parsed expression in one step.

Path-pattern atoms (--inputs / --outputs) and relational atoms (--child-of, --parent-of, --depends-on, --ancestor-of) are handled by sibling modules.

Modulesยง

atom
Atom-validation errors shared across the per-attribute lifters in super.
identifier
Lifters that convert raw atoms into typed identifier values.
path
Lifter and intersection check for path-pattern atoms.
relational
Relational atoms for --child-of, --parent-of, --depends-on, and --ancestor-of.
shortcut
Boolean shortcut flags for haz query per QRY-005.