react-async-states
Version:
A low-level multi paradigm state management library
18 lines (15 loc) • 1.27 kB
TypeScript
import { State } from 'async-states';
export { CachedState, ErrorState, InitialState, LastSuccessSavedState, PendingState, Source, State, StateFunctionUpdater, StateInterface, SuccessState } from 'async-states';
import { EqualityFn, UseSelector, UseAsyncStateEvents } from './hooks/types.js';
export { BaseConfig, CleanupFn, ConfigWithKeyWithSelector, ConfigWithKeyWithoutSelector, ConfigWithProducerWithSelector, ConfigWithProducerWithoutSelector, ConfigWithSourceWithSelector, ConfigWithSourceWithoutSelector, HookSubscribeEvents, MixedConfig, SubscribeEventProps, UseAsyncChangeEventProps, UseAsyncState, UseAsyncStateChangeEvent, UseAsyncStateChangeEventHandler, UseAsyncStateEventFn } from './hooks/types.js';
type UseConfig<TData, TArgs extends unknown[], TError, S = State<TData, TArgs, TError>> = {
payload?: Record<string, unknown>;
lazy?: boolean;
autoRunArgs?: TArgs;
areEqual?: EqualityFn<S>;
subscriptionKey?: string;
selector?: UseSelector<TData, TArgs, TError, S>;
events?: UseAsyncStateEvents<TData, TArgs, TError>;
condition?: boolean | ((state: State<TData, TArgs, TError>, args?: TArgs, payload?: Record<string, unknown> | null) => boolean);
};
export { EqualityFn, UseAsyncStateEvents, UseConfig, UseSelector };