Skip to content

Replace exprpb.Type references with cel.Type #568

@TristonianJones

Description

@TristonianJones

Feature request checklist

  • There are no issues that match the desired change
  • The change is large enough it can't be addressed with a simple Pull Request
  • If this is a bug, please file a Bug Report.

Change
The top-level API currently emphasizes using cel.Type values rather than exprpb.Type
values in an effort to reduce the protobuf surface area visible on the cel-go APIs. However,
the ref.TypeProvider currently exposes a method to FindType and FindFieldType which
return an exprpb.Type. This interface is used by a handful of customers to extend the
CEL type-system, and creates a disconnect between the top-level API and the extensions.

The change should introduce a new TypeProvider which can wrap the old style and produce
cel.Type values from these methods for use within the type-checker and runtimes.

Alternatives considered
Provide new methods on the existing TypeProvider interface.

  • Functional, but would be a breaking API change for existing users.
  • Introduces a more complex migration burden of having to support both the old and new-style methods.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions