when method
MachineDoneWhenBuilder<C>
when(
- FutureOr<
bool> condition(- MessageHandlerContext<
Object, MachineTreeStateData, C>
- MessageHandlerContext<
- 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, MachineTreeStateData, C>)
condition,
void Function(MachineDoneHandlerBuilder<C> builder) buildTrueHandler, {
String? label,
}) {
var conditions =
<MessageConditionDescriptor<Object, MachineTreeStateData, C>>[];
var whenBuilder = MachineDoneWhenBuilder<C>(
() => MachineDoneHandlerBuilder<C>._(
_forState, _makeContext, _log, _messageName),
conditions,
);
whenBuilder.when(condition, buildTrueHandler, label: label);
descriptor = makeWhenMessageDescriptor<Object, MachineTreeStateData, C>(
_forState,
conditions,
_makeContext,
_log,
label,
_messageName,
);
return whenBuilder;
}