when<U> method
Maps a Result<T, E>
to U
This function can be used to unpack a successful result while handliing an error.
Examples
Basic usage:
Result<int, int> x = Ok(9);
expect(
x.when(
err: (error) => 'Failure: $error',
ok: (value) => 'Success: $value',
),
'Success: 9',
);
Result<int, int> x = Err(81);
expect(
x.when(
err: (error) => 'Failure: $error',
ok: (value) => 'Success: $value',
),
'Failed: 81',
);
Implementation
@override
U when<U>({
required U Function(T value) ok,
required U Function(E error) err,
}) {
return mapOrElse(errMap: err, okMap: ok);
}