flatMap<R> method

Future<Result<R, E>> flatMap<R>(
  1. FutureOr<Result<R, E>> transform(
    1. T value
    )
)

Chains another Result-producing sync or async transform on success.

Implementation

Future<Result<R, E>> flatMap<R>(
  FutureOr<Result<R, E>> Function(T value) transform,
) async {
  final result = await this;
  return switch (result) {
    Success(value: final value) => await transform(value),
    Failure(error: final error) => Result.failure(error),
  };
}