cel-go
cel-go copied to clipboard
Fast, portable, non-Turing complete expression evaluation with gradual typing (Go)
This PR fixes instances where cost estimation is used on expressions where a `CallExpr` is nested inside of another `CallExpr` and `math.MaxUint64` is incorrectly returned. The test case included with...
**Describe the bug** Directly comparing a pair of Timestamps or Durations using either `==` or `!=` will result in an expression with an estimated cost of math.MaxUInt. Other operators (`>`,...
**Feature request checklist** - [X] There are no issues that match the desired change - [X] The change is large enough it can't be addressed with a simple Pull Request...
cel-go allows for dispatch either by function name or overload ID. For example, given ``` cel.Declarations( decls.NewFunction("isSorted", decls.NewParameterizedInstanceOverload("list_a_is_sorted_bool", []*exprpb.Type{decls.NewListType(paramA)}, decls.Bool, typeParamAList), ), ``` What works: CEL will dispatch to `functions.Overload{Operator:...
**Feature request checklist** - [x] There are no issues that match the desired change - [ ] The change is large enough it can't be addressed with a simple Pull...
These changes introduce : - a new interface `functions.Overloader` for keeping compatiblity with already defined `functions.Overload` structures - a new structure `functions.ContextOverload` for defining context capable overloads - the extension...
Add basic type support to the repl. Add ability to load a file descriptor set from file to introduce types in the REPL. Bump rules_go, gazelle, and proto versions. Do...
Hello, I couldn't find any way of binding bare Go values, especially Go structures, in CEL declarations. My understanding is that this is limited to protobufs only so far. Is...
The docgen tool should generate documentation of the identifiers and functions supported within an environment (`checker/env.go`). The tool should probably generate markdown.
Clean up tasks: - Unify runtime and estimated cost support for computing costs of functions/operations - Share common code internally - Expose a shared API? - Minor code clean up:...