Modules
The Common Expression Language (CEL): parse, type-check and evaluate CEL expressions against variables and messages.
A type-checked CEL expression, from CEL.check/2.
What a CEL expression may use: its variables and their types, custom
functions, and the message and enum types of its CEL.TypeProvider. The
standard CEL functions and macros, and CEL's own types, are always
available.
Unified error raised by CEL evaluation, including protovalidate cel rules.
A read-only view of a checked CEL expression, in the spirit of cel-go's
common/ast. Get one with CEL.Checked.expr/1.
A function call, f(args) or target.f(args).
CEL's loop, which comprehension macros expand to. It appears directly in the tree only for a parsed expression that has one without its macro, such as one from another CEL implementation.
A literal: 1, 2u, 'a', b'a', true, null, ....
A name, resolved by the checker.
A list literal, [a, b, ?c].
A macro, as written: l.all(x, p), l.exists(x, p), l.exists_one(x, p),
l.map(x, f), l.map(x, p, f), l.filter(x, p), the two-variable forms
such as m.all(k, v, p), cel.bind(v, init, body), o.optMap(v, f) and
o.optFlatMap(v, f).
A map literal, {k: v, ?k2: v2}.
A message literal, pkg.Message{field: value, ?other: maybe}.
A field selection: operand.field, or a map lookup written the same way.
A field of a message type, as a CEL.TypeProvider describes it.
A custom CEL function, registered with CEL.Env.build/1's :functions
option. See the "Custom CEL functions" guide.
One signature of a CEL.Function, and the code that evaluates it.
Option failure in a CEL entry point: the caller passed options it does not
accept, a known option carried an invalid value, or options were not a
keyword list.
A checked CEL expression together with the CEL.Env it was checked
against, ready to evaluate any number of times.
CEL types, in the shorthand CEL uses wherever it takes or returns a
type: variable declarations in CEL.Env.build/1, overload signatures in
CEL.Function.Overload, and the types of CEL.Expr nodes and
CEL.Checked.type/2.
The message and enum types an environment knows, and how to read and build their values.
The result of evaluating a CEL expression whose outcome depends on inputs
that are not known, in the spirit of cel-go's types.Unknown.
CEL values, as evaluation returns them and as variables can be bound.