| /*! ***************************************************************************** |
| Copyright (c) Microsoft Corporation. All rights reserved. |
| Licensed under the Apache License, Version 2.0 (the "License"); you may not use |
| this file except in compliance with the License. You may obtain a copy of the |
| License at http://www.apache.org/licenses/LICENSE-2.0 |
| |
| THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED |
| WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, |
| MERCHANTABLITY OR NON-INFRINGEMENT. |
| |
| See the Apache Version 2.0 License for specific language governing permissions |
| and limitations under the License. |
| ***************************************************************************** */ |
| |
| |
| |
| /// <reference no-default-lib="true"/> |
| |
| |
| interface ProxyHandler<T extends object> { |
| getPrototypeOf? (target: T): object | null; |
| setPrototypeOf? (target: T, v: any): boolean; |
| isExtensible? (target: T): boolean; |
| preventExtensions? (target: T): boolean; |
| getOwnPropertyDescriptor? (target: T, p: PropertyKey): PropertyDescriptor | undefined; |
| has? (target: T, p: PropertyKey): boolean; |
| get? (target: T, p: PropertyKey, receiver: any): any; |
| set? (target: T, p: PropertyKey, value: any, receiver: any): boolean; |
| deleteProperty? (target: T, p: PropertyKey): boolean; |
| defineProperty? (target: T, p: PropertyKey, attributes: PropertyDescriptor): boolean; |
| enumerate? (target: T): PropertyKey[]; |
| ownKeys? (target: T): PropertyKey[]; |
| apply? (target: T, thisArg: any, argArray?: any): any; |
| construct? (target: T, argArray: any, newTarget?: any): object; |
| } |
| |
| interface ProxyConstructor { |
| revocable<T extends object>(target: T, handler: ProxyHandler<T>): { proxy: T; revoke: () => void; }; |
| new <T extends object>(target: T, handler: ProxyHandler<T>): T; |
| } |
| declare var Proxy: ProxyConstructor; |