UNPKG

koshin

Version:

Fine-grained reactive store for React using useSyncExternalStore

9 lines (8 loc) 416 B
type ChangeCallback<T> = <K extends keyof T>(key: K, newValue: T[K], oldValue: T[K]) => void; type StoreWithProps<T extends object> = T & { set<K extends keyof T>(key: K, value: T[K]): void; onChange(callback: ChangeCallback<T>): () => void; signal<K extends keyof T>(key: K): [T[K], (value: T[K]) => void]; }; export declare function createStore<T extends object>(obj: T): StoreWithProps<T>; export {};