transform<R> method

R transform<R>({
  1. R whenSuccess(
    1. Success<T> success
    )?,
  2. R whenFailure(
    1. Failure<T> failure
    )?,
  3. R whenCancelled(
    1. Cancelled<T> cancelled
    )?,
  4. required R whenElse(
    1. Result<T> result
    ),
})

Implementation

R transform<R>({
  R Function(Success<T> success)? whenSuccess,
  R Function(Failure<T> failure)? whenFailure,
  R Function(Cancelled<T> cancelled)? whenCancelled,
  required R Function(Result<T> result) whenElse,
}) {
  if (this is Success) {
    return (whenSuccess ?? whenElse).call(this as Success<T>);
  } else if (this is Failure) {
    return (whenFailure ?? whenElse).call(this as Failure<T>);
  } else {
    return (whenCancelled ?? whenElse).call(this as Cancelled<T>);
  }
}