when<R> method

R when<R>({
  1. required R success(
    1. T value
    ),
  2. required R onFailure(
    1. Failure failure
    ),
})

Паттерн-матчинг без fold.

final message = result.when(
  success: (data) => 'Loaded: $data',
  failure: (f) => f.userMessage,
);

Implementation

R when<R>({
  required R Function(T value) success,
  required R Function(Failure failure) onFailure,
}) => switch (this) {
  Right(:final value) => success(value),
  Left(:final failure) => onFailure(failure),
};