Modules
A pure Elixir implementation of Google's Common Expression Language (CEL).
A macro-based way to define CEL function libraries.
AST node definitions for the Common Expression Language.
Static type checker for CEL expressions.
Execution environment for CEL expressions. Holds variable bindings, custom function definitions, and an optional type adapter.
Exception raised by bang functions on CEL evaluation failure.
Tree-walk evaluator for CEL AST nodes.
Encoders extension for CEL — mirrors ext.Encoders() from cel-go.
Lists extension for CEL — mirrors ext.Lists() from cel-go.
Math extension for CEL — mirrors ext.Math() from cel-go.
Regex extension for CEL — mirrors ext.Regex() from cel-go.
Sets extension for CEL — mirrors ext.Sets() from cel-go.
Strings extension for CEL — mirrors ext.Strings() from cel-go.
Tokenizer for the Common Expression Language. Converts a CEL source string into a list of tokens.
Recursive descent parser for CEL. Transforms a token list into an AST.
A compiled CEL program — parse once, evaluate many times.
Proto well-known type support for CEL strict mode. Handles wrapper types, Value/Struct/ListValue, and TestAllTypes schema.
Protobuf binary codec for Any type support.
Type adapter for protobuf-elixir generated message structs.
Provides the ~CEL sigil for compile-time parsing of CEL expressions.
Behaviour for plugging custom type adapters into the CEL evaluator.
CEL duration type. Stores duration as microseconds internally. Supports Go-style duration string parsing and arithmetic.
CEL optional type — represents a value that may or may not be present.
CEL timestamp type. Wraps an Elixir DateTime (UTC). Supports RFC3339 parsing, arithmetic with durations, and accessor methods.