react-async-states-utils
Version:
utilities for react-async-states package
35 lines (32 loc) • 1.16 kB
TypeScript
import { InitialState, PendingState, SuccessState, ErrorState, State } from 'react-async-states';
type InitialExtendedState = {
isInitial: true;
isPending: false;
isError: false;
isAborted: false;
isSuccess: false;
};
type PendingExtendedState = {
isInitial: false;
isPending: true;
isError: false;
isAborted: false;
isSuccess: false;
};
type SuccessExtendedState = {
isInitial: false;
isPending: false;
isError: false;
isAborted: false;
isSuccess: true;
};
type ErrorExtendedState = {
isInitial: false;
isPending: false;
isError: true;
isAborted: false;
isSuccess: false;
};
type StateWithBooleanStatus<T, A extends unknown[] = unknown[], E = unknown> = (InitialState<T, A> & InitialExtendedState) | (PendingState<T, A, E> & PendingExtendedState) | (SuccessState<T, A> & SuccessExtendedState) | (ErrorState<T, A, E> & ErrorExtendedState);
declare function addBooleanStatus<T, E = unknown, R = unknown, A extends unknown[] = unknown[]>(state: State<T, A, E>): StateWithBooleanStatus<T, A, E>;
export { StateWithBooleanStatus, addBooleanStatus };