foldOrNull<R extends Object?> method

R? foldOrNull<R extends Object?>({
  1. R success(
    1. Success<T> success
    )?,
  2. R failure(
    1. Failure failure
    )?,
})

The foldOrNull method is equivalent to whenOrElse, but non-exhaustive.

Implementation

R? foldOrNull<R extends Object?>({
  R Function(Success<T> success)? success,
  R Function(Failure failure)? failure,
}) {
  switch (_type) {
    case _ResultType.success:
      return success?.call(this as Success<T>);
    case _ResultType.failure:
      return failure?.call(this as Failure);
  }
}