feat: Evaluate JSON Pointers in Policy Expressions #418
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Relates to #371
This PR replaces the previous preprocessor-based implementation of JSON Pointers with one that natively runs in the Policy Expression
Executor
.It uses the
ExprMutator
visitor trait to evaluate JSON Pointers in two steps: first, pointers are looked up but the original pointer string is preserved. Then, the looked-up value is inserted. This structure is meant to allow for better error messages and user-facing explanations of why a Policy Expression was evaluated a given way.