observable-membrane
Version:
A Javascript Membrane implementation using Proxies to observe mutation on an object graph
26 lines (25 loc) • 991 B
TypeScript
import { ProxyPropertyKey } from './shared';
declare type ValueObservedCallback = (obj: any, key: ProxyPropertyKey) => void;
declare type ValueMutatedCallback = (obj: any, key: ProxyPropertyKey) => void;
declare type IsObservableCallback = (value: any) => boolean;
export interface ObservableMembraneInit {
valueMutated?: ValueMutatedCallback;
valueObserved?: ValueObservedCallback;
valueIsObservable?: IsObservableCallback;
tagPropertyKey?: ProxyPropertyKey;
}
export declare class ObservableMembrane {
valueMutated: ValueMutatedCallback;
valueObserved: ValueObservedCallback;
valueIsObservable: IsObservableCallback;
tagPropertyKey: ProxyPropertyKey | undefined;
private readOnlyObjectGraph;
private reactiveObjectGraph;
constructor(options?: ObservableMembraneInit);
getProxy(value: any): any;
getReadOnlyProxy(value: any): any;
unwrapProxy(p: any): any;
private getReactiveHandler;
private getReadOnlyHandler;
}
export {};