mapOrElse<U> method

  1. @override
U mapOrElse<U>({
  1. required U errMap(
    1. E error
    ),
  2. required U okMap(
    1. T value
    ),
})
override

Maps a Result<T, E> to U by applying fallback function fallback to a contained Err (failure) value, or function op to a contained Ok (success) value.

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.mapOrElse(
    errMap: (error) => 'Failure: $error',
    okMap: (value) => 'Success: $value',
  ),
  'Success: 9',
);

Result<int, int> x = Err(81);
expect(
  x.mapOrElse(
    errMap: (error) => 'Failure: $error',
    okMap: (value) => 'Success: $value',
  ),
  'Failed: 81',
);

Implementation

@override
U mapOrElse<U>({
  required U Function(E error) errMap,
  required U Function(T value) okMap,
}) {
  return okMap(v);
}