-
Notifications
You must be signed in to change notification settings - Fork 26
Support Fully Recursive Expression Resolution in ExpressionParser #575
Copy link
Copy link
Closed
Labels
Milestone
Description
Describe the feature
Currently, the ExpressionParser supports $[Outputs('Name').prop] with nested property/array access. However, it does not fully support $[Variables('Name').prop] and recursive expressions where nested $[...] can appear anywhere, including inside the key or inside the access path.
We want to extend the parser to handle any recursive scenario, such as:
$[Outputs(Variables('Config')).details.status]
$[Variables(Outputs('Config')).details.status]
$[Outputs(Outputs(Variables('Deep')).something).foo.bar]
$[Variables(Variables('Var1')).nested[0].value]
Expected Behavior
- Any $[...] inside a key or access path should be recursively evaluated until no unresolved expressions remain.
- Support nested Outputs and Variables in any order.
- Preserve full dynamic nested traversal: .prop[0].nested on objects, JSON strings, arrays.
- Return the final resolved value as a string or object as needed.
- Optionally handle circular references gracefully.
Reactions are currently unavailable