mosx
Version:
Multiview observable state management engine
33 lines (32 loc) • 1.28 kB
TypeScript
import { Serializer, IChange, IDisposer, IListener, IMosxPatchParams, IMosxSnapshotParams, IMosxTracker, IMosxTrackerParams, ITagsChange, ITreeNode, MosxPatchListener } from "./internal";
export declare class MosxTracker<T = any> implements IMosxTracker<T> {
private _adding;
private lastId;
private patchedObjects;
listeners: Set<IListener<T>>;
nodes: WeakMap<any, ITreeNode>;
root: T;
serializer?: Serializer;
reversible: boolean;
privateMapValuePatch: boolean;
constructor(object: T, params?: IMosxTrackerParams);
onPatch(handler: MosxPatchListener<T>, params?: IMosxPatchParams): IDisposer;
dispose(): void;
tagChanged(): void;
snapshot(params: IMosxSnapshotParams): any;
tagExist(entryTags?: Set<string>, tags?: string[]): boolean;
getParentValue(entry: ITreeNode): void;
tagChange(object: any, change: ITagsChange): void;
computedChange(object: any, change: IChange): void;
private isHidden;
private processAddChange;
private processUpdateChange;
private processDeleteChange;
private processSpliceChange;
private processChange;
private isRecursivelyObservable;
private buildPath;
private observeRecursively;
private createEntry;
private unobserveRecursively;
}