interface ProxyHandler<T extends object> {\r
- getPrototypeOf? (target: T): object | null;\r
- setPrototypeOf? (target: T, v: any): boolean;\r
- isExtensible? (target: T): boolean;\r
- preventExtensions? (target: T): boolean;\r
- getOwnPropertyDescriptor? (target: T, p: PropertyKey): PropertyDescriptor | undefined;\r
- has? (target: T, p: PropertyKey): boolean;\r
- get? (target: T, p: PropertyKey, receiver: any): any;\r
- set? (target: T, p: PropertyKey, value: any, receiver: any): boolean;\r
- deleteProperty? (target: T, p: PropertyKey): boolean;\r
- defineProperty? (target: T, p: PropertyKey, attributes: PropertyDescriptor): boolean;\r
- enumerate? (target: T): PropertyKey[];\r
- ownKeys? (target: T): PropertyKey[];\r
- apply? (target: T, thisArg: any, argArray?: any): any;\r
- construct? (target: T, argArray: any, newTarget?: any): object;\r
+ apply?(target: T, thisArg: any, argArray: any[]): any;\r
+ construct?(target: T, argArray: any[], newTarget: Function): object;\r
+ defineProperty?(target: T, p: string | symbol, attributes: PropertyDescriptor): boolean;\r
+ deleteProperty?(target: T, p: string | symbol): boolean;\r
+ get?(target: T, p: string | symbol, receiver: any): any;\r
+ getOwnPropertyDescriptor?(target: T, p: string | symbol): PropertyDescriptor | undefined;\r
+ getPrototypeOf?(target: T): object | null;\r
+ has?(target: T, p: string | symbol): boolean;\r
+ isExtensible?(target: T): boolean;\r
+ ownKeys?(target: T): ArrayLike<string | symbol>;\r
+ preventExtensions?(target: T): boolean;\r
+ set?(target: T, p: string | symbol, value: any, receiver: any): boolean;\r
+ setPrototypeOf?(target: T, v: object | null): boolean;\r
}\r
\r
interface ProxyConstructor {\r