mapOrElse<U> method
U
mapOrElse<U>(
- U defaultt(
- E err
- U op(
- T val
Maps a Result<T, E>
to U
by applying a fallback function to a
contained error value, or a default function to a
contained ok value.
This function can be used to unpack a successful result while handling an error.
Example
Basic Usage:
import 'package:dartsult/dartsult.dart';
main() {
int k = 21;
Result<dynamic, String> x = Result.ok<dynamic, String>("foo");
int val = x.mapOrElse<int>((v) => k * 2, (v) => v.length);
assert(val == 3);
Result<String, dynamic> y = Result.error<String, dynamic>("bar");
int val1 = y.mapOrElse<int>((v) => k * 2, (v) => v.length);
assert(val1 == 42);
}
Implementation
U mapOrElse<U>(U Function(E err) defaultt, U Function(T val) op) {
if (_ok.val != null) {
return op(_ok.val!);
}
return defaultt(_error.val!);
}