google / cel-go

Fast, portable, non-Turing complete expression evaluation with gradual typing (Go)
https://cel.dev
Apache License 2.0
2.3k stars 224 forks source link

ext.NativeTypes: Recursively add sub-types #892

Closed alvaroaleman closed 9 months ago

alvaroaleman commented 10 months ago

This change extends the NativeTypes provider to not only add the passed-in type but also all of its sub-types in order to simplify using it in the context of nested structs.

Fixes https://github.com/google/cel-go/issues/885

Pull Requests Guidelines

See CONTRIBUTING.md for more details about when to create a GitHub [Pull Request][1] and when other kinds of contributions or consultation might be more desirable.

When creating a new pull request, please fork the repo and work within a development branch.

Commit Messages

Background on why the change is being made with additional detail on consequences of the changes elsewhere in the code or to the general functionality of the library. Multiple paragraphs may be used, but please keep lines to 72 characters or less.



## Reviews

* Perform a self-review.
* Make sure the Travis CI build passes.
* Assign a reviewer once both the above have been completed.

## Merging

* If a CEL maintaner approves the change, it may be merged by the author if
  they have write access. Otherwise, the change will be merged by a maintainer.
* Multiple commits should be squashed before merging.
* Please append the line `closes #<issue-num>: description` in the merge message,
  if applicable.

[1]:  https://help.github.com/articles/about-pull-requests
TristonianJones commented 9 months ago

/gcbrun

TristonianJones commented 9 months ago

/gcbrun