summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/es-abstract/GetIntrinsic.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/es-abstract/GetIntrinsic.js')
-rw-r--r--deps/npm/node_modules/es-abstract/GetIntrinsic.js177
1 files changed, 177 insertions, 0 deletions
diff --git a/deps/npm/node_modules/es-abstract/GetIntrinsic.js b/deps/npm/node_modules/es-abstract/GetIntrinsic.js
new file mode 100644
index 0000000000..62dbf05d63
--- /dev/null
+++ b/deps/npm/node_modules/es-abstract/GetIntrinsic.js
@@ -0,0 +1,177 @@
+'use strict';
+
+/* globals
+ Set,
+ Map,
+ WeakSet,
+ WeakMap,
+
+ Promise,
+
+ Symbol,
+ Proxy,
+
+ Atomics,
+ SharedArrayBuffer,
+
+ ArrayBuffer,
+ DataView,
+ Uint8Array,
+ Float32Array,
+ Float64Array,
+ Int8Array,
+ Int16Array,
+ Int32Array,
+ Uint8ClampedArray,
+ Uint16Array,
+ Uint32Array,
+*/
+
+var undefined; // eslint-disable-line no-shadow-restricted-names
+
+var ThrowTypeError = Object.getOwnPropertyDescriptor
+ ? (function () { return Object.getOwnPropertyDescriptor(arguments, 'callee').get; }())
+ : function () { throw new TypeError(); };
+
+var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
+
+var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto
+
+var generator; // = function * () {};
+var generatorFunction = generator ? getProto(generator) : undefined;
+var asyncFn; // async function() {};
+var asyncFunction = asyncFn ? asyncFn.constructor : undefined;
+var asyncGen; // async function * () {};
+var asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;
+var asyncGenIterator = asyncGen ? asyncGen() : undefined;
+
+var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);
+
+var INTRINSICS = {
+ '$ %Array%': Array,
+ '$ %ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,
+ '$ %ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,
+ '$ %ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,
+ '$ %ArrayPrototype%': Array.prototype,
+ '$ %ArrayProto_entries%': Array.prototype.entries,
+ '$ %ArrayProto_forEach%': Array.prototype.forEach,
+ '$ %ArrayProto_keys%': Array.prototype.keys,
+ '$ %ArrayProto_values%': Array.prototype.values,
+ '$ %AsyncFromSyncIteratorPrototype%': undefined,
+ '$ %AsyncFunction%': asyncFunction,
+ '$ %AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,
+ '$ %AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,
+ '$ %AsyncGeneratorFunction%': asyncGenFunction,
+ '$ %AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,
+ '$ %AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,
+ '$ %Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,
+ '$ %Boolean%': Boolean,
+ '$ %BooleanPrototype%': Boolean.prototype,
+ '$ %DataView%': typeof DataView === 'undefined' ? undefined : DataView,
+ '$ %DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,
+ '$ %Date%': Date,
+ '$ %DatePrototype%': Date.prototype,
+ '$ %decodeURI%': decodeURI,
+ '$ %decodeURIComponent%': decodeURIComponent,
+ '$ %encodeURI%': encodeURI,
+ '$ %encodeURIComponent%': encodeURIComponent,
+ '$ %Error%': Error,
+ '$ %ErrorPrototype%': Error.prototype,
+ '$ %eval%': eval, // eslint-disable-line no-eval
+ '$ %EvalError%': EvalError,
+ '$ %EvalErrorPrototype%': EvalError.prototype,
+ '$ %Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,
+ '$ %Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,
+ '$ %Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,
+ '$ %Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,
+ '$ %Function%': Function,
+ '$ %FunctionPrototype%': Function.prototype,
+ '$ %Generator%': generator ? getProto(generator()) : undefined,
+ '$ %GeneratorFunction%': generatorFunction,
+ '$ %GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,
+ '$ %Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,
+ '$ %Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,
+ '$ %Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,
+ '$ %Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,
+ '$ %Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,
+ '$ %Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,
+ '$ %isFinite%': isFinite,
+ '$ %isNaN%': isNaN,
+ '$ %IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,
+ '$ %JSON%': JSON,
+ '$ %JSONParse%': JSON.parse,
+ '$ %Map%': typeof Map === 'undefined' ? undefined : Map,
+ '$ %MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),
+ '$ %MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,
+ '$ %Math%': Math,
+ '$ %Number%': Number,
+ '$ %NumberPrototype%': Number.prototype,
+ '$ %Object%': Object,
+ '$ %ObjectPrototype%': Object.prototype,
+ '$ %ObjProto_toString%': Object.prototype.toString,
+ '$ %ObjProto_valueOf%': Object.prototype.valueOf,
+ '$ %parseFloat%': parseFloat,
+ '$ %parseInt%': parseInt,
+ '$ %Promise%': typeof Promise === 'undefined' ? undefined : Promise,
+ '$ %PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,
+ '$ %PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,
+ '$ %Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,
+ '$ %Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,
+ '$ %Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,
+ '$ %Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,
+ '$ %RangeError%': RangeError,
+ '$ %RangeErrorPrototype%': RangeError.prototype,
+ '$ %ReferenceError%': ReferenceError,
+ '$ %ReferenceErrorPrototype%': ReferenceError.prototype,
+ '$ %Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,
+ '$ %RegExp%': RegExp,
+ '$ %RegExpPrototype%': RegExp.prototype,
+ '$ %Set%': typeof Set === 'undefined' ? undefined : Set,
+ '$ %SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),
+ '$ %SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,
+ '$ %SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,
+ '$ %SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,
+ '$ %String%': String,
+ '$ %StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,
+ '$ %StringPrototype%': String.prototype,
+ '$ %Symbol%': hasSymbols ? Symbol : undefined,
+ '$ %SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,
+ '$ %SyntaxError%': SyntaxError,
+ '$ %SyntaxErrorPrototype%': SyntaxError.prototype,
+ '$ %ThrowTypeError%': ThrowTypeError,
+ '$ %TypedArray%': TypedArray,
+ '$ %TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,
+ '$ %TypeError%': TypeError,
+ '$ %TypeErrorPrototype%': TypeError.prototype,
+ '$ %Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,
+ '$ %Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,
+ '$ %Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,
+ '$ %Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,
+ '$ %Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,
+ '$ %Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,
+ '$ %Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,
+ '$ %Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,
+ '$ %URIError%': URIError,
+ '$ %URIErrorPrototype%': URIError.prototype,
+ '$ %WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,
+ '$ %WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,
+ '$ %WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,
+ '$ %WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype
+};
+
+module.exports = function GetIntrinsic(name, allowMissing) {
+ if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
+ throw new TypeError('"allowMissing" argument must be a boolean');
+ }
+
+ var key = '$ ' + name;
+ if (!(key in INTRINSICS)) {
+ throw new SyntaxError('intrinsic ' + name + ' does not exist!');
+ }
+
+ // istanbul ignore if // hopefully this is impossible to test :-)
+ if (typeof INTRINSICS[key] === 'undefined' && !allowMissing) {
+ throw new TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
+ }
+ return INTRINSICS[key];
+};