API Reference CEL v#0.2.0

Copy Markdown View Source

Modules

CEL

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.