Support for conditional expressions on workflows. #666
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.
With this PR one can use conditional expressions and comparisons inside the workflow code, which will be parsed to
ConditionalExpressionSyntaxNode
andCompareSyntaxNode
respectively.This removes the need for having to use/define a function just to write an if/else expression, so it makes workflows simpler to explain.
Also, by parsing the conditional expressions into a node, we can safely compute only the branch of the conditional that is needed, which is nice.
I have rewritten some plots to use this.
As an example, now this is valid:
and the diagram of the workflow created looks like this: