get-set-react
Version:
A React State Management Library similar and alternative to mobx, redux.etc. it's the simplest, smallest and fastest state management library for react with dev tools support.
20 lines (19 loc) • 1.69 kB
TypeScript
import { GetSet, createBubble as cb, BubbleType, ValType, MemoReturnType, createEffect as _createEffect, createMemo as _createMemo } from "get-set-immutable";
export declare const create: typeof import("get-set-immutable").getset;
export declare const useGet: <T extends Object, S extends Object = {}>(getSetInstance: GetSet<T, S> | BubbleType<T>, resetOnUnmount?: boolean) => T & S;
export declare const useVal: <T extends Object, S extends Object>(getSetInstance: GetSet<T, S>, resetOnUnmount?: boolean) => ValType<T> & {
actions?: S;
};
export declare const useStore: <T extends Object, S extends Object = {}>(state: GetSet<T, S>, resetOnUnmount?: boolean) => [state: T, actions: S];
export declare function useVS<T extends Object>(initialState: T, key?: string): (newVal?: T | undefined | ((currentState: T) => void), versionName?: string) => T;
export declare const viewStore: ValType<any> & GetSet<any, any>;
export declare const createBubble: typeof cb;
export declare function useReset<T extends Object, S extends Object = {}>(stateOrStore: (BubbleType<T> | GetSet<T, S>)[]): void;
export declare const useOnlyOnce: (fn: Function) => void;
export declare function useSelector<T extends Object, S extends Object | null | undefined>(getSetInstance: GetSet<T>, selectorFn: (state: T) => S): S;
export declare const useMemoValue: <T>(memo: MemoReturnType<T>) => T;
export declare const useState: <T extends Object>(initialState: T) => (ValType<T> | (T & {}))[];
export declare const createEffect: typeof _createEffect;
export declare const createMemo: typeof _createMemo;
export declare const atom: typeof import("get-set-immutable").getset;
export declare const molecule: typeof cb;