Expr
Table of Contents
Classes
- BinaryNode
- Binary operation: logical (&& ||) or comparison (== != > >= < <=).
- ConditionalValue
- The value a conditional parameter resolves to in a row context: a condition map selects the
value of its first matching condition, else its `true` default, else null (a condition that
cannot be evaluated does not match); a ternary resolves to its branch value and stays the
literal string when it cannot be evaluated; a valid condition expression resolves to its
value, or false when it cannot be evaluated; any other string, and any other value, is a
literal.
- ConditionMap
- Condition-map resolver (expressions.md §8). A thin wrapper over the
expression engine — NOT a separate parser.
- Evaluator
- CRUDUI expression evaluator (expressions.md §5/§6/§7, JS PathResolver parity).
- Expression
- Public facade for the CRUDUI expression engine: string → tokens → AST → value.
- FieldPath
- The data path of the value a rule validates, with the positions of its row keys, so a relative
field reference treats a row as one level (expressions.md, "Evaluation").
- GroupNode
- Parenthesized group wrapping an inner expression. A group parses only down to
the or-level (JS parity): a bare ternary inside parentheses is rejected.
- InNode
- Membership test: value [not] in list. `list` is a Literal-node array; whether
the source used brackets ([a,b]) or not (a,b) is NOT preserved in the AST.
- Lexer
- CRUDUI expression lexer (expressions.md §1, JS Lexer parity).
- LiteralNode
- Literal value. valueType is one of string|number|boolean|null. An unquoted
identifier on a comparison right-hand side or in an `in` list is a string
literal whose value is the identifier text (e.g. `.country == US` → 'US').
- Node
- Base for every CRUDUI expression AST node (expressions.md §4).
- ParseError
- Raised by Lexer/Parser on malformed input. Carries the human message only;
the cross-language contract compares tokens/AST/values for VALID expressions,
so error position detail is intentionally not part of the fixture surface.
- Parser
- CRUDUI expression parser: Token[] -> AST (expressions.md §3/§4, JS Parser parity).
- PathNode
- Path reference. relative=false → resolved from the data root; relative=true →
resolved from parentPath (currentPath minus the field name) with levelsUp
additional parent ascents. segments are identifier|wildcard|index.
- PathSegment
- A single path segment: identifier (field name), wildcard (*), or index
(numeric array index). The index value serializes as a number to match the
JS reference's segment shape ({type:'index', value:number}).
- TernaryNode
- Ternary conditional: condition ? trueValue : falseValue.
- Token
- A single lexical token. `value` is the raw source text; `literal` is the
parsed value for value tokens (string content, number int/float, bool, null,
or the dot count for DOT_DOT) and null otherwise.
- UnaryNode
- Unary logical negation: ! operand.
- Visibility
- `design.show` resolves like a conditional parameter in the field's row context
({@see ConditionalValue}), and only a resolved `false` hides the field: a field without
`design.show`, a condition map that selects nothing and a string that is not a valid
expression leave it visible. The validator and the form both use this resolution, so a server
reaches the visibility the form showed.
Enums
- TokenType
- Token type tags (expressions.md §1, JS types.ts TokenType parity).