resultMap<R extends Object> method

  1. @override
Async<R> resultMap<R extends Object>(
  1. @noFutures Result<R> noFutures(
    1. Result<T> value
    )
)
override

Maps the inner Result of this Resolvable using mapper.

Implementation

@override
Async<R> resultMap<R extends Object>(
  @noFutures Result<R> Function(Result<T> value) noFutures,
) {
  return Async(() async {
    final a = await value;
    switch (a) {
      case Ok():
        final b = noFutures(a);
        switch (b) {
          case Ok(value: final okValue):
            return okValue;
          case Err():
            throw b;
        }
      case Err():
        throw a;
    }
  });
}