react-tately
Version:
Minimal, powerful global state manager for React
20 lines (18 loc) • 524 B
TypeScript
type Updater<T> = (prev: T) => T;
type Middleware<T> = (prev: T, next: T) => void;
interface StoreOptions<T> {
name?: string;
persist?: boolean;
devtools?: boolean;
middlewares?: Middleware<T>[];
}
declare function createStore<T>(initialValue: T, options?: StoreOptions<T>): () => [T, (updater: Updater<T>) => void];
declare global {
interface Window {
__STATELY_DEVTOOLS__?: (payload: {
name?: string;
state: unknown;
}) => void;
}
}
export { createStore };