CRUDUI PHP API

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).
On this page

Search results