react-async-states
Version:
A low-level multi paradigm state management library
28 lines (25 loc) • 3.16 kB
TypeScript
import { UseAsyncState, ConfigWithKeyWithSelector, ConfigWithKeyWithoutSelector, ConfigWithSourceWithSelector, ConfigWithSourceWithoutSelector, ConfigWithProducerWithSelector, ConfigWithProducerWithoutSelector, MixedConfig, LegacyHookReturn } from './types.js';
import { State, Source, Producer } from 'async-states';
declare function useAsync_export<TData, TArgs extends unknown[], TError>(config: string, deps?: unknown[]): UseAsyncState<TData, TArgs, TError>;
declare function useAsync_export<TData, TArgs extends unknown[], TError>(config: Source<TData, TArgs, TError>, deps?: unknown[]): UseAsyncState<TData, TArgs, TError>;
declare function useAsync_export<TData, TArgs extends unknown[], TError>(config: Producer<TData, TArgs, TError>, deps?: unknown[]): UseAsyncState<TData, TArgs, TError>;
declare function useAsync_export<TData, TArgs extends unknown[], TError, S>(config: ConfigWithKeyWithSelector<TData, TArgs, TError, S>, deps?: unknown[]): UseAsyncState<TData, TArgs, TError, S>;
declare function useAsync_export<TData, TArgs extends unknown[], TError>(config: ConfigWithKeyWithoutSelector<TData, TArgs, TError>, deps?: unknown[]): UseAsyncState<TData, TArgs, TError>;
declare function useAsync_export<TData, TArgs extends unknown[], TError, S>(config: ConfigWithSourceWithSelector<TData, TArgs, TError, S>, deps?: unknown[]): UseAsyncState<TData, TArgs, TError, S>;
declare function useAsync_export<TData, TArgs extends unknown[], TError>(config: ConfigWithSourceWithoutSelector<TData, TArgs, TError>, deps?: unknown[]): UseAsyncState<TData, TArgs, TError>;
declare function useAsync_export<TData, TArgs extends unknown[], TError, S>(config: ConfigWithProducerWithSelector<TData, TArgs, TError, S>, deps?: unknown[]): UseAsyncState<TData, TArgs, TError, S>;
declare function useAsync_export<TData, TArgs extends unknown[], TError>(config: ConfigWithProducerWithoutSelector<TData, TArgs, TError>, deps?: unknown[]): UseAsyncState<TData, TArgs, TError>;
declare function useAsync_export<TData, TArgs extends unknown[], TError, S>(config: MixedConfig<TData, TArgs, TError, S>, deps?: unknown[]): UseAsyncState<TData, TArgs, TError, S>;
declare namespace useAsync_export {
var auto: typeof useAuto;
}
declare function useAuto<TData, TArgs extends unknown[], TError, S>(config: MixedConfig<TData, TArgs, TError, S>, deps?: unknown[]): LegacyHookReturn<TData, TArgs, TError, S>;
type UseAsyncReturn<TData, TArgs extends unknown[], TError, S> = ReturnType<typeof useAsync_export<TData, TArgs, TError, S>>;
type UseAsyncParams<TData, TArgs extends unknown[], TError, S> = Parameters<typeof useAsync_export<TData, TArgs, TError, S>>;
type UseAsyncType = {
<TData, TArgs extends unknown[] = [], TError = Error, S = State<TData, TArgs, TError>>(...args: UseAsyncParams<TData, TArgs, TError, S>): UseAsyncReturn<TData, TArgs, TError, S>;
auto<TData, TArgs extends unknown[] = [], TError = Error, S = State<TData, TArgs, TError>>(...args: UseAsyncParams<TData, TArgs, TError, S>): UseAsyncReturn<TData, TArgs, TError, S>;
};
declare const useAsync: UseAsyncType;
declare const useAsyncState: UseAsyncType;
export { useAsync, useAsyncState };