maybeWhen<R> method

R maybeWhen<R>({
  1. required R orElse(),
  2. R ready(
    1. T data
    )?,
  3. R error(
    1. Object error,
    2. StackTrace? stackTrace
    )?,
  4. R loading()?,
})

Performs an action based on the state of the ResourceState, or call orElse if the current state is not considered.

Implementation

R maybeWhen<R>({
  required R Function() orElse,
  R Function(T data)? ready,
  R Function(Object error, StackTrace? stackTrace)? error,
  R Function()? loading,
}) {
  return map(
    ready: (r) {
      if (ready != null) return ready(r.value);
      return orElse();
    },
    error: (e) {
      if (error != null) return error(e.error, e.stackTrace);
      return orElse();
    },
    loading: (l) {
      if (loading != null) return loading();
      return orElse();
    },
  );
}