UNPKG

google-closure-compiler

Version:

Check, compile, optimize and compress Javascript with Closure-Compiler

144 lines (124 loc) 6.66 kB
/* * Copyright 2018 The Closure Compiler Authors. * * 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 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @fileoverview Definitions for ECMAScript 6 Proxy objects. * @see https://tc39.github.io/ecma262/#sec-proxy-objects * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy * @externs */ /** * @record * @template TARGET * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler */ function ProxyHandler() {} /** * @type {(function(TARGET):?Object)|undefined} * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-getprototypeof * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/getPrototypeOf */ ProxyHandler.prototype.getPrototypeOf /* = function(target) {} */; /** * @type {(function(TARGET, ?Object):boolean)|undefined} * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/setPrototypeOf */ ProxyHandler.prototype.setPrototypeOf /* = function(target, proto) {} */; /** * @type {(function(TARGET):boolean)|undefined} * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-isextensible * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/isExtensible */ ProxyHandler.prototype.isExtensible /* = function(target) {} */; /** * @type {(function(TARGET):boolean)|undefined} * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-preventextensions * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/preventExtensions */ ProxyHandler.prototype.preventExtensions /* = function(target) {} */; /** * @type {(function(TARGET, (string|symbol)):(!ObjectPropertyDescriptor|undefined))|undefined} * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-getownproperty-p * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/getOwnPropertyDescriptor */ ProxyHandler.prototype.getOwnPropertyDescriptor /* = function(target, prop) {} */; /** * @type {(function(TARGET, (string|symbol), !ObjectPropertyDescriptor):boolean)|undefined} * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/defineProperty */ ProxyHandler.prototype.defineProperty /* = function(target, prop, desc) {} */; /** * @type {(function(TARGET, (string|symbol)):boolean)|undefined} * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-hasproperty-p * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/has */ ProxyHandler.prototype.has /* = function(target, prop) {} */; /** * @type {(function(TARGET, (string|symbol), !Object):*)|undefined} * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/get */ ProxyHandler.prototype.get /* = function(target, prop, receiver) {} */; /** * @type {(function(TARGET, (string|symbol), *, !Object):boolean)|undefined} * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/set */ ProxyHandler.prototype.set /* = function(target, prop, value, receiver) {} */; /** * @type {(function(TARGET, (string|symbol)):boolean)|undefined} * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-delete-p * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/deleteProperty */ ProxyHandler.prototype.deleteProperty /* = function (target, prop) {} */; /** * @type {(function(TARGET):!Array<(string|symbol)>)|undefined} * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/ownKeys */ ProxyHandler.prototype.ownKeys /* = function(target) {} */; /** * @type {(function(TARGET, *, !Array):*)|undefined} * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-call-thisargument-argumentslist * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/apply */ ProxyHandler.prototype.apply /* = function(target, thisArg, argList) {} */; /** * @type {(function(TARGET, !Array, function(new: ?, ...?)):!Object)|undefined} * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/construct */ ProxyHandler.prototype.construct /* = function(target, argList, newTarget) {} */; /** * @constructor * @param {TARGET} target * @param {!ProxyHandler<TARGET>} handler * @template TARGET * @see https://tc39.github.io/ecma262/#sec-proxy-constructor * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy#Syntax */ function Proxy(target, handler) {} /** * @param {TARGET} target * @param {!ProxyHandler<TARGET>} handler * @return {{proxy: !Proxy<TARGET>, revoke: function():void}} * @template TARGET * @see https://tc39.github.io/ecma262/#sec-proxy.revocable * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/revocable */ Proxy.revocable = function(target, handler) {};