UNPKG

react-state-hooks

Version:
42 lines (40 loc) 2.49 kB
import { DependencyList } from "react"; export function useAsyncState<T>(getter: () => Promise<T>, deps?: DependencyList): readonly [T | undefined, import("react").Dispatch<import("react").SetStateAction<T | undefined>>, { readonly error: unknown; readonly isPending: boolean; readonly revalidate: () => Promise<void>; }]; export function useDebounceState<T>(initialValue: T, delay?: number): readonly [T, import("react").Dispatch<import("react").SetStateAction<T>>]; export function useDependentState<T>(factory: (current?: T) => T, deps?: DependencyList): readonly [T, import("react").Dispatch<import("react").SetStateAction<T>>]; export function useHistoryState<T>(initialState?: T, length?: number): readonly [T, import("react").Dispatch<import("react").SetStateAction<T>>, { readonly history: T[]; readonly rollback: (amount?: number) => void; }]; export function useImmutableState<T>(immutableValue?: T | (() => T)): T; export function useListState<T>(initialState?: T[]): readonly [T[], { set: (items: T[]) => void; push: (...items: T[]) => void; insert: (index: number, item: T) => void; remove: (indexOrHandler: number | ((item: T, index: number) => boolean)) => void; update: (indexOrHandler: number | ((item: T, index: number) => boolean), newItem: T) => void; clear: () => void; sort: (compareFn?: (a: T, b: T) => number) => void; filter: (predicate: (value: T, index: number, array: T[]) => boolean) => void; }]; type NumberStateOptions = { min?: number; max?: number; step?: number; }; export function useNumberState(initialState?: number, options?: NumberStateOptions): readonly [number | undefined, import("react").Dispatch<import("react").SetStateAction<number | undefined>>, { readonly inc: (value?: number) => void; readonly dec: (value?: number) => void; }]; export function useObjectState<T>(initialState?: T): readonly [T, (value: Partial<T>) => void, (newValue?: T) => void]; export function usePropState<T>(prop: T | undefined, initialState?: T | (() => T)): readonly [T, import("react").Dispatch<import("react").SetStateAction<T>>]; /** * @reference https://yoavik.com/snippets/use-global-state */ export function useStoreState<T>(key: string, initialState?: T | (() => T)): readonly [T, import("react").Dispatch<import("react").SetStateAction<T>>]; export function useToggleState(initialState?: boolean): [boolean, import("react").DispatchWithoutAction]; //# sourceMappingURL=types.d.ts.map