diff --git a/src/typings/es2015-proxy.d.ts b/src/typings/es2015-proxy.d.ts new file mode 100644 index 00000000000..00f7c2b0642 --- /dev/null +++ b/src/typings/es2015-proxy.d.ts @@ -0,0 +1,29 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +// from TypeScript: lib.es2015.proxy.d.ts + +interface ProxyHandler { + 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(target: T, handler: ProxyHandler): { proxy: T; revoke: () => void; }; + new (target: T, handler: ProxyHandler): T; +} +declare var Proxy: ProxyConstructor; diff --git a/src/vs/workbench/api/node/extHostConfiguration.ts b/src/vs/workbench/api/node/extHostConfiguration.ts index c41f834005e..3f033e27d68 100644 --- a/src/vs/workbench/api/node/extHostConfiguration.ts +++ b/src/vs/workbench/api/node/extHostConfiguration.ts @@ -18,8 +18,6 @@ import { ResourceMap } from 'vs/base/common/map'; import { ConfigurationScope, OVERRIDE_PROPERTY_PATTERN } from 'vs/platform/configuration/common/configurationRegistry'; import { isObject } from 'vs/base/common/types'; -declare var Proxy: any; // TODO@TypeScript - function lookUp(tree: any, key: string) { if (key) { const parts = key.split('.'); diff --git a/src/vs/workbench/services/extensions/node/rpcProtocol.ts b/src/vs/workbench/services/extensions/node/rpcProtocol.ts index 3496580a3cb..70b4592a507 100644 --- a/src/vs/workbench/services/extensions/node/rpcProtocol.ts +++ b/src/vs/workbench/services/extensions/node/rpcProtocol.ts @@ -18,8 +18,6 @@ import { RunOnceScheduler } from 'vs/base/common/async'; import { Disposable } from 'vs/base/common/lifecycle'; import { Event, Emitter } from 'vs/base/common/event'; -declare var Proxy: any; // TODO@TypeScript - function _transformOutgoingURIs(obj: any, transformer: IURITransformer, depth: number): any { if (!obj || depth > 200) { diff --git a/src/vs/workbench/test/electron-browser/api/testRPCProtocol.ts b/src/vs/workbench/test/electron-browser/api/testRPCProtocol.ts index af6d6512941..896bad189b0 100644 --- a/src/vs/workbench/test/electron-browser/api/testRPCProtocol.ts +++ b/src/vs/workbench/test/electron-browser/api/testRPCProtocol.ts @@ -23,8 +23,6 @@ export function SingleProxyRPCProtocol(thing: any): IExtHostContext { }; } -declare var Proxy: any; // TODO@TypeScript - export class TestRPCProtocol implements IExtHostContext { private _callCountValue: number = 0;