getOrElse<A, B> function
- B defaultFunction(
Returns a function that, when provided with an Either<A, B>
,
will yield the value inside if it's a Right
,
or the result of the defaultFunction
if it's a Left
.
The returned function acts as a safe way to extract a value from
an Either
, providing a fallback mechanism when dealing with Left
values.
Usage:
final either1 = Right<String, int>(10);
final either2 = Left<String, int>("Error");
final fallback = () => 5;
final value1 = getOrElse(fallback)(either1); // returns 10
final value2 = getOrElse(fallback)(either2); // returns 5
Parameters:
defaultFunction
: A function that returns a value of typeB
. This value will be returned if the providedEither
is aLeft
.
Returns:
A function expecting an Either<A, B>
and returning a value of type B
.
Implementation
B Function(Either<A, B>) getOrElse<A, B>(B Function() defaultFunction) {
return match<A, B, B>(
(leftValue) => defaultFunction(), (rightValue) => rightValue);
}