UNPKG

zustand

Version:

🐻 Bear necessities for state management in React

20 lines (19 loc) 1.24 kB
import { EqualityChecker, GetState, SetState, State, StateListener, StateSelector, StateSliceListener, StoreApi } from '../vanilla'; export declare type StoreApiWithSubscribeWithSelector<T extends State> = Omit<StoreApi<T>, 'subscribe'> & { subscribe: { (listener: StateListener<T>): () => void; <StateSlice>(selector: StateSelector<T, StateSlice>, listener: StateSliceListener<StateSlice>, options?: { equalityFn?: EqualityChecker<StateSlice>; fireImmediately?: boolean; }): () => void; }; }; export declare const subscribeWithSelector: <S extends object, CustomSetState extends SetState<S>, CustomGetState extends GetState<S>, CustomStoreApi extends StoreApi<S>>(fn: (set: CustomSetState, get: CustomGetState, api: CustomStoreApi) => S) => (set: CustomSetState, get: CustomGetState, api: Omit<CustomStoreApi, "subscribe"> & Omit<StoreApi<S>, "subscribe"> & { subscribe: { (listener: StateListener<S>): () => void; <StateSlice>(selector: StateSelector<S, StateSlice>, listener: StateSliceListener<StateSlice>, options?: { equalityFn?: EqualityChecker<StateSlice>; fireImmediately?: boolean; } | undefined): () => void; }; }) => S;