syncbasestore
Version:
Lightweight reactive store with built-in filtering and async state handling
16 lines (15 loc) • 691 B
TypeScript
import { Listener, FilterDefinition, FilterShape } from './types';
export declare class SyncBaseStore<T> {
private state;
private listeners;
private initialState;
constructor(initialState: T);
getState(filterDef?: FilterDefinition<T>, filterValue?: FilterShape<T>): T;
setState(update: Partial<T> | ((prev: T) => T), filterDef?: FilterDefinition<T>, filterValue?: FilterShape<T>): void;
cleanFieldPath(path: string): void;
clean(): void;
build: (update: Partial<T> | ((prev: T) => T), filterDef?: FilterDefinition<T>, filterValue?: FilterShape<T>) => void;
subscribe(listener: Listener<T>): () => void;
getInitialState(): T;
private notify;
}