asyncMapFailure method
Intercepts an asynchronous operational failure and applies a transformation mapping function.
This optimizes clean pipeline flows by avoiding extra local variable allocations or multi-line awaits.
Example:
Future<Result<User>> managedUser = repository.fetchRemoteUser()
.asyncMapFailure((networkFail) => Failure(message: 'Server unreachable.'));
Implementation
Future<Result<S>> asyncMapFailure(
FutureOr<Failure> Function(Failure failure) transform,
) async {
final result = await this;
return switch (result) {
SuccessResult<S>() => result,
FailureResult<S>(failure: final failure) =>
Result.failure(await transform(failure)),
};
}