whenWith<T> method
MessageHandlerWhenWithDataAndContextBuilder<M, D, T>
whenWith<T>(
- FutureOr<
T> context(- MessageContext ctx,
- M message,
- D data
- FutureOr<
bool> condition(- MessageContext msgCtx,
- M msg,
- D data,
- T ctx,
- void buildTrueHandler(), {
- String? label,
Implementation
MessageHandlerWhenWithDataAndContextBuilder<M, D, T> whenWith<T>(
FutureOr<T> Function(MessageContext ctx, M message, D data) context,
FutureOr<bool> Function(MessageContext msgCtx, M msg, D data, T ctx) condition,
void Function(DataMessageHandlerBuilder<M, D>) buildTrueHandler, {
String? label,
}) {
var trueBuilder = DataMessageHandlerBuilder<M, D>(_forState, _messageName);
buildTrueHandler(trueBuilder);
var conditions = [
_MessageConditionWithDataAndContext<M, D, T>(
condition,
trueBuilder._handler!,
label,
)
];
_handler = _WhenWithContextDescriptor.createForMessageAndData<M, D, T>(context, conditions);
return MessageHandlerWhenWithDataAndContextBuilder<M, D, T>(
_forState, conditions, _messageName);
}