when method
MachineDoneWhenBuilder<C>
when(
- FutureOr<
bool> condition(), - void buildTrueHandler(
- MachineDoneHandlerBuilder<
C> builder
- MachineDoneHandlerBuilder<
- String? label,
Adds a conditional behavior, in the same manner as MessageHandlerBuilder.when.
Implementation
MachineDoneWhenBuilder<C> when(
FutureOr<bool> Function(MessageHandlerContext<Object, NestedMachineData, C>) condition,
void Function(MachineDoneHandlerBuilder<C> builder) buildTrueHandler, {
String? label,
}) {
var conditions = <MessageConditionDescriptor<Object, NestedMachineData, C>>[];
var whenBuilder = MachineDoneWhenBuilder<C>(
() => MachineDoneHandlerBuilder<C>._(_forState, _makeContext, _log, _messageName),
conditions,
);
whenBuilder.when(condition, buildTrueHandler, label: label);
descriptor = makeWhenMessageDescriptor<Object, NestedMachineData, C>(
conditions,
_makeContext,
_log,
label,
_messageName,
);
return whenBuilder;
}