mapOrElse<R> method

R mapOrElse<R>(
  1. R fallback(),
  2. R mapper(
    1. T value
    )
)

Maps a present value, or computes a fallback when absent.

Only the branch that applies is called.

final length = const None<String>().mapOrElse(() => 0, (name) => name.length);

Implementation

R mapOrElse<R>(R Function() fallback, R Function(T value) mapper) {
  return switch (this) {
    Some<T>(:final value) => mapper(value),
    None<T>() => fallback(),
  };
}