zust
Version:
A powerful, lightweight, and fully standalone state management library for React with time-travel debugging, computed values, and zero dependencies
26 lines • 942 B
TypeScript
export interface ComputedConfig<T, R> {
compute: (state: T) => R;
deps?: string[];
cache?: boolean;
}
export type ComputedValues<T> = Record<string, ComputedConfig<T, unknown> | ((state: T) => unknown)>;
export declare class ComputedEngine<T extends object> {
private getState;
private computedMap;
constructor(getState: () => T, computedValues?: ComputedValues<T>);
addComputed<R>(key: string, config: ComputedConfig<T, R> | ((state: T) => R)): void;
get<R>(key: string): R | undefined;
private shouldUseCache;
private getDependencyValues;
invalidate(key: string): void;
invalidateAll(): void;
getStats(): Record<string, {
computeCount: number;
cached: boolean;
}>;
shouldInvalidate(changedPath: string): string[];
private pathMatches;
defineGetters(target: Record<string, unknown>): void;
destroy(): void;
}
//# sourceMappingURL=computedEngine.d.ts.map