whenWith<T> method
MessageHandlerWhenWithContextBuilder<M, T>
whenWith<T>(
- FutureOr<
T> context(- MessageContext ctx,
- M message
- FutureOr<
bool> condition(- MessageContext msgCtx,
- M msg,
- T ctx
- void buildTrueHandler(), {
- String? label,
Implementation
MessageHandlerWhenWithContextBuilder<M, T> whenWith<T>(
FutureOr<T> Function(MessageContext ctx, M message) context,
FutureOr<bool> Function(MessageContext msgCtx, M msg, T ctx) condition,
void Function(MessageHandlerBuilder<M>) buildTrueHandler, {
String? label,
}) {
var trueBuilder = MessageHandlerBuilder<M>._(_forState, _messageName);
buildTrueHandler(trueBuilder);
var conditions = [
_MessageConditionWithContext<M, T>(
condition,
trueBuilder._handler!,
label,
)
];
_handler = _WhenWithContextDescriptor.createForMessage<M, T>(context, conditions);
return MessageHandlerWhenWithContextBuilder<M, T>(_forState, conditions, _messageName);
}