Fixed #1 - Fixed the whatsnew-** script for loading release notes into builds
Added test to ensure that release notes are parsed properly Updated to latest dependencies to fix security vulnerability Updated GH Actions Workflow to run test before updating tag Updated README.md to reflect proper whatsnew documentation.
This commit is contained in:
331
node_modules/es-abstract/GetIntrinsic.js
generated
vendored
331
node_modules/es-abstract/GetIntrinsic.js
generated
vendored
@@ -1,39 +1,42 @@
|
||||
'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 undefined;
|
||||
|
||||
var ThrowTypeError = Object.getOwnPropertyDescriptor
|
||||
? (function () { return Object.getOwnPropertyDescriptor(arguments, 'callee').get; }())
|
||||
: function () { throw new TypeError(); };
|
||||
var $TypeError = TypeError;
|
||||
|
||||
var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
|
||||
var $gOPD = Object.getOwnPropertyDescriptor;
|
||||
if ($gOPD) {
|
||||
try {
|
||||
$gOPD({}, '');
|
||||
} catch (e) {
|
||||
$gOPD = null; // this is IE 8, which has a broken gOPD
|
||||
}
|
||||
}
|
||||
|
||||
var throwTypeError = function () { throw new $TypeError(); };
|
||||
var ThrowTypeError = $gOPD
|
||||
? (function () {
|
||||
try {
|
||||
// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties
|
||||
arguments.callee; // IE 8 does not throw here
|
||||
return throwTypeError;
|
||||
} catch (calleeThrows) {
|
||||
try {
|
||||
// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')
|
||||
return $gOPD(arguments, 'callee').get;
|
||||
} catch (gOPDthrows) {
|
||||
return throwTypeError;
|
||||
}
|
||||
}
|
||||
}())
|
||||
: throwTypeError;
|
||||
|
||||
var hasSymbols = require('has-symbols')();
|
||||
|
||||
var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto
|
||||
|
||||
@@ -48,130 +51,168 @@ 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
|
||||
'%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%': typeof JSON === 'object' ? JSON : undefined,
|
||||
'%JSONParse%': typeof JSON === 'object' ? JSON.parse : undefined,
|
||||
'%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 bind = require('function-bind');
|
||||
var $replace = bind.call(Function.call, String.prototype.replace);
|
||||
|
||||
var key = '$ ' + name;
|
||||
if (!(key in INTRINSICS)) {
|
||||
/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */
|
||||
var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
|
||||
var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */
|
||||
var stringToPath = function stringToPath(string) {
|
||||
var result = [];
|
||||
$replace(string, rePropName, function (match, number, quote, subString) {
|
||||
result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : (number || match);
|
||||
});
|
||||
return result;
|
||||
};
|
||||
/* end adaptation */
|
||||
|
||||
var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {
|
||||
if (!(name 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!');
|
||||
if (typeof INTRINSICS[name] === 'undefined' && !allowMissing) {
|
||||
throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
|
||||
}
|
||||
return INTRINSICS[key];
|
||||
|
||||
return INTRINSICS[name];
|
||||
};
|
||||
|
||||
module.exports = function GetIntrinsic(name, allowMissing) {
|
||||
if (typeof name !== 'string' || name.length === 0) {
|
||||
throw new TypeError('intrinsic name must be a non-empty string');
|
||||
}
|
||||
if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
|
||||
throw new TypeError('"allowMissing" argument must be a boolean');
|
||||
}
|
||||
|
||||
var parts = stringToPath(name);
|
||||
|
||||
var value = getBaseIntrinsic('%' + (parts.length > 0 ? parts[0] : '') + '%', allowMissing);
|
||||
for (var i = 1; i < parts.length; i += 1) {
|
||||
if (value != null) {
|
||||
if ($gOPD && (i + 1) >= parts.length) {
|
||||
var desc = $gOPD(value, parts[i]);
|
||||
if (!allowMissing && !(parts[i] in value)) {
|
||||
throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');
|
||||
}
|
||||
value = desc ? (desc.get || desc.value) : value[parts[i]];
|
||||
} else {
|
||||
value = value[parts[i]];
|
||||
}
|
||||
}
|
||||
}
|
||||
return value;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user