abon
Version:
Flexible state management for React 🚀
22 lines (21 loc) • 823 B
TypeScript
import { Notifier } from "./notifier";
import { ChangeListener } from "./types";
export declare class NotifierDeep extends Map<Key[], Notifier<unknown>> {
getNotifier<T = unknown>(keys: Key[]): {
key: Key[];
notifier: Notifier<T>;
};
subscribe<T = unknown>(keys: Key[], listener: ChangeListener<T>): () => void;
key(keys: Key[]): (string | number | symbol)[];
has(keys: Key[]): boolean;
get<T = unknown>(keys: Key[]): Notifier<T>;
/** Gets related keys and notifiers */
getRelated(keys: Key[]): Map<Key[], Notifier<unknown>>;
clear(): void;
notify<T>(keys: Key[], value: T): this;
notify(keys: Key[], ...args: any[]): this;
static get(abon: any): NotifierDeep;
static define<T>(abon: T): T;
}
declare type Key = keyof any;
export {};