- Arithmetic expressions
- Bitwise expressions
- Comparison expressions
- Functional expressions
- Iterator expressions
- Literal expressions
- Logical expressions
- Text expressions
Syntax:
lhs % rhs
Parameters:
lhs
:number
Left hand operandrhs
:number
Right hand operand
Syntax:
lhs - rhs
Parameters:
lhs
:number
Left hand operandrhs
:number
Right hand operand
Syntax:
-operand
Parameters:
operand
:number
Operand
Numeric division
Syntax:
lhs / rhs
Parameters:
lhs
:number
Left hand operandrhs
:number
Right hand operand
Numeric exponentiation
Syntax:
lhs ** rhs
Parameters:
lhs
:number
Left hand operandrhs
:number
Right hand operand
Numeric addition/String concatenation
Syntax:
lhs + rhs
Parameters:
lhs
:number|string
Left hand operandrhs
:number|string
Right hand operand
Return type: number|string
Numeric multiplication
Syntax:
lhs * rhs
Parameters:
lhs
:number
Left hand operandrhs
:number
Right hand operand
Syntax:
lhs << rhs
Parameters:
lhs
:integer
Left hand operandrhs
:integer
Right hand operand
Syntax:
lhs >> rhs
Parameters:
lhs
:integer
Left hand operandrhs
:integer
Right hand operand
Syntax:
lhs & rhs
Parameters:
lhs
:integer
Left hand operandrhs
:integer
Right hand operand
Syntax:
lhs | rhs
Parameters:
lhs
:integer
Left hand operandrhs
:integer
Right hand operand
Syntax:
lhs ^ rhs
Parameters:
lhs
:integer
Left hand operandrhs
:integer
Right hand operand
Syntax:
~operand
Parameters:
operand
:integer
Operand
Syntax:
with(args...)
Parameters:
with
:any
Lambda callableargs
:args
Function arguments
Syntax:
with.member(...args)
Parameters:
with
:any
Objectmember
:member
Member nameargs
:args
Function arguments
Syntax:
lhs < rhs
Parameters:
lhs
:any
Left hand operandrhs
:any
Right hand operand
Syntax:
lhs == rhs
Parameters:
lhs
:any
Left hand operandrhs
:any
Right hand operand
Syntax:
lhs <=> rhs
Parameters:
lhs
:any
Left hand operandrhs
:any
Right hand operand
Syntax:
lhs >= rhs
Parameters:
lhs
:any
Left hand operandrhs
:any
Right hand operand
Syntax:
lhs > rhs
Parameters:
lhs
:any
Left hand operandrhs
:any
Right hand operand
Syntax:
lhs != rhs
Parameters:
lhs
:any
Left hand operandrhs
:any
Right hand operand
Syntax:
lhs <= rhs
Parameters:
lhs
:any
Left hand operandrhs
:any
Right hand operand
Ternary operator
Syntax:
predicate ? then : otherwise
Parameters:
predicate
:boolean
Left hand operandthen
:expression
Evaluated if trueotherwise
:expression
Evaluated if false
Syntax:
with.member
Parameters:
with
:any
Left hand operandmember
:collection
Right hand operand
Return the first non-null operand
Syntax:
lhs ?? rhs
Parameters:
lhs
:any
Left hand operandrhs
:any
Right hand operand
Set membership
Syntax:
lhs in rhs
Parameters:
lhs
:any
Left hand operandrhs
:collection
Right hand operand
Syntax:
Parameters:
Syntax:
(args...) -> yield
Parameters:
args
:string
yield
:expression
Syntax:
lhs[rhs]
Parameters:
lhs
:collection|object
Left hand operandrhs
:any
Right hand operand
Call the provided expression with additional bound variables
Syntax:
Parameters:
Create an iterator
Syntax:
key:value of expr
Parameters:
key
:identifier
Name-binding for keyvalue
:identifier
Name-binding for valueexpr
:map
Map to iterate
value of expr
Parameters:
value
:identifier
Name-binding for valueexpr
:collection
Collection to iterate
Universal Quantification: Returns true if the provided predicate is true for all iterator results
Syntax:
lhs for all rhs
Parameters:
lhs
:expression
Predicaterhs
:iterator
Iterator
Existential Quantification: Returns true if the provided predicate is true for any iterator result
Syntax:
lhs for any rhs
Parameters:
lhs
:expression
Predicaterhs
:iterator
Iterator
Create a set from an iterator
Syntax:
[yield for iter]
Parameters:
yield
:expression
Value-yielding expressioniter
:iterator
Iterator
Create an object from an iterator
Syntax:
{yieldKey:yieldValue for iter}
Parameters:
yieldKey
:expression
Key-yielding expressionyieldValue
:expression
Value-yielding expressioniter
:iterator
Iterator
Create an array from an iterator
Syntax:
[yield for iter]
Parameters:
yield
:expression
Value-yielding expressioniter
:iterator
Iterator
Filter an iterator using a predicate
Syntax:
lhs where rhs
Parameters:
lhs
:iterator
Iteratorrhs
:predicate
Expression to be evaluated for each iterator
Create an array by providing values
Syntax:
[args...]
Parameters:
args
:expression
Array values
Parameters:
Create a set by providing values
Syntax:
{args...}
Parameters:
args
:expression
Array values
Create an object by providing keys and values
Syntax:
Parameters:
Logical Disjunction
Syntax:
Parameters:
lhs || rhs
Parameters:
lhs
:any
Left hand operandrhs
:any
Right hand operand
Parameters:
Logical Complement
Syntax:
!operand
Parameters:
operand
:any
Operand
Logical Conjunction
Syntax:
Parameters:
lhs && rhs
Parameters:
lhs
:any
Left hand operandrhs
:any
Right hand operand
Parameters:
Case-insensitive wildcard match.
The supported syntax is as-per standard SQL with ESCAPE \
For example, % matches any number of characters and _ matches any single character
Syntax:
lhs ILIKE rhs
Parameters:
lhs
:string
Left hand operandrhs
:string
Right hand operand
Syntax:
Parameters:
Syntax:
Parameters:
Syntax:
Parameters:
Syntax:
Parameters:
Syntax:
Parameters:
Case-sensitive wildcard match.
The supported syntax is as-per standard SQL with ESCAPE \
For example, % matches any number of characters and _ matches any single character
Syntax:
lhs LIKE rhs
Parameters:
lhs
:string
Left hand operandrhs
:string
Right hand operand