Skip to content

Support Fully Recursive Expression Resolution in ExpressionParser #575

@ziagham

Description

@ziagham

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.

Metadata

Metadata

Assignees

Labels

C#C# related codeenhancementNew feature or request

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions