Closed
Conversation
Contributor
Author
|
Closing as we agreed long ago that we'd prefer a utility to manipulate the AST directly (rather than manipulating strings, which don't have type safety). This work is being tracked in #56748 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
[skip-ci]
The recent changes in #33773 got me thinking that until each saved vis object is stored as a true expression, our
build_pipelineutility for converting a stored vis into an expression string is going to become increasingly complex and error prone, especially as we continue refactoring each of the functions.I thought that perhaps we could reduce our likelihood for errors and eliminate some duplication by having a chainable helper class that could be used to help build the expression string. This a quick POC I put together; if it feels like we want to move in this direction, I will update this PR with tests & convert everything over.
Basically the class takes care of the following:
if (foo) pipeline += footype of checks in the code that this would eliminate the need forMaybe a utility like this would even have applications in other places, like unit tests? idk
cc @ppisljar