whenResult<T> method

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

Implementation

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

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