transformNullable<R> method

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

Implementation

R? transformNullable<R>({
  R Function(Success<T> success)? whenSuccess,
  R Function(Failure<T> failure)? whenFailure,
  R Function(Cancelled<T> cancelled)? whenCancelled,
  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>);
  }
}