whenResult<T> method

MessageHandlerWhenResultBuilder<M, T> whenResult<T>(
  1. FutureOr<Result<T>> result(
    1. MessageContext msgCtx,
    2. M msg
    ),
  2. void buildTrueHandler(
    1. ContinuationMessageHandlerBuilder<M, T>
    ), {
  3. String? label,
})

Implementation

MessageHandlerWhenResultBuilder<M, T> whenResult<T>(
  FutureOr<Result<T>> Function(MessageContext msgCtx, M msg) result,
  void Function(ContinuationMessageHandlerBuilder<M, T>) buildTrueHandler, {
  String? label,
}) {
  var continuationBuilder = ContinuationMessageHandlerBuilder<M, T>(_forState);
  buildTrueHandler(continuationBuilder);

  var refFailure = Ref<_ContinuationMessageHandlerDescriptor<AsyncError>?>(null);
  _handler = _WhenResultDescriptor.createForMessage<M, T>(
    _forState,
    result,
    continuationBuilder._continuationHandler!,
    refFailure,
    label,
    null,
  );
  return MessageHandlerWhenResultBuilder<M, T>(_forState, refFailure);
}