react-obsidian
Version:
Dependency injection framework for React and React Native applications
21 lines • 1.08 kB
TypeScript
import { Observable } from '../Observable';
import { MediatorObservable } from '../mediator/MediatorObservable';
import { OnNext } from '../types';
export declare class ColdMediatorObservable<T extends object> extends MediatorObservable<T> {
private readonly handler;
constructor(obj: T, handler?: PropertyAccessTrackingProxy<T>);
set value(_: T);
get value(): T;
setValue(key: keyof T, value: any): void;
addSource<S>(source: Observable<S>, onNext: OnNext<S>): this;
}
declare class PropertyAccessTrackingProxy<T extends object> implements ProxyHandler<T> {
private readonly accessedProperties;
private trackingSuspended;
get(target: T, p: string | symbol, receiver: any): (string extends infer T_1 ? T_1 extends string ? T_1 extends keyof T ? T[T_1] : any : never : never) | (symbol extends infer T_2 ? T_2 extends symbol ? T_2 extends keyof T ? T[T_2] : any : never : never);
hasAccessedProperty(key: keyof T): boolean;
suspendTracking(): void;
resumeTracking(): void;
}
export {};
//# sourceMappingURL=ColdMediatorObservable.d.ts.map