import { ICallInterceptor } from "./ICallInterceptor"; import { ProxyES5 } from "./ProxyES5"; import { ProxyES6 } from "./ProxyES6"; import { ProxyES6Handler } from "./ProxyES6Handler"; export class ProxyFactory { static createProxy(target: T, interceptor: ICallInterceptor): T { let proxy: T = ProxyES5.of(target, interceptor); return proxy; } static createProxyES6(target: T, interceptor: ICallInterceptor): T { let proxyHandler: ProxyES6Handler = new ProxyES6Handler(interceptor); let proxy: T = ProxyES6.of(target, proxyHandler); return proxy; } }