maybeWhen<R> method

R maybeWhen<R>({
  1. R idle()?,
  2. R loading()?,
  3. R success(
    1. T data
    )?,
  4. R failed(
    1. FailureResponse<E> error
    )?,
  5. R networkError(
    1. FailureResponse<E> error
    )?,
  6. required R orElse(),
})

Pattern matching with optional handlers

Implementation

R maybeWhen<R>({
  R Function()? idle,
  R Function()? loading,
  R Function(T data)? success,
  R Function(FailureResponse<E> error)? failed,
  R Function(FailureResponse<E> error)? networkError,
  required R Function() orElse,
}) {
  return switch (this) {
    IdleState<T, E>() => idle?.call() ?? orElse(),
    LoadingState<T, E>() => loading?.call() ?? orElse(),
    SuccessState<T, E>(data: final d) => success?.call(d) ?? orElse(),
    FailedState<T, E>(error: final e) => failed?.call(e) ?? orElse(),
    NetworkErrorState<T, E>(error: final e) =>
      networkError?.call(e) ?? orElse(),
  };
}