useLastValidAsyncData<T> function

AsyncData<T>? useLastValidAsyncData<T>(
  1. AsyncValue<T> value
)

Remembers and returns the most recent valid AsyncData with the following logic:

  • AsyncData<T> is remembered
  • AsyncError resets to null.
  • AsyncLoading is ignored

Implementation

AsyncData<T>? useLastValidAsyncData<T>(AsyncValue<T> value) {
  final state = useState<AsyncData<T>?>(null);
  if (value is AsyncData<T>) {
    state.value = value;
  } else if (value is AsyncError) {
    state.value = null;
  }
  return state.value;
}