UNPKG

surrogate

Version:

Object method hooks made easy

18 lines (17 loc) 897 B
import type { Surrogate, SurrogateOptions } from '../../interfaces'; import { EventManager } from '../../manager'; import { Context } from '../../context'; export declare class SurrogateProxy<T extends object> implements ProxyHandler<T> { private readonly targets; private static instance; constructor(target: T, { useSingleton, ...globalOptions }?: SurrogateOptions); get<K extends keyof T>(target: T, event: string, receiver: Surrogate<T>): T[K] | EventManager<T>; getEventManager(target: T): EventManager<T>; static wrap<T extends object>(object: T, options?: SurrogateOptions): Surrogate<T>; static hasTarget<T extends object>(target: T): target is Surrogate<T>; bindHandler(event: string, target: T, receiver: Surrogate<T>): Function; surrogateHandler(context: Context<T>): any; dispose(target: T): T; private setTarget; private useInstance; }