UNPKG

zust

Version:

A powerful, lightweight, and fully standalone state management library for React with time-travel debugging, computed values, and zero dependencies

20 lines 1.07 kB
type Listener<T> = (state: T, prevState: T) => void; type PathListener<T> = { path: string; callback: (newValue: unknown, oldValue: unknown, fullState: T) => void; }; type Unsubscribe = () => void; export interface StoreEngine<T extends object> { getState: () => T; setState: (partial: Partial<T> | ((state: T) => Partial<T>), replace?: boolean) => void; subscribe: (listener: Listener<T>) => Unsubscribe; subscribePath: (path: string, callback: PathListener<T>["callback"]) => Unsubscribe; destroy: () => void; } export declare function batch(callback: () => void): void; export declare function createStoreEngine<T extends object>(initialState: T): StoreEngine<T>; export declare function useStore<T extends object>(store: StoreEngine<T>): T; export declare function useStoreSelector<T extends object, R>(store: StoreEngine<T>, selector: (state: T) => R): R; export declare function useShallowSelector<T extends object, R extends object>(store: StoreEngine<T>, selector: (state: T) => R): R; export {}; //# sourceMappingURL=createStore.d.ts.map