Table of Contents

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

outputsRepository IOutputsRepository
runStore IFlowRunStore

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

ctx IExecutionContext
flow IFlowDefinition
metadata StepMetadata

Returns

ValueTask<WhenEvaluationTrace>

null when no When clauses are present or all evaluate to true; otherwise a WhenEvaluationTrace for the first clause that evaluated to false.