in branch.go [61:80]
func (i *IfBranch[T]) AddToWorkflow() map[Steper]*StepConfig {
return Steps().Merge(
Steps(i.Target).AfterStep(func(ctx context.Context, s Steper, err error) error {
i.BranchCheck.Do(ctx, i.Target)
return err
}),
Steps(i.ThenStep...).When(i.isThen(true)),
Steps(i.ElseStep...).When(i.isThen(false)),
Steps(append(append([]Steper{},
i.ThenStep...), i.ElseStep...,
)...).
DependsOn(i.Target).
BeforeStep(func(ctx context.Context, s Steper) (context.Context, error) {
if i.BranchCheck.Error != nil {
return ctx, i.BranchCheck.Error
}
return ctx, nil
}),
).AddToWorkflow()
}