diff --git a/src/lib/es2015.proxy.d.ts b/src/lib/es2015.proxy.d.ts index 991531aa1cef7..08aaae3d268a4 100644 --- a/src/lib/es2015.proxy.d.ts +++ b/src/lib/es2015.proxy.d.ts @@ -1,21 +1,23 @@ -interface ProxyHandler { +interface ProxyHandler { apply?(target: T, thisArg: any, argArray: any[]): any; construct?(target: T, argArray: any[], newTarget: Function): object; defineProperty?(target: T, p: string | symbol, attributes: PropertyDescriptor): boolean; deleteProperty?(target: T, p: string | symbol): boolean; - get?(target: T, p: string | symbol, receiver: any): any; + get?(target: T, p: K, receiver: U): U[K]; getOwnPropertyDescriptor?(target: T, p: string | symbol): PropertyDescriptor | undefined; getPrototypeOf?(target: T): object | null; has?(target: T, p: string | symbol): boolean; isExtensible?(target: T): boolean; ownKeys?(target: T): ArrayLike; preventExtensions?(target: T): boolean; - set?(target: T, p: string | symbol, value: any, receiver: any): boolean; + set?(target: T, p: K, value: U[K], receiver: U): boolean; setPrototypeOf?(target: T, v: object | null): boolean; } interface ProxyConstructor { - revocable(target: T, handler: ProxyHandler): { proxy: T; revoke: () => void; }; - new (target: T, handler: ProxyHandler): T; + revocable(target: T, handler: ProxyHandler): { proxy: T; revoke: () => void; }; + revocable(target: T, handler: ProxyHandler): { proxy: U; revoke: () => void; }; + new (target: T, handler: ProxyHandler): T; + new (target: T, handler: ProxyHandler): U; } declare var Proxy: ProxyConstructor;