Class WhenClauseEvaluator
- Namespace
- FlowOrchestrator.Core.Expressions
- Assembly
- FlowOrchestrator.Core.dll
Evaluates the When clauses on a step's RunAfterCollection entries
against the current run state, combining results with AND semantics.
public sealed class WhenClauseEvaluator
- Inheritance
-
WhenClauseEvaluator
- Inherited Members
Remarks
Reuses StepOutputResolver for @steps() resolution and
FlowOrchestrator.Core.Expressions.TriggerExpressionResolver for @triggerBody()/@triggerHeaders().
Constructors
WhenClauseEvaluator(IOutputsRepository, IFlowRunStore)
Initialises the evaluator with the storage dependencies needed for LHS resolution.
public WhenClauseEvaluator(IOutputsRepository outputsRepository, IFlowRunStore runStore)
Parameters
outputsRepositoryIOutputsRepositoryrunStoreIFlowRunStore
Methods
EvaluateAsync(IExecutionContext, IFlowDefinition, StepMetadata)
Evaluates every When clause on metadata's RunAfter entries.
public ValueTask<WhenEvaluationTrace?> EvaluateAsync(IExecutionContext ctx, IFlowDefinition flow, StepMetadata metadata)
Parameters
ctxIExecutionContextflowIFlowDefinitionmetadataStepMetadata
Returns
- ValueTask<WhenEvaluationTrace>
null when no
Whenclauses are present or all evaluate to true; otherwise a WhenEvaluationTrace for the first clause that evaluated to false.