whenOrNull<R> method

R? whenOrNull<R>({
  1. R data(
    1. T data
    )?,
  2. R loading(
    1. T? previousData
    )?,
  3. R error(
    1. Object error,
    2. StackTrace stackTrace
    )?,
})

Pattern-matches and returns null for unhandled states.

A shorthand for maybeWhen where the fallback is always null.

Implementation

R? whenOrNull<R>({
  R Function(T data)? data,
  R Function(T? previousData)? loading,
  R Function(Object error, StackTrace stackTrace)? error,
}) {
  return switch (this) {
    AsyncData<T>(:final value) => data?.call(value),
    AsyncLoading<T>(:final previousData) => loading?.call(previousData),
    AsyncError<T>(error: final err, stackTrace: final st) => error?.call(
      err,
      st,
    ),
  };
}