when method

MessageHandlerWhenWithDataBuilder<M, D> when(
  1. FutureOr<bool> condition(
    1. MessageContext msgCtx,
    2. M msg,
    3. D data
    ),
  2. void buildTrueHandler(
    1. DataMessageHandlerBuilder<M, D>
    ), {
  3. String? label,
})

Implementation

MessageHandlerWhenWithDataBuilder<M, D> when(
  FutureOr<bool> Function(MessageContext msgCtx, M msg, D data) condition,
  void Function(DataMessageHandlerBuilder<M, D>) buildTrueHandler, {
  String? label,
}) {
  var trueBuilder = DataMessageHandlerBuilder<M, D>(_forState, _messageName);
  buildTrueHandler(trueBuilder);
  var conditions = [_MessageConditionWithContext(condition, trueBuilder._handler!, label)];
  _handler = _WhenDescriptor.createForMessageAndData<M, D>(conditions);
  return MessageHandlerWhenWithDataBuilder<M, D>(_forState, conditions, _messageName);
}