resultMap<R extends Object> method

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

Maps the inner Result of this Resolvable using mapper.

Implementation

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