Initial commit
This commit is contained in:
		
							
								
								
									
										37
									
								
								node_modules/es-abstract/2020/AbstractEqualityComparison.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								node_modules/es-abstract/2020/AbstractEqualityComparison.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var ToNumber = require('./ToNumber');
 | 
			
		||||
var ToPrimitive = require('./ToPrimitive');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-abstract-equality-comparison
 | 
			
		||||
 | 
			
		||||
module.exports = function AbstractEqualityComparison(x, y) {
 | 
			
		||||
	var xType = Type(x);
 | 
			
		||||
	var yType = Type(y);
 | 
			
		||||
	if (xType === yType) {
 | 
			
		||||
		return x === y; // ES6+ specified this shortcut anyways.
 | 
			
		||||
	}
 | 
			
		||||
	if (x == null && y == null) {
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
	if (xType === 'Number' && yType === 'String') {
 | 
			
		||||
		return AbstractEqualityComparison(x, ToNumber(y));
 | 
			
		||||
	}
 | 
			
		||||
	if (xType === 'String' && yType === 'Number') {
 | 
			
		||||
		return AbstractEqualityComparison(ToNumber(x), y);
 | 
			
		||||
	}
 | 
			
		||||
	if (xType === 'Boolean') {
 | 
			
		||||
		return AbstractEqualityComparison(ToNumber(x), y);
 | 
			
		||||
	}
 | 
			
		||||
	if (yType === 'Boolean') {
 | 
			
		||||
		return AbstractEqualityComparison(x, ToNumber(y));
 | 
			
		||||
	}
 | 
			
		||||
	if ((xType === 'String' || xType === 'Number' || xType === 'Symbol') && yType === 'Object') {
 | 
			
		||||
		return AbstractEqualityComparison(x, ToPrimitive(y));
 | 
			
		||||
	}
 | 
			
		||||
	if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol')) {
 | 
			
		||||
		return AbstractEqualityComparison(ToPrimitive(x), y);
 | 
			
		||||
	}
 | 
			
		||||
	return false;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										63
									
								
								node_modules/es-abstract/2020/AbstractRelationalComparison.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								node_modules/es-abstract/2020/AbstractRelationalComparison.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,63 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $Number = GetIntrinsic('%Number%');
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var $isNaN = require('../helpers/isNaN');
 | 
			
		||||
var $isFinite = require('../helpers/isFinite');
 | 
			
		||||
var isPrefixOf = require('../helpers/isPrefixOf');
 | 
			
		||||
 | 
			
		||||
var ToNumber = require('./ToNumber');
 | 
			
		||||
var ToPrimitive = require('./ToPrimitive');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/5.1/#sec-11.8.5
 | 
			
		||||
 | 
			
		||||
// eslint-disable-next-line max-statements
 | 
			
		||||
module.exports = function AbstractRelationalComparison(x, y, LeftFirst) {
 | 
			
		||||
	if (Type(LeftFirst) !== 'Boolean') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: LeftFirst argument must be a Boolean');
 | 
			
		||||
	}
 | 
			
		||||
	var px;
 | 
			
		||||
	var py;
 | 
			
		||||
	if (LeftFirst) {
 | 
			
		||||
		px = ToPrimitive(x, $Number);
 | 
			
		||||
		py = ToPrimitive(y, $Number);
 | 
			
		||||
	} else {
 | 
			
		||||
		py = ToPrimitive(y, $Number);
 | 
			
		||||
		px = ToPrimitive(x, $Number);
 | 
			
		||||
	}
 | 
			
		||||
	var bothStrings = Type(px) === 'String' && Type(py) === 'String';
 | 
			
		||||
	if (!bothStrings) {
 | 
			
		||||
		var nx = ToNumber(px);
 | 
			
		||||
		var ny = ToNumber(py);
 | 
			
		||||
		if ($isNaN(nx) || $isNaN(ny)) {
 | 
			
		||||
			return undefined;
 | 
			
		||||
		}
 | 
			
		||||
		if ($isFinite(nx) && $isFinite(ny) && nx === ny) {
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
		if (nx === Infinity) {
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
		if (ny === Infinity) {
 | 
			
		||||
			return true;
 | 
			
		||||
		}
 | 
			
		||||
		if (ny === -Infinity) {
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
		if (nx === -Infinity) {
 | 
			
		||||
			return true;
 | 
			
		||||
		}
 | 
			
		||||
		return nx < ny; // by now, these are both nonzero, finite, and not equal
 | 
			
		||||
	}
 | 
			
		||||
	if (isPrefixOf(py, px)) {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
	if (isPrefixOf(px, py)) {
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
	return px < py; // both strings, neither a prefix of the other. shortcut for steps c-f
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										52
									
								
								node_modules/es-abstract/2020/AddEntriesFromIterable.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								node_modules/es-abstract/2020/AddEntriesFromIterable.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var inspect = require('object-inspect');
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Call = require('./Call');
 | 
			
		||||
var Get = require('./Get');
 | 
			
		||||
var GetIterator = require('./GetIterator');
 | 
			
		||||
var IsCallable = require('./IsCallable');
 | 
			
		||||
var IteratorClose = require('./IteratorClose');
 | 
			
		||||
var IteratorStep = require('./IteratorStep');
 | 
			
		||||
var IteratorValue = require('./IteratorValue');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/10.0//#sec-add-entries-from-iterable
 | 
			
		||||
 | 
			
		||||
module.exports = function AddEntriesFromIterable(target, iterable, adder) {
 | 
			
		||||
	if (!IsCallable(adder)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `adder` is not callable');
 | 
			
		||||
	}
 | 
			
		||||
	if (iterable == null) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `iterable` is present, and not nullish');
 | 
			
		||||
	}
 | 
			
		||||
	var iteratorRecord = GetIterator(iterable);
 | 
			
		||||
	while (true) { // eslint-disable-line no-constant-condition
 | 
			
		||||
		var next = IteratorStep(iteratorRecord);
 | 
			
		||||
		if (!next) {
 | 
			
		||||
			return target;
 | 
			
		||||
		}
 | 
			
		||||
		var nextItem = IteratorValue(next);
 | 
			
		||||
		if (Type(nextItem) !== 'Object') {
 | 
			
		||||
			var error = new $TypeError('iterator next must return an Object, got ' + inspect(nextItem));
 | 
			
		||||
			return IteratorClose(
 | 
			
		||||
				iteratorRecord,
 | 
			
		||||
				function () { throw error; } // eslint-disable-line no-loop-func
 | 
			
		||||
			);
 | 
			
		||||
		}
 | 
			
		||||
		try {
 | 
			
		||||
			var k = Get(nextItem, '0');
 | 
			
		||||
			var v = Get(nextItem, '1');
 | 
			
		||||
			Call(adder, target, [k, v]);
 | 
			
		||||
		} catch (e) {
 | 
			
		||||
			return IteratorClose(
 | 
			
		||||
				iteratorRecord,
 | 
			
		||||
				function () { throw e; }
 | 
			
		||||
			);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										34
									
								
								node_modules/es-abstract/2020/AdvanceStringIndex.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								node_modules/es-abstract/2020/AdvanceStringIndex.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var CodePointAt = require('./CodePointAt');
 | 
			
		||||
var IsInteger = require('./IsInteger');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/6.0/#sec-advancestringindex
 | 
			
		||||
 | 
			
		||||
module.exports = function AdvanceStringIndex(S, index, unicode) {
 | 
			
		||||
	if (Type(S) !== 'String') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `S` must be a String');
 | 
			
		||||
	}
 | 
			
		||||
	if (!IsInteger(index) || index < 0 || index > MAX_SAFE_INTEGER) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `length` must be an integer >= 0 and <= 2**53');
 | 
			
		||||
	}
 | 
			
		||||
	if (Type(unicode) !== 'Boolean') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `unicode` must be a Boolean');
 | 
			
		||||
	}
 | 
			
		||||
	if (!unicode) {
 | 
			
		||||
		return index + 1;
 | 
			
		||||
	}
 | 
			
		||||
	var length = S.length;
 | 
			
		||||
	if ((index + 1) >= length) {
 | 
			
		||||
		return index + 1;
 | 
			
		||||
	}
 | 
			
		||||
	var cp = CodePointAt(S, index);
 | 
			
		||||
	return index + cp['[[CodeUnitCount]]'];
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										53
									
								
								node_modules/es-abstract/2020/ArrayCreate.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								node_modules/es-abstract/2020/ArrayCreate.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $ArrayPrototype = GetIntrinsic('%Array.prototype%');
 | 
			
		||||
var $RangeError = GetIntrinsic('%RangeError%');
 | 
			
		||||
var $SyntaxError = GetIntrinsic('%SyntaxError%');
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var IsInteger = require('./IsInteger');
 | 
			
		||||
 | 
			
		||||
var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
 | 
			
		||||
 | 
			
		||||
var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || (
 | 
			
		||||
	// eslint-disable-next-line no-proto, no-negated-condition
 | 
			
		||||
	[].__proto__ !== $ArrayPrototype
 | 
			
		||||
		? null
 | 
			
		||||
		: function (O, proto) {
 | 
			
		||||
			O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign
 | 
			
		||||
			return O;
 | 
			
		||||
		}
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-arraycreate
 | 
			
		||||
 | 
			
		||||
module.exports = function ArrayCreate(length) {
 | 
			
		||||
	if (!IsInteger(length) || length < 0) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `length` must be an integer Number >= 0');
 | 
			
		||||
	}
 | 
			
		||||
	if (length > MAX_ARRAY_LENGTH) {
 | 
			
		||||
		throw new $RangeError('length is greater than (2**32 - 1)');
 | 
			
		||||
	}
 | 
			
		||||
	var proto = arguments.length > 1 ? arguments[1] : $ArrayPrototype;
 | 
			
		||||
	var A = []; // steps 5 - 7, and 9
 | 
			
		||||
	if (proto !== $ArrayPrototype) { // step 8
 | 
			
		||||
		if (!$setProto) {
 | 
			
		||||
			throw new $SyntaxError('ArrayCreate: a `proto` argument that is not `Array.prototype` is not supported in an environment that does not support setting the [[Prototype]]');
 | 
			
		||||
		}
 | 
			
		||||
		$setProto(A, proto);
 | 
			
		||||
	}
 | 
			
		||||
	if (length !== 0) { // bypasses the need for step 2
 | 
			
		||||
		A.length = length;
 | 
			
		||||
	}
 | 
			
		||||
	/* step 10, the above as a shortcut for the below
 | 
			
		||||
    OrdinaryDefineOwnProperty(A, 'length', {
 | 
			
		||||
        '[[Configurable]]': false,
 | 
			
		||||
        '[[Enumerable]]': false,
 | 
			
		||||
        '[[Value]]': length,
 | 
			
		||||
        '[[Writable]]': true
 | 
			
		||||
    });
 | 
			
		||||
    */
 | 
			
		||||
	return A;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										85
									
								
								node_modules/es-abstract/2020/ArraySetLength.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								node_modules/es-abstract/2020/ArraySetLength.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,85 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $RangeError = GetIntrinsic('%RangeError%');
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var assign = require('object.assign');
 | 
			
		||||
 | 
			
		||||
var isPropertyDescriptor = require('../helpers/isPropertyDescriptor');
 | 
			
		||||
 | 
			
		||||
var IsArray = require('./IsArray');
 | 
			
		||||
var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 | 
			
		||||
var IsDataDescriptor = require('./IsDataDescriptor');
 | 
			
		||||
var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty');
 | 
			
		||||
var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty');
 | 
			
		||||
var ToNumber = require('./ToNumber');
 | 
			
		||||
var ToString = require('./ToString');
 | 
			
		||||
var ToUint32 = require('./ToUint32');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-arraysetlength
 | 
			
		||||
 | 
			
		||||
// eslint-disable-next-line max-statements, max-lines-per-function
 | 
			
		||||
module.exports = function ArraySetLength(A, Desc) {
 | 
			
		||||
	if (!IsArray(A)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: A must be an Array');
 | 
			
		||||
	}
 | 
			
		||||
	if (!isPropertyDescriptor({
 | 
			
		||||
		Type: Type,
 | 
			
		||||
		IsDataDescriptor: IsDataDescriptor,
 | 
			
		||||
		IsAccessorDescriptor: IsAccessorDescriptor
 | 
			
		||||
	}, Desc)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: Desc must be a Property Descriptor');
 | 
			
		||||
	}
 | 
			
		||||
	if (!('[[Value]]' in Desc)) {
 | 
			
		||||
		return OrdinaryDefineOwnProperty(A, 'length', Desc);
 | 
			
		||||
	}
 | 
			
		||||
	var newLenDesc = assign({}, Desc);
 | 
			
		||||
	var newLen = ToUint32(Desc['[[Value]]']);
 | 
			
		||||
	var numberLen = ToNumber(Desc['[[Value]]']);
 | 
			
		||||
	if (newLen !== numberLen) {
 | 
			
		||||
		throw new $RangeError('Invalid array length');
 | 
			
		||||
	}
 | 
			
		||||
	newLenDesc['[[Value]]'] = newLen;
 | 
			
		||||
	var oldLenDesc = OrdinaryGetOwnProperty(A, 'length');
 | 
			
		||||
	if (!IsDataDescriptor(oldLenDesc)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: an array had a non-data descriptor on `length`');
 | 
			
		||||
	}
 | 
			
		||||
	var oldLen = oldLenDesc['[[Value]]'];
 | 
			
		||||
	if (newLen >= oldLen) {
 | 
			
		||||
		return OrdinaryDefineOwnProperty(A, 'length', newLenDesc);
 | 
			
		||||
	}
 | 
			
		||||
	if (!oldLenDesc['[[Writable]]']) {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
	var newWritable;
 | 
			
		||||
	if (!('[[Writable]]' in newLenDesc) || newLenDesc['[[Writable]]']) {
 | 
			
		||||
		newWritable = true;
 | 
			
		||||
	} else {
 | 
			
		||||
		newWritable = false;
 | 
			
		||||
		newLenDesc['[[Writable]]'] = true;
 | 
			
		||||
	}
 | 
			
		||||
	var succeeded = OrdinaryDefineOwnProperty(A, 'length', newLenDesc);
 | 
			
		||||
	if (!succeeded) {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
	while (newLen < oldLen) {
 | 
			
		||||
		oldLen -= 1;
 | 
			
		||||
		// eslint-disable-next-line no-param-reassign
 | 
			
		||||
		var deleteSucceeded = delete A[ToString(oldLen)];
 | 
			
		||||
		if (!deleteSucceeded) {
 | 
			
		||||
			newLenDesc['[[Value]]'] = oldLen + 1;
 | 
			
		||||
			if (!newWritable) {
 | 
			
		||||
				newLenDesc['[[Writable]]'] = false;
 | 
			
		||||
				OrdinaryDefineOwnProperty(A, 'length', newLenDesc);
 | 
			
		||||
				return false;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if (!newWritable) {
 | 
			
		||||
		return OrdinaryDefineOwnProperty(A, 'length', { '[[Writable]]': false });
 | 
			
		||||
	}
 | 
			
		||||
	return true;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										46
									
								
								node_modules/es-abstract/2020/ArraySpeciesCreate.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								node_modules/es-abstract/2020/ArraySpeciesCreate.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $Array = GetIntrinsic('%Array%');
 | 
			
		||||
var $species = GetIntrinsic('%Symbol.species%', true);
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Get = require('./Get');
 | 
			
		||||
var IsArray = require('./IsArray');
 | 
			
		||||
var IsConstructor = require('./IsConstructor');
 | 
			
		||||
var IsInteger = require('./IsInteger');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate
 | 
			
		||||
 | 
			
		||||
module.exports = function ArraySpeciesCreate(originalArray, length) {
 | 
			
		||||
	if (!IsInteger(length) || length < 0) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: length must be an integer >= 0');
 | 
			
		||||
	}
 | 
			
		||||
	var len = length === 0 ? 0 : length;
 | 
			
		||||
	var C;
 | 
			
		||||
	var isArray = IsArray(originalArray);
 | 
			
		||||
	if (isArray) {
 | 
			
		||||
		C = Get(originalArray, 'constructor');
 | 
			
		||||
		// TODO: figure out how to make a cross-realm normal Array, a same-realm Array
 | 
			
		||||
		// if (IsConstructor(C)) {
 | 
			
		||||
		// 	if C is another realm's Array, C = undefined
 | 
			
		||||
		// 	Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?
 | 
			
		||||
		// }
 | 
			
		||||
		if ($species && Type(C) === 'Object') {
 | 
			
		||||
			C = Get(C, $species);
 | 
			
		||||
			if (C === null) {
 | 
			
		||||
				C = void 0;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if (typeof C === 'undefined') {
 | 
			
		||||
		return $Array(len);
 | 
			
		||||
	}
 | 
			
		||||
	if (!IsConstructor(C)) {
 | 
			
		||||
		throw new $TypeError('C must be a constructor');
 | 
			
		||||
	}
 | 
			
		||||
	return new C(len); // Construct(C, len);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/add.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/add.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-add
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntAdd(x, y) {
 | 
			
		||||
	if (Type(x) !== 'BigInt' || Type(y) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// shortcut for the actual spec mechanics
 | 
			
		||||
	return x + y;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										17
									
								
								node_modules/es-abstract/2020/BigInt/bitwiseAND.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								node_modules/es-abstract/2020/BigInt/bitwiseAND.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var BigIntBitwiseOp = require('../BigIntBitwiseOp');
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-bitwiseAND
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntBitwiseAND(x, y) {
 | 
			
		||||
	if (Type(x) !== 'BigInt' || Type(y) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
	return BigIntBitwiseOp('&', x, y);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										17
									
								
								node_modules/es-abstract/2020/BigInt/bitwiseNOT.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								node_modules/es-abstract/2020/BigInt/bitwiseNOT.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $BigInt = GetIntrinsic('%BigInt%', true);
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-bitwiseNOT
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntBitwiseNOT(x) {
 | 
			
		||||
	if (Type(x) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` argument must be a BigInt');
 | 
			
		||||
	}
 | 
			
		||||
	return -x - $BigInt(1);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										17
									
								
								node_modules/es-abstract/2020/BigInt/bitwiseOR.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								node_modules/es-abstract/2020/BigInt/bitwiseOR.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var BigIntBitwiseOp = require('../BigIntBitwiseOp');
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-bitwiseOR
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntBitwiseOR(x, y) {
 | 
			
		||||
	if (Type(x) !== 'BigInt' || Type(y) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
	return BigIntBitwiseOp('|', x, y);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										17
									
								
								node_modules/es-abstract/2020/BigInt/bitwiseXOR.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								node_modules/es-abstract/2020/BigInt/bitwiseXOR.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var BigIntBitwiseOp = require('../BigIntBitwiseOp');
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-bitwiseXOR
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntBitwiseXOR(x, y) {
 | 
			
		||||
	if (Type(x) !== 'BigInt' || Type(y) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
	return BigIntBitwiseOp('^', x, y);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										22
									
								
								node_modules/es-abstract/2020/BigInt/divide.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								node_modules/es-abstract/2020/BigInt/divide.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $BigInt = GetIntrinsic('%BigInt%', true);
 | 
			
		||||
var $RangeError = GetIntrinsic('%RangeError%');
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-divide
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntDivide(x, y) {
 | 
			
		||||
	if (Type(x) !== 'BigInt' || Type(y) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
	if (y === $BigInt(0)) {
 | 
			
		||||
		throw new $RangeError('Division by zero');
 | 
			
		||||
	}
 | 
			
		||||
	// shortcut for the actual spec mechanics
 | 
			
		||||
	return x / y;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										17
									
								
								node_modules/es-abstract/2020/BigInt/equal.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								node_modules/es-abstract/2020/BigInt/equal.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-equal
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntEqual(x, y) {
 | 
			
		||||
	if (Type(x) !== 'BigInt' || Type(y) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
	// shortcut for the actual spec mechanics
 | 
			
		||||
	return x === y;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										31
									
								
								node_modules/es-abstract/2020/BigInt/exponentiate.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								node_modules/es-abstract/2020/BigInt/exponentiate.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $BigInt = GetIntrinsic('%BigInt%', true);
 | 
			
		||||
var $RangeError = GetIntrinsic('%RangeError%');
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-exponentiate
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntExponentiate(base, exponent) {
 | 
			
		||||
	if (Type(base) !== 'BigInt' || Type(exponent) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `base` and `exponent` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
	if (exponent < $BigInt(0)) {
 | 
			
		||||
		throw new $RangeError('Exponent must be positive');
 | 
			
		||||
	}
 | 
			
		||||
	if (/* base === $BigInt(0) && */ exponent === $BigInt(0)) {
 | 
			
		||||
		return $BigInt(1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var square = base;
 | 
			
		||||
	var remaining = exponent;
 | 
			
		||||
	while (remaining > $BigInt(0)) {
 | 
			
		||||
		square += exponent;
 | 
			
		||||
		--remaining; // eslint-disable-line no-plusplus
 | 
			
		||||
	}
 | 
			
		||||
	return square;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										43
									
								
								node_modules/es-abstract/2020/BigInt/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								node_modules/es-abstract/2020/BigInt/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var add = require('./add');
 | 
			
		||||
var bitwiseAND = require('./bitwiseAND');
 | 
			
		||||
var bitwiseNOT = require('./bitwiseNOT');
 | 
			
		||||
var bitwiseOR = require('./bitwiseOR');
 | 
			
		||||
var bitwiseXOR = require('./bitwiseXOR');
 | 
			
		||||
var divide = require('./divide');
 | 
			
		||||
var equal = require('./equal');
 | 
			
		||||
var exponentiate = require('./exponentiate');
 | 
			
		||||
var leftShift = require('./leftShift');
 | 
			
		||||
var lessThan = require('./lessThan');
 | 
			
		||||
var multiply = require('./multiply');
 | 
			
		||||
var remainder = require('./remainder');
 | 
			
		||||
var sameValue = require('./sameValue');
 | 
			
		||||
var sameValueZero = require('./sameValueZero');
 | 
			
		||||
var signedRightShift = require('./signedRightShift');
 | 
			
		||||
var subtract = require('./subtract');
 | 
			
		||||
var toString = require('./toString');
 | 
			
		||||
var unaryMinus = require('./unaryMinus');
 | 
			
		||||
var unsignedRightShift = require('./unsignedRightShift');
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
	add: add,
 | 
			
		||||
	bitwiseAND: bitwiseAND,
 | 
			
		||||
	bitwiseNOT: bitwiseNOT,
 | 
			
		||||
	bitwiseOR: bitwiseOR,
 | 
			
		||||
	bitwiseXOR: bitwiseXOR,
 | 
			
		||||
	divide: divide,
 | 
			
		||||
	equal: equal,
 | 
			
		||||
	exponentiate: exponentiate,
 | 
			
		||||
	leftShift: leftShift,
 | 
			
		||||
	lessThan: lessThan,
 | 
			
		||||
	multiply: multiply,
 | 
			
		||||
	remainder: remainder,
 | 
			
		||||
	sameValue: sameValue,
 | 
			
		||||
	sameValueZero: sameValueZero,
 | 
			
		||||
	signedRightShift: signedRightShift,
 | 
			
		||||
	subtract: subtract,
 | 
			
		||||
	toString: toString,
 | 
			
		||||
	unaryMinus: unaryMinus,
 | 
			
		||||
	unsignedRightShift: unsignedRightShift
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/leftShift.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/leftShift.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-leftShift
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntLeftShift(x, y) {
 | 
			
		||||
	if (Type(x) !== 'BigInt' || Type(y) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// shortcut for the actual spec mechanics
 | 
			
		||||
	return x << y;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/lessThan.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/lessThan.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-lessThan
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntLessThan(x, y) {
 | 
			
		||||
	if (Type(x) !== 'BigInt' || Type(y) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// shortcut for the actual spec mechanics
 | 
			
		||||
	return x < y;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/multiply.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/multiply.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-multiply
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntMultiply(x, y) {
 | 
			
		||||
	if (Type(x) !== 'BigInt' || Type(y) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// shortcut for the actual spec mechanics
 | 
			
		||||
	return x * y;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										30
									
								
								node_modules/es-abstract/2020/BigInt/remainder.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								node_modules/es-abstract/2020/BigInt/remainder.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $BigInt = GetIntrinsic('%BigInt%', true);
 | 
			
		||||
var $RangeError = GetIntrinsic('%RangeError%');
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
var zero = $BigInt && $BigInt(0);
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-remainder
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntRemainder(n, d) {
 | 
			
		||||
	if (Type(n) !== 'BigInt' || Type(d) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `n` and `d` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (d === zero) {
 | 
			
		||||
		throw new $RangeError('Division by zero');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (n === zero) {
 | 
			
		||||
		return zero;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// shortcut for the actual spec mechanics
 | 
			
		||||
	return n % d;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/sameValue.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/sameValue.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
var BigIntEqual = require('./equal');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-sameValue
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntSameValue(x, y) {
 | 
			
		||||
	if (Type(x) !== 'BigInt' || Type(y) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return BigIntEqual(x, y);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/sameValueZero.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/sameValueZero.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
var BigIntEqual = require('./equal');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-sameValueZero
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntSameValueZero(x, y) {
 | 
			
		||||
	if (Type(x) !== 'BigInt' || Type(y) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return BigIntEqual(x, y);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/signedRightShift.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/signedRightShift.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
var BigIntLeftShift = require('./leftShift');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-signedRightShift
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntSignedRightShift(x, y) {
 | 
			
		||||
	if (Type(x) !== 'BigInt' || Type(y) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return BigIntLeftShift(x, -y);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/subtract.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/subtract.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-subtract
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntSubtract(x, y) {
 | 
			
		||||
	if (Type(x) !== 'BigInt' || Type(y) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// shortcut for the actual spec mechanics
 | 
			
		||||
	return x - y;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/toString.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								node_modules/es-abstract/2020/BigInt/toString.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $String = GetIntrinsic('%String%');
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-tostring
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntToString(x) {
 | 
			
		||||
	if (Type(x) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` must be a BigInt');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return $String(x);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										24
									
								
								node_modules/es-abstract/2020/BigInt/unaryMinus.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								node_modules/es-abstract/2020/BigInt/unaryMinus.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $BigInt = GetIntrinsic('%BigInt%', true);
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
var zero = $BigInt && $BigInt(0);
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-unaryMinus
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntUnaryMinus(x) {
 | 
			
		||||
	if (Type(x) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` argument must be a BigInt');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (x === zero) {
 | 
			
		||||
		return zero;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return -x;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										17
									
								
								node_modules/es-abstract/2020/BigInt/unsignedRightShift.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								node_modules/es-abstract/2020/BigInt/unsignedRightShift.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-bigint-unsignedRightShift
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntUnsignedRightShift(x, y) {
 | 
			
		||||
	if (Type(x) !== 'BigInt' || Type(y) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	throw new $TypeError('BigInts have no unsigned right shift, use >> instead');
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										66
									
								
								node_modules/es-abstract/2020/BigIntBitwiseOp.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								node_modules/es-abstract/2020/BigIntBitwiseOp.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,66 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
// var $BigInt = GetIntrinsic('%BigInt%', true);
 | 
			
		||||
// var $pow = GetIntrinsic('%Math.pow%');
 | 
			
		||||
 | 
			
		||||
// var BinaryAnd = require('./BinaryAnd');
 | 
			
		||||
// var BinaryOr = require('./BinaryOr');
 | 
			
		||||
// var BinaryXor = require('./BinaryXor');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
// var modulo = require('./modulo');
 | 
			
		||||
 | 
			
		||||
// var zero = $BigInt && $BigInt(0);
 | 
			
		||||
// var negOne = $BigInt && $BigInt(-1);
 | 
			
		||||
// var two = $BigInt && $BigInt(2);
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-bigintbitwiseop
 | 
			
		||||
 | 
			
		||||
module.exports = function BigIntBitwiseOp(op, x, y) {
 | 
			
		||||
	if (op !== '&' && op !== '|' && op !== '^') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `op` must be `&`, `|`, or `^`');
 | 
			
		||||
	}
 | 
			
		||||
	if (Type(x) !== 'BigInt' || Type(y) !== 'BigInt') {
 | 
			
		||||
		throw new $TypeError('`x` and `y` must be BigInts');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (op === '&') {
 | 
			
		||||
		return x & y;
 | 
			
		||||
	}
 | 
			
		||||
	if (op === '|') {
 | 
			
		||||
		return x | y;
 | 
			
		||||
	}
 | 
			
		||||
	return x ^ y;
 | 
			
		||||
	/*
 | 
			
		||||
	var result = zero;
 | 
			
		||||
	var shift = 0;
 | 
			
		||||
	while (x !== zero && x !== negOne && y !== zero && y !== negOne) {
 | 
			
		||||
		var xDigit = modulo(x, two);
 | 
			
		||||
		var yDigit = modulo(y, two);
 | 
			
		||||
		if (op === '&') {
 | 
			
		||||
			result += $pow(2, shift) * BinaryAnd(xDigit, yDigit);
 | 
			
		||||
		} else if (op === '|') {
 | 
			
		||||
			result += $pow(2, shift) * BinaryOr(xDigit, yDigit);
 | 
			
		||||
		} else if (op === '^') {
 | 
			
		||||
			result += $pow(2, shift) * BinaryXor(xDigit, yDigit);
 | 
			
		||||
		}
 | 
			
		||||
		shift += 1;
 | 
			
		||||
		x = (x - xDigit) / two;
 | 
			
		||||
		y = (y - yDigit) / two;
 | 
			
		||||
	}
 | 
			
		||||
	var tmp;
 | 
			
		||||
	if (op === '&') {
 | 
			
		||||
		tmp = BinaryAnd(modulo(x, two), modulo(y, two));
 | 
			
		||||
	} else if (op === '|') {
 | 
			
		||||
		tmp = BinaryAnd(modulo(x, two), modulo(y, two));
 | 
			
		||||
	} else {
 | 
			
		||||
		tmp = BinaryXor(modulo(x, two), modulo(y, two));
 | 
			
		||||
	}
 | 
			
		||||
	if (tmp !== 0) {
 | 
			
		||||
		result -= $pow(2, shift);
 | 
			
		||||
	}
 | 
			
		||||
    return result;
 | 
			
		||||
    */
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										14
									
								
								node_modules/es-abstract/2020/BinaryAnd.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								node_modules/es-abstract/2020/BinaryAnd.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-binaryand
 | 
			
		||||
 | 
			
		||||
module.exports = function BinaryAnd(x, y) {
 | 
			
		||||
	if ((x !== 0 && x !== 1) || (y !== 0 && y !== 1)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` must be either 0 or 1');
 | 
			
		||||
	}
 | 
			
		||||
	return x & y;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										14
									
								
								node_modules/es-abstract/2020/BinaryOr.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								node_modules/es-abstract/2020/BinaryOr.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-binaryor
 | 
			
		||||
 | 
			
		||||
module.exports = function BinaryOr(x, y) {
 | 
			
		||||
	if ((x !== 0 && x !== 1) || (y !== 0 && y !== 1)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` must be either 0 or 1');
 | 
			
		||||
	}
 | 
			
		||||
	return x | y;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										14
									
								
								node_modules/es-abstract/2020/BinaryXor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								node_modules/es-abstract/2020/BinaryXor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-binaryxor
 | 
			
		||||
 | 
			
		||||
module.exports = function BinaryXor(x, y) {
 | 
			
		||||
	if ((x !== 0 && x !== 1) || (y !== 0 && y !== 1)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` must be either 0 or 1');
 | 
			
		||||
	}
 | 
			
		||||
	return x ^ y;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										20
									
								
								node_modules/es-abstract/2020/Call.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								node_modules/es-abstract/2020/Call.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
var callBound = require('call-bind/callBound');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var IsArray = require('./IsArray');
 | 
			
		||||
 | 
			
		||||
var $apply = GetIntrinsic('%Reflect.apply%', true) || callBound('%Function.prototype.apply%');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-call
 | 
			
		||||
 | 
			
		||||
module.exports = function Call(F, V) {
 | 
			
		||||
	var argumentsList = arguments.length > 2 ? arguments[2] : [];
 | 
			
		||||
	if (!IsArray(argumentsList)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: optional `argumentsList`, if provided, must be a List');
 | 
			
		||||
	}
 | 
			
		||||
	return $apply(F, V, argumentsList);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										22
									
								
								node_modules/es-abstract/2020/CanonicalNumericIndexString.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								node_modules/es-abstract/2020/CanonicalNumericIndexString.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var SameValue = require('./SameValue');
 | 
			
		||||
var ToNumber = require('./ToNumber');
 | 
			
		||||
var ToString = require('./ToString');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring
 | 
			
		||||
 | 
			
		||||
module.exports = function CanonicalNumericIndexString(argument) {
 | 
			
		||||
	if (Type(argument) !== 'String') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `argument` must be a String');
 | 
			
		||||
	}
 | 
			
		||||
	if (argument === '-0') { return -0; }
 | 
			
		||||
	var n = ToNumber(argument);
 | 
			
		||||
	if (SameValue(ToString(n), argument)) { return n; }
 | 
			
		||||
	return void 0;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										58
									
								
								node_modules/es-abstract/2020/CodePointAt.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								node_modules/es-abstract/2020/CodePointAt.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,58 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
var callBound = require('call-bind/callBound');
 | 
			
		||||
var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
 | 
			
		||||
var isTrailingSurrogate = require('../helpers/isTrailingSurrogate');
 | 
			
		||||
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
var UTF16DecodeSurrogatePair = require('./UTF16DecodeSurrogatePair');
 | 
			
		||||
 | 
			
		||||
var $charAt = callBound('String.prototype.charAt');
 | 
			
		||||
var $charCodeAt = callBound('String.prototype.charCodeAt');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-codepointat
 | 
			
		||||
 | 
			
		||||
module.exports = function CodePointAt(string, position) {
 | 
			
		||||
	if (Type(string) !== 'String') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `string` must be a String');
 | 
			
		||||
	}
 | 
			
		||||
	var size = string.length;
 | 
			
		||||
	if (position < 0 || position >= size) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `position` must be >= 0, and < the length of `string`');
 | 
			
		||||
	}
 | 
			
		||||
	var first = $charCodeAt(string, position);
 | 
			
		||||
	var cp = $charAt(string, position);
 | 
			
		||||
	var firstIsLeading = isLeadingSurrogate(first);
 | 
			
		||||
	var firstIsTrailing = isTrailingSurrogate(first);
 | 
			
		||||
	if (!firstIsLeading && !firstIsTrailing) {
 | 
			
		||||
		return {
 | 
			
		||||
			'[[CodePoint]]': cp,
 | 
			
		||||
			'[[CodeUnitCount]]': 1,
 | 
			
		||||
			'[[IsUnpairedSurrogate]]': false
 | 
			
		||||
		};
 | 
			
		||||
	}
 | 
			
		||||
	if (firstIsTrailing || (position + 1 === size)) {
 | 
			
		||||
		return {
 | 
			
		||||
			'[[CodePoint]]': cp,
 | 
			
		||||
			'[[CodeUnitCount]]': 1,
 | 
			
		||||
			'[[IsUnpairedSurrogate]]': true
 | 
			
		||||
		};
 | 
			
		||||
	}
 | 
			
		||||
	var second = $charCodeAt(string, position + 1);
 | 
			
		||||
	if (!isTrailingSurrogate(second)) {
 | 
			
		||||
		return {
 | 
			
		||||
			'[[CodePoint]]': cp,
 | 
			
		||||
			'[[CodeUnitCount]]': 1,
 | 
			
		||||
			'[[IsUnpairedSurrogate]]': true
 | 
			
		||||
		};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return {
 | 
			
		||||
		'[[CodePoint]]': UTF16DecodeSurrogatePair(first, second),
 | 
			
		||||
		'[[CodeUnitCount]]': 2,
 | 
			
		||||
		'[[IsUnpairedSurrogate]]': false
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										39
									
								
								node_modules/es-abstract/2020/CompletePropertyDescriptor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								node_modules/es-abstract/2020/CompletePropertyDescriptor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var has = require('has');
 | 
			
		||||
 | 
			
		||||
var assertRecord = require('../helpers/assertRecord');
 | 
			
		||||
 | 
			
		||||
var IsDataDescriptor = require('./IsDataDescriptor');
 | 
			
		||||
var IsGenericDescriptor = require('./IsGenericDescriptor');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor
 | 
			
		||||
 | 
			
		||||
module.exports = function CompletePropertyDescriptor(Desc) {
 | 
			
		||||
	/* eslint no-param-reassign: 0 */
 | 
			
		||||
	assertRecord(Type, 'Property Descriptor', 'Desc', Desc);
 | 
			
		||||
 | 
			
		||||
	if (IsGenericDescriptor(Desc) || IsDataDescriptor(Desc)) {
 | 
			
		||||
		if (!has(Desc, '[[Value]]')) {
 | 
			
		||||
			Desc['[[Value]]'] = void 0;
 | 
			
		||||
		}
 | 
			
		||||
		if (!has(Desc, '[[Writable]]')) {
 | 
			
		||||
			Desc['[[Writable]]'] = false;
 | 
			
		||||
		}
 | 
			
		||||
	} else {
 | 
			
		||||
		if (!has(Desc, '[[Get]]')) {
 | 
			
		||||
			Desc['[[Get]]'] = void 0;
 | 
			
		||||
		}
 | 
			
		||||
		if (!has(Desc, '[[Set]]')) {
 | 
			
		||||
			Desc['[[Set]]'] = void 0;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if (!has(Desc, '[[Enumerable]]')) {
 | 
			
		||||
		Desc['[[Enumerable]]'] = false;
 | 
			
		||||
	}
 | 
			
		||||
	if (!has(Desc, '[[Configurable]]')) {
 | 
			
		||||
		Desc['[[Configurable]]'] = false;
 | 
			
		||||
	}
 | 
			
		||||
	return Desc;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										64
									
								
								node_modules/es-abstract/2020/CopyDataProperties.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								node_modules/es-abstract/2020/CopyDataProperties.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,64 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var callBound = require('call-bind/callBound');
 | 
			
		||||
var forEach = require('../helpers/forEach');
 | 
			
		||||
var every = require('../helpers/every');
 | 
			
		||||
var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
 | 
			
		||||
 | 
			
		||||
var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
 | 
			
		||||
 | 
			
		||||
var CreateDataPropertyOrThrow = require('./CreateDataPropertyOrThrow');
 | 
			
		||||
var Get = require('./Get');
 | 
			
		||||
var IsArray = require('./IsArray');
 | 
			
		||||
var IsInteger = require('./IsInteger');
 | 
			
		||||
var IsPropertyKey = require('./IsPropertyKey');
 | 
			
		||||
var SameValue = require('./SameValue');
 | 
			
		||||
var ToNumber = require('./ToNumber');
 | 
			
		||||
var ToObject = require('./ToObject');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-copydataproperties
 | 
			
		||||
 | 
			
		||||
module.exports = function CopyDataProperties(target, source, excludedItems) {
 | 
			
		||||
	if (Type(target) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: "target" must be an Object');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (!IsArray(excludedItems) || !every(excludedItems, IsPropertyKey)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (typeof source === 'undefined' || source === null) {
 | 
			
		||||
		return target;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var from = ToObject(source);
 | 
			
		||||
 | 
			
		||||
	var sourceKeys = OwnPropertyKeys(from);
 | 
			
		||||
	forEach(sourceKeys, function (nextKey) {
 | 
			
		||||
		var excluded = false;
 | 
			
		||||
 | 
			
		||||
		forEach(excludedItems, function (e) {
 | 
			
		||||
			if (SameValue(e, nextKey) === true) {
 | 
			
		||||
				excluded = true;
 | 
			
		||||
			}
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		var enumerable = $isEnumerable(from, nextKey) || (
 | 
			
		||||
		// this is to handle string keys being non-enumerable in older engines
 | 
			
		||||
			typeof source === 'string'
 | 
			
		||||
            && nextKey >= 0
 | 
			
		||||
            && IsInteger(ToNumber(nextKey))
 | 
			
		||||
		);
 | 
			
		||||
		if (excluded === false && enumerable) {
 | 
			
		||||
			var propValue = Get(from, nextKey);
 | 
			
		||||
			CreateDataPropertyOrThrow(target, nextKey, propValue);
 | 
			
		||||
		}
 | 
			
		||||
	});
 | 
			
		||||
 | 
			
		||||
	return target;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										45
									
								
								node_modules/es-abstract/2020/CreateDataProperty.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								node_modules/es-abstract/2020/CreateDataProperty.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var DefineOwnProperty = require('../helpers/DefineOwnProperty');
 | 
			
		||||
 | 
			
		||||
var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 | 
			
		||||
var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty');
 | 
			
		||||
var IsDataDescriptor = require('./IsDataDescriptor');
 | 
			
		||||
var IsExtensible = require('./IsExtensible');
 | 
			
		||||
var IsPropertyKey = require('./IsPropertyKey');
 | 
			
		||||
var SameValue = require('./SameValue');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-createdataproperty
 | 
			
		||||
 | 
			
		||||
module.exports = function CreateDataProperty(O, P, V) {
 | 
			
		||||
	if (Type(O) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: Type(O) is not Object');
 | 
			
		||||
	}
 | 
			
		||||
	if (!IsPropertyKey(P)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
 | 
			
		||||
	}
 | 
			
		||||
	var oldDesc = OrdinaryGetOwnProperty(O, P);
 | 
			
		||||
	var extensible = !oldDesc || IsExtensible(O);
 | 
			
		||||
	var immutable = oldDesc && (!oldDesc['[[Writable]]'] || !oldDesc['[[Configurable]]']);
 | 
			
		||||
	if (immutable || !extensible) {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
	return DefineOwnProperty(
 | 
			
		||||
		IsDataDescriptor,
 | 
			
		||||
		SameValue,
 | 
			
		||||
		FromPropertyDescriptor,
 | 
			
		||||
		O,
 | 
			
		||||
		P,
 | 
			
		||||
		{
 | 
			
		||||
			'[[Configurable]]': true,
 | 
			
		||||
			'[[Enumerable]]': true,
 | 
			
		||||
			'[[Value]]': V,
 | 
			
		||||
			'[[Writable]]': true
 | 
			
		||||
		}
 | 
			
		||||
	);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										25
									
								
								node_modules/es-abstract/2020/CreateDataPropertyOrThrow.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								node_modules/es-abstract/2020/CreateDataPropertyOrThrow.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var CreateDataProperty = require('./CreateDataProperty');
 | 
			
		||||
var IsPropertyKey = require('./IsPropertyKey');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// // https://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow
 | 
			
		||||
 | 
			
		||||
module.exports = function CreateDataPropertyOrThrow(O, P, V) {
 | 
			
		||||
	if (Type(O) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: Type(O) is not Object');
 | 
			
		||||
	}
 | 
			
		||||
	if (!IsPropertyKey(P)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
 | 
			
		||||
	}
 | 
			
		||||
	var success = CreateDataProperty(O, P, V);
 | 
			
		||||
	if (!success) {
 | 
			
		||||
		throw new $TypeError('unable to create data property');
 | 
			
		||||
	}
 | 
			
		||||
	return success;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										30
									
								
								node_modules/es-abstract/2020/CreateHTML.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								node_modules/es-abstract/2020/CreateHTML.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var callBound = require('call-bind/callBound');
 | 
			
		||||
 | 
			
		||||
var $replace = callBound('String.prototype.replace');
 | 
			
		||||
 | 
			
		||||
var RequireObjectCoercible = require('./RequireObjectCoercible');
 | 
			
		||||
var ToString = require('./ToString');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-createhtml
 | 
			
		||||
 | 
			
		||||
module.exports = function CreateHTML(string, tag, attribute, value) {
 | 
			
		||||
	if (Type(tag) !== 'String' || Type(attribute) !== 'String') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `tag` and `attribute` must be strings');
 | 
			
		||||
	}
 | 
			
		||||
	var str = RequireObjectCoercible(string);
 | 
			
		||||
	var S = ToString(str);
 | 
			
		||||
	var p1 = '<' + tag;
 | 
			
		||||
	if (attribute !== '') {
 | 
			
		||||
		var V = ToString(value);
 | 
			
		||||
		var escapedV = $replace(V, /\x22/g, '"');
 | 
			
		||||
		p1 += '\x20' + attribute + '\x3D\x22' + escapedV + '\x22';
 | 
			
		||||
	}
 | 
			
		||||
	return p1 + '>' + S + '</' + tag + '>';
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										19
									
								
								node_modules/es-abstract/2020/CreateIterResultObject.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								node_modules/es-abstract/2020/CreateIterResultObject.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject
 | 
			
		||||
 | 
			
		||||
module.exports = function CreateIterResultObject(value, done) {
 | 
			
		||||
	if (Type(done) !== 'Boolean') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: Type(done) is not Boolean');
 | 
			
		||||
	}
 | 
			
		||||
	return {
 | 
			
		||||
		value: value,
 | 
			
		||||
		done: done
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										44
									
								
								node_modules/es-abstract/2020/CreateListFromArrayLike.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								node_modules/es-abstract/2020/CreateListFromArrayLike.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var callBound = require('call-bind/callBound');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf');
 | 
			
		||||
var $push = callBound('Array.prototype.push');
 | 
			
		||||
 | 
			
		||||
var Get = require('./Get');
 | 
			
		||||
var IsArray = require('./IsArray');
 | 
			
		||||
var LengthOfArrayLike = require('./LengthOfArrayLike');
 | 
			
		||||
var ToString = require('./ToString');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-createlistfromarraylike
 | 
			
		||||
 | 
			
		||||
module.exports = function CreateListFromArrayLike(obj) {
 | 
			
		||||
	var elementTypes = arguments.length > 1
 | 
			
		||||
		? arguments[1]
 | 
			
		||||
		: ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object'];
 | 
			
		||||
 | 
			
		||||
	if (Type(obj) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `obj` must be an Object');
 | 
			
		||||
	}
 | 
			
		||||
	if (!IsArray(elementTypes)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `elementTypes`, if provided, must be an array');
 | 
			
		||||
	}
 | 
			
		||||
	var len = LengthOfArrayLike(obj);
 | 
			
		||||
	var list = [];
 | 
			
		||||
	var index = 0;
 | 
			
		||||
	while (index < len) {
 | 
			
		||||
		var indexName = ToString(index);
 | 
			
		||||
		var next = Get(obj, indexName);
 | 
			
		||||
		var nextType = Type(next);
 | 
			
		||||
		if ($indexOf(elementTypes, nextType) < 0) {
 | 
			
		||||
			throw new $TypeError('item type ' + nextType + ' is not a valid elementType');
 | 
			
		||||
		}
 | 
			
		||||
		$push(list, next);
 | 
			
		||||
		index += 1;
 | 
			
		||||
	}
 | 
			
		||||
	return list;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										40
									
								
								node_modules/es-abstract/2020/CreateMethodProperty.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								node_modules/es-abstract/2020/CreateMethodProperty.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var DefineOwnProperty = require('../helpers/DefineOwnProperty');
 | 
			
		||||
 | 
			
		||||
var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 | 
			
		||||
var IsDataDescriptor = require('./IsDataDescriptor');
 | 
			
		||||
var IsPropertyKey = require('./IsPropertyKey');
 | 
			
		||||
var SameValue = require('./SameValue');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-createmethodproperty
 | 
			
		||||
 | 
			
		||||
module.exports = function CreateMethodProperty(O, P, V) {
 | 
			
		||||
	if (Type(O) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: Type(O) is not Object');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (!IsPropertyKey(P)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var newDesc = {
 | 
			
		||||
		'[[Configurable]]': true,
 | 
			
		||||
		'[[Enumerable]]': false,
 | 
			
		||||
		'[[Value]]': V,
 | 
			
		||||
		'[[Writable]]': true
 | 
			
		||||
	};
 | 
			
		||||
	return DefineOwnProperty(
 | 
			
		||||
		IsDataDescriptor,
 | 
			
		||||
		SameValue,
 | 
			
		||||
		FromPropertyDescriptor,
 | 
			
		||||
		O,
 | 
			
		||||
		P,
 | 
			
		||||
		newDesc
 | 
			
		||||
	);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										54
									
								
								node_modules/es-abstract/2020/DateFromTime.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								node_modules/es-abstract/2020/DateFromTime.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $EvalError = GetIntrinsic('%EvalError%');
 | 
			
		||||
 | 
			
		||||
var DayWithinYear = require('./DayWithinYear');
 | 
			
		||||
var InLeapYear = require('./InLeapYear');
 | 
			
		||||
var MonthFromTime = require('./MonthFromTime');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/5.1/#sec-15.9.1.5
 | 
			
		||||
 | 
			
		||||
module.exports = function DateFromTime(t) {
 | 
			
		||||
	var m = MonthFromTime(t);
 | 
			
		||||
	var d = DayWithinYear(t);
 | 
			
		||||
	if (m === 0) {
 | 
			
		||||
		return d + 1;
 | 
			
		||||
	}
 | 
			
		||||
	if (m === 1) {
 | 
			
		||||
		return d - 30;
 | 
			
		||||
	}
 | 
			
		||||
	var leap = InLeapYear(t);
 | 
			
		||||
	if (m === 2) {
 | 
			
		||||
		return d - 58 - leap;
 | 
			
		||||
	}
 | 
			
		||||
	if (m === 3) {
 | 
			
		||||
		return d - 89 - leap;
 | 
			
		||||
	}
 | 
			
		||||
	if (m === 4) {
 | 
			
		||||
		return d - 119 - leap;
 | 
			
		||||
	}
 | 
			
		||||
	if (m === 5) {
 | 
			
		||||
		return d - 150 - leap;
 | 
			
		||||
	}
 | 
			
		||||
	if (m === 6) {
 | 
			
		||||
		return d - 180 - leap;
 | 
			
		||||
	}
 | 
			
		||||
	if (m === 7) {
 | 
			
		||||
		return d - 211 - leap;
 | 
			
		||||
	}
 | 
			
		||||
	if (m === 8) {
 | 
			
		||||
		return d - 242 - leap;
 | 
			
		||||
	}
 | 
			
		||||
	if (m === 9) {
 | 
			
		||||
		return d - 272 - leap;
 | 
			
		||||
	}
 | 
			
		||||
	if (m === 10) {
 | 
			
		||||
		return d - 303 - leap;
 | 
			
		||||
	}
 | 
			
		||||
	if (m === 11) {
 | 
			
		||||
		return d - 333 - leap;
 | 
			
		||||
	}
 | 
			
		||||
	throw new $EvalError('Assertion failed: MonthFromTime returned an impossible value: ' + m);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										30
									
								
								node_modules/es-abstract/2020/DateString.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								node_modules/es-abstract/2020/DateString.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
 | 
			
		||||
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
 | 
			
		||||
 | 
			
		||||
var $isNaN = require('../helpers/isNaN');
 | 
			
		||||
var padTimeComponent = require('../helpers/padTimeComponent');
 | 
			
		||||
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
var WeekDay = require('./WeekDay');
 | 
			
		||||
var MonthFromTime = require('./MonthFromTime');
 | 
			
		||||
var YearFromTime = require('./YearFromTime');
 | 
			
		||||
var DateFromTime = require('./DateFromTime');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/9.0/#sec-datestring
 | 
			
		||||
 | 
			
		||||
module.exports = function DateString(tv) {
 | 
			
		||||
	if (Type(tv) !== 'Number' || $isNaN(tv)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `tv` must be a non-NaN Number');
 | 
			
		||||
	}
 | 
			
		||||
	var weekday = weekdays[WeekDay(tv)];
 | 
			
		||||
	var month = months[MonthFromTime(tv)];
 | 
			
		||||
	var day = padTimeComponent(DateFromTime(tv));
 | 
			
		||||
	var year = padTimeComponent(YearFromTime(tv), 4);
 | 
			
		||||
	return weekday + '\x20' + month + '\x20' + day + '\x20' + year;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										11
									
								
								node_modules/es-abstract/2020/Day.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								node_modules/es-abstract/2020/Day.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var floor = require('./floor');
 | 
			
		||||
 | 
			
		||||
var msPerDay = require('../helpers/timeConstants').msPerDay;
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/5.1/#sec-15.9.1.2
 | 
			
		||||
 | 
			
		||||
module.exports = function Day(t) {
 | 
			
		||||
	return floor(t / msPerDay);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										10
									
								
								node_modules/es-abstract/2020/DayFromYear.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								node_modules/es-abstract/2020/DayFromYear.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var floor = require('./floor');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/5.1/#sec-15.9.1.3
 | 
			
		||||
 | 
			
		||||
module.exports = function DayFromYear(y) {
 | 
			
		||||
	return (365 * (y - 1970)) + floor((y - 1969) / 4) - floor((y - 1901) / 100) + floor((y - 1601) / 400);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										11
									
								
								node_modules/es-abstract/2020/DayWithinYear.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								node_modules/es-abstract/2020/DayWithinYear.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var Day = require('./Day');
 | 
			
		||||
var DayFromYear = require('./DayFromYear');
 | 
			
		||||
var YearFromTime = require('./YearFromTime');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/5.1/#sec-15.9.1.4
 | 
			
		||||
 | 
			
		||||
module.exports = function DayWithinYear(t) {
 | 
			
		||||
	return Day(t) - DayFromYear(YearFromTime(t));
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										18
									
								
								node_modules/es-abstract/2020/DaysInYear.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								node_modules/es-abstract/2020/DaysInYear.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var modulo = require('./modulo');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/5.1/#sec-15.9.1.3
 | 
			
		||||
 | 
			
		||||
module.exports = function DaysInYear(y) {
 | 
			
		||||
	if (modulo(y, 4) !== 0) {
 | 
			
		||||
		return 365;
 | 
			
		||||
	}
 | 
			
		||||
	if (modulo(y, 100) !== 0) {
 | 
			
		||||
		return 366;
 | 
			
		||||
	}
 | 
			
		||||
	if (modulo(y, 400) !== 0) {
 | 
			
		||||
		return 365;
 | 
			
		||||
	}
 | 
			
		||||
	return 366;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										50
									
								
								node_modules/es-abstract/2020/DefinePropertyOrThrow.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								node_modules/es-abstract/2020/DefinePropertyOrThrow.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var isPropertyDescriptor = require('../helpers/isPropertyDescriptor');
 | 
			
		||||
var DefineOwnProperty = require('../helpers/DefineOwnProperty');
 | 
			
		||||
 | 
			
		||||
var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 | 
			
		||||
var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 | 
			
		||||
var IsDataDescriptor = require('./IsDataDescriptor');
 | 
			
		||||
var IsPropertyKey = require('./IsPropertyKey');
 | 
			
		||||
var SameValue = require('./SameValue');
 | 
			
		||||
var ToPropertyDescriptor = require('./ToPropertyDescriptor');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-definepropertyorthrow
 | 
			
		||||
 | 
			
		||||
module.exports = function DefinePropertyOrThrow(O, P, desc) {
 | 
			
		||||
	if (Type(O) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: Type(O) is not Object');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (!IsPropertyKey(P)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var Desc = isPropertyDescriptor({
 | 
			
		||||
		Type: Type,
 | 
			
		||||
		IsDataDescriptor: IsDataDescriptor,
 | 
			
		||||
		IsAccessorDescriptor: IsAccessorDescriptor
 | 
			
		||||
	}, desc) ? desc : ToPropertyDescriptor(desc);
 | 
			
		||||
	if (!isPropertyDescriptor({
 | 
			
		||||
		Type: Type,
 | 
			
		||||
		IsDataDescriptor: IsDataDescriptor,
 | 
			
		||||
		IsAccessorDescriptor: IsAccessorDescriptor
 | 
			
		||||
	}, Desc)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: Desc is not a valid Property Descriptor');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return DefineOwnProperty(
 | 
			
		||||
		IsDataDescriptor,
 | 
			
		||||
		SameValue,
 | 
			
		||||
		FromPropertyDescriptor,
 | 
			
		||||
		O,
 | 
			
		||||
		P,
 | 
			
		||||
		Desc
 | 
			
		||||
	);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										27
									
								
								node_modules/es-abstract/2020/DeletePropertyOrThrow.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								node_modules/es-abstract/2020/DeletePropertyOrThrow.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var IsPropertyKey = require('./IsPropertyKey');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-deletepropertyorthrow
 | 
			
		||||
 | 
			
		||||
module.exports = function DeletePropertyOrThrow(O, P) {
 | 
			
		||||
	if (Type(O) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: Type(O) is not Object');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (!IsPropertyKey(P)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// eslint-disable-next-line no-param-reassign
 | 
			
		||||
	var success = delete O[P];
 | 
			
		||||
	if (!success) {
 | 
			
		||||
		throw new $TypeError('Attempt to delete property failed.');
 | 
			
		||||
	}
 | 
			
		||||
	return success;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										43
									
								
								node_modules/es-abstract/2020/EnumerableOwnPropertyNames.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								node_modules/es-abstract/2020/EnumerableOwnPropertyNames.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var objectKeys = require('object-keys');
 | 
			
		||||
 | 
			
		||||
var callBound = require('call-bind/callBound');
 | 
			
		||||
 | 
			
		||||
var callBind = require('call-bind');
 | 
			
		||||
 | 
			
		||||
var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
 | 
			
		||||
var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));
 | 
			
		||||
 | 
			
		||||
var forEach = require('../helpers/forEach');
 | 
			
		||||
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/8.0/#sec-enumerableownproperties
 | 
			
		||||
 | 
			
		||||
module.exports = function EnumerableOwnProperties(O, kind) {
 | 
			
		||||
	if (Type(O) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: Type(O) is not Object');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var keys = objectKeys(O);
 | 
			
		||||
	if (kind === 'key') {
 | 
			
		||||
		return keys;
 | 
			
		||||
	}
 | 
			
		||||
	if (kind === 'value' || kind === 'key+value') {
 | 
			
		||||
		var results = [];
 | 
			
		||||
		forEach(keys, function (key) {
 | 
			
		||||
			if ($isEnumerable(O, key)) {
 | 
			
		||||
				$pushApply(results, [
 | 
			
		||||
					kind === 'value' ? O[key] : [key, O[key]]
 | 
			
		||||
				]);
 | 
			
		||||
			}
 | 
			
		||||
		});
 | 
			
		||||
		return results;
 | 
			
		||||
	}
 | 
			
		||||
	throw new $TypeError('Assertion failed: "kind" is not "key", "value", or "key+value": ' + kind);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										58
									
								
								node_modules/es-abstract/2020/FlattenIntoArray.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								node_modules/es-abstract/2020/FlattenIntoArray.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,58 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
 | 
			
		||||
 | 
			
		||||
var Call = require('./Call');
 | 
			
		||||
var CreateDataPropertyOrThrow = require('./CreateDataPropertyOrThrow');
 | 
			
		||||
var Get = require('./Get');
 | 
			
		||||
var HasProperty = require('./HasProperty');
 | 
			
		||||
var IsArray = require('./IsArray');
 | 
			
		||||
var LengthOfArrayLike = require('./LengthOfArrayLike');
 | 
			
		||||
var ToString = require('./ToString');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-flattenintoarray
 | 
			
		||||
 | 
			
		||||
// eslint-disable-next-line max-params
 | 
			
		||||
module.exports = function FlattenIntoArray(target, source, sourceLen, start, depth) {
 | 
			
		||||
	var mapperFunction;
 | 
			
		||||
	if (arguments.length > 5) {
 | 
			
		||||
		mapperFunction = arguments[5];
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var targetIndex = start;
 | 
			
		||||
	var sourceIndex = 0;
 | 
			
		||||
	while (sourceIndex < sourceLen) {
 | 
			
		||||
		var P = ToString(sourceIndex);
 | 
			
		||||
		var exists = HasProperty(source, P);
 | 
			
		||||
		if (exists === true) {
 | 
			
		||||
			var element = Get(source, P);
 | 
			
		||||
			if (typeof mapperFunction !== 'undefined') {
 | 
			
		||||
				if (arguments.length <= 6) {
 | 
			
		||||
					throw new $TypeError('Assertion failed: thisArg is required when mapperFunction is provided');
 | 
			
		||||
				}
 | 
			
		||||
				element = Call(mapperFunction, arguments[6], [element, sourceIndex, source]);
 | 
			
		||||
			}
 | 
			
		||||
			var shouldFlatten = false;
 | 
			
		||||
			if (depth > 0) {
 | 
			
		||||
				shouldFlatten = IsArray(element);
 | 
			
		||||
			}
 | 
			
		||||
			if (shouldFlatten) {
 | 
			
		||||
				var elementLen = LengthOfArrayLike(element);
 | 
			
		||||
				targetIndex = FlattenIntoArray(target, element, elementLen, targetIndex, depth - 1);
 | 
			
		||||
			} else {
 | 
			
		||||
				if (targetIndex >= MAX_SAFE_INTEGER) {
 | 
			
		||||
					throw new $TypeError('index too large');
 | 
			
		||||
				}
 | 
			
		||||
				CreateDataPropertyOrThrow(target, ToString(targetIndex), element);
 | 
			
		||||
				targetIndex += 1;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		sourceIndex += 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return targetIndex;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										36
									
								
								node_modules/es-abstract/2020/FromPropertyDescriptor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								node_modules/es-abstract/2020/FromPropertyDescriptor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var assertRecord = require('../helpers/assertRecord');
 | 
			
		||||
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-frompropertydescriptor
 | 
			
		||||
 | 
			
		||||
module.exports = function FromPropertyDescriptor(Desc) {
 | 
			
		||||
	if (typeof Desc === 'undefined') {
 | 
			
		||||
		return Desc;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	assertRecord(Type, 'Property Descriptor', 'Desc', Desc);
 | 
			
		||||
 | 
			
		||||
	var obj = {};
 | 
			
		||||
	if ('[[Value]]' in Desc) {
 | 
			
		||||
		obj.value = Desc['[[Value]]'];
 | 
			
		||||
	}
 | 
			
		||||
	if ('[[Writable]]' in Desc) {
 | 
			
		||||
		obj.writable = Desc['[[Writable]]'];
 | 
			
		||||
	}
 | 
			
		||||
	if ('[[Get]]' in Desc) {
 | 
			
		||||
		obj.get = Desc['[[Get]]'];
 | 
			
		||||
	}
 | 
			
		||||
	if ('[[Set]]' in Desc) {
 | 
			
		||||
		obj.set = Desc['[[Set]]'];
 | 
			
		||||
	}
 | 
			
		||||
	if ('[[Enumerable]]' in Desc) {
 | 
			
		||||
		obj.enumerable = Desc['[[Enumerable]]'];
 | 
			
		||||
	}
 | 
			
		||||
	if ('[[Configurable]]' in Desc) {
 | 
			
		||||
		obj.configurable = Desc['[[Configurable]]'];
 | 
			
		||||
	}
 | 
			
		||||
	return obj;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										30
									
								
								node_modules/es-abstract/2020/Get.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								node_modules/es-abstract/2020/Get.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var inspect = require('object-inspect');
 | 
			
		||||
 | 
			
		||||
var IsPropertyKey = require('./IsPropertyKey');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 7.3.1 Get (O, P) - https://ecma-international.org/ecma-262/6.0/#sec-get-o-p
 | 
			
		||||
 * 1. Assert: Type(O) is Object.
 | 
			
		||||
 * 2. Assert: IsPropertyKey(P) is true.
 | 
			
		||||
 * 3. Return O.[[Get]](P, O).
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
module.exports = function Get(O, P) {
 | 
			
		||||
	// 7.3.1.1
 | 
			
		||||
	if (Type(O) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: Type(O) is not Object');
 | 
			
		||||
	}
 | 
			
		||||
	// 7.3.1.2
 | 
			
		||||
	if (!IsPropertyKey(P)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
 | 
			
		||||
	}
 | 
			
		||||
	// 7.3.1.3
 | 
			
		||||
	return O[P];
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										65
									
								
								node_modules/es-abstract/2020/GetIterator.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								node_modules/es-abstract/2020/GetIterator.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,65 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
var $asyncIterator = GetIntrinsic('%Symbol.asyncIterator%', true);
 | 
			
		||||
 | 
			
		||||
var inspect = require('object-inspect');
 | 
			
		||||
var hasSymbols = require('has-symbols')();
 | 
			
		||||
 | 
			
		||||
var getIteratorMethod = require('../helpers/getIteratorMethod');
 | 
			
		||||
var AdvanceStringIndex = require('./AdvanceStringIndex');
 | 
			
		||||
var Call = require('./Call');
 | 
			
		||||
var GetMethod = require('./GetMethod');
 | 
			
		||||
var IsArray = require('./IsArray');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/9.0/#sec-getiterator
 | 
			
		||||
module.exports = function GetIterator(obj, hint, method) {
 | 
			
		||||
	var actualHint = hint;
 | 
			
		||||
	if (arguments.length < 2) {
 | 
			
		||||
		actualHint = 'sync';
 | 
			
		||||
	}
 | 
			
		||||
	if (actualHint !== 'sync' && actualHint !== 'async') {
 | 
			
		||||
		throw new $TypeError("Assertion failed: `hint` must be one of 'sync' or 'async', got " + inspect(hint));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var actualMethod = method;
 | 
			
		||||
	if (arguments.length < 3) {
 | 
			
		||||
		if (actualHint === 'async') {
 | 
			
		||||
			if (hasSymbols && $asyncIterator) {
 | 
			
		||||
				actualMethod = GetMethod(obj, $asyncIterator);
 | 
			
		||||
			}
 | 
			
		||||
			if (actualMethod === undefined) {
 | 
			
		||||
				throw new $TypeError("async from sync iterators aren't currently supported");
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
			actualMethod = getIteratorMethod(
 | 
			
		||||
				{
 | 
			
		||||
					AdvanceStringIndex: AdvanceStringIndex,
 | 
			
		||||
					GetMethod: GetMethod,
 | 
			
		||||
					IsArray: IsArray,
 | 
			
		||||
					Type: Type
 | 
			
		||||
				},
 | 
			
		||||
				obj
 | 
			
		||||
			);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	var iterator = Call(actualMethod, obj);
 | 
			
		||||
	if (Type(iterator) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('iterator must return an object');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return iterator;
 | 
			
		||||
 | 
			
		||||
	// TODO: This should return an IteratorRecord
 | 
			
		||||
	/*
 | 
			
		||||
	var nextMethod = GetV(iterator, 'next');
 | 
			
		||||
	return {
 | 
			
		||||
		'[[Iterator]]': iterator,
 | 
			
		||||
		'[[NextMethod]]': nextMethod,
 | 
			
		||||
		'[[Done]]': false
 | 
			
		||||
	};
 | 
			
		||||
	*/
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										42
									
								
								node_modules/es-abstract/2020/GetMethod.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								node_modules/es-abstract/2020/GetMethod.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var GetV = require('./GetV');
 | 
			
		||||
var IsCallable = require('./IsCallable');
 | 
			
		||||
var IsPropertyKey = require('./IsPropertyKey');
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 7.3.9 - https://ecma-international.org/ecma-262/6.0/#sec-getmethod
 | 
			
		||||
 * 1. Assert: IsPropertyKey(P) is true.
 | 
			
		||||
 * 2. Let func be GetV(O, P).
 | 
			
		||||
 * 3. ReturnIfAbrupt(func).
 | 
			
		||||
 * 4. If func is either undefined or null, return undefined.
 | 
			
		||||
 * 5. If IsCallable(func) is false, throw a TypeError exception.
 | 
			
		||||
 * 6. Return func.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
module.exports = function GetMethod(O, P) {
 | 
			
		||||
	// 7.3.9.1
 | 
			
		||||
	if (!IsPropertyKey(P)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 7.3.9.2
 | 
			
		||||
	var func = GetV(O, P);
 | 
			
		||||
 | 
			
		||||
	// 7.3.9.4
 | 
			
		||||
	if (func == null) {
 | 
			
		||||
		return void 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 7.3.9.5
 | 
			
		||||
	if (!IsCallable(func)) {
 | 
			
		||||
		throw new $TypeError(P + 'is not a function');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 7.3.9.6
 | 
			
		||||
	return func;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										31
									
								
								node_modules/es-abstract/2020/GetOwnPropertyKeys.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								node_modules/es-abstract/2020/GetOwnPropertyKeys.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var hasSymbols = require('has-symbols')();
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%');
 | 
			
		||||
var $gOPS = hasSymbols && GetIntrinsic('%Object.getOwnPropertySymbols%');
 | 
			
		||||
var keys = require('object-keys');
 | 
			
		||||
 | 
			
		||||
var esType = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-getownpropertykeys
 | 
			
		||||
 | 
			
		||||
module.exports = function GetOwnPropertyKeys(O, Type) {
 | 
			
		||||
	if (esType(O) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: Type(O) is not Object');
 | 
			
		||||
	}
 | 
			
		||||
	if (Type === 'Symbol') {
 | 
			
		||||
		return $gOPS ? $gOPS(O) : [];
 | 
			
		||||
	}
 | 
			
		||||
	if (Type === 'String') {
 | 
			
		||||
		if (!$gOPN) {
 | 
			
		||||
			return keys(O);
 | 
			
		||||
		}
 | 
			
		||||
		return $gOPN(O);
 | 
			
		||||
	}
 | 
			
		||||
	throw new $TypeError('Assertion failed: `Type` must be `"String"` or `"Symbol"`');
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										28
									
								
								node_modules/es-abstract/2020/GetPrototypeFromConstructor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								node_modules/es-abstract/2020/GetPrototypeFromConstructor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $Function = GetIntrinsic('%Function%');
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Get = require('./Get');
 | 
			
		||||
var IsConstructor = require('./IsConstructor');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-getprototypefromconstructor
 | 
			
		||||
 | 
			
		||||
module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) {
 | 
			
		||||
	var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic
 | 
			
		||||
	if (!IsConstructor(constructor)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `constructor` must be a constructor');
 | 
			
		||||
	}
 | 
			
		||||
	var proto = Get(constructor, 'prototype');
 | 
			
		||||
	if (Type(proto) !== 'Object') {
 | 
			
		||||
		if (!(constructor instanceof $Function)) {
 | 
			
		||||
			// ignore other realms, for now
 | 
			
		||||
			throw new $TypeError('cross-realm constructors not currently supported');
 | 
			
		||||
		}
 | 
			
		||||
		proto = intrinsic;
 | 
			
		||||
	}
 | 
			
		||||
	return proto;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										128
									
								
								node_modules/es-abstract/2020/GetSubstitution.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										128
									
								
								node_modules/es-abstract/2020/GetSubstitution.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,128 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var callBound = require('call-bind/callBound');
 | 
			
		||||
var regexTester = require('../helpers/regexTester');
 | 
			
		||||
var every = require('../helpers/every');
 | 
			
		||||
 | 
			
		||||
var $charAt = callBound('String.prototype.charAt');
 | 
			
		||||
var $strSlice = callBound('String.prototype.slice');
 | 
			
		||||
var $indexOf = callBound('String.prototype.indexOf');
 | 
			
		||||
var $parseInt = parseInt;
 | 
			
		||||
 | 
			
		||||
var isDigit = regexTester(/^[0-9]$/);
 | 
			
		||||
 | 
			
		||||
var inspect = require('object-inspect');
 | 
			
		||||
 | 
			
		||||
var Get = require('./Get');
 | 
			
		||||
var IsArray = require('./IsArray');
 | 
			
		||||
var IsInteger = require('./IsInteger');
 | 
			
		||||
var ToObject = require('./ToObject');
 | 
			
		||||
var ToString = require('./ToString');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
var canDistinguishSparseFromUndefined = 0 in [undefined]; // IE 6 - 8 have a bug where this returns false
 | 
			
		||||
 | 
			
		||||
var isStringOrHole = function (capture, index, arr) {
 | 
			
		||||
	return Type(capture) === 'String' || (canDistinguishSparseFromUndefined ? !(index in arr) : Type(capture) === 'Undefined');
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// http://262.ecma-international.org/9.0/#sec-getsubstitution
 | 
			
		||||
 | 
			
		||||
// eslint-disable-next-line max-statements, max-params, max-lines-per-function
 | 
			
		||||
module.exports = function GetSubstitution(matched, str, position, captures, namedCaptures, replacement) {
 | 
			
		||||
	if (Type(matched) !== 'String') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `matched` must be a String');
 | 
			
		||||
	}
 | 
			
		||||
	var matchLength = matched.length;
 | 
			
		||||
 | 
			
		||||
	if (Type(str) !== 'String') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `str` must be a String');
 | 
			
		||||
	}
 | 
			
		||||
	var stringLength = str.length;
 | 
			
		||||
 | 
			
		||||
	if (!IsInteger(position) || position < 0 || position > stringLength) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `position` must be a nonnegative integer, and less than or equal to the length of `string`, got ' + inspect(position));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (!IsArray(captures) || !every(captures, isStringOrHole)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `captures` must be a List of Strings, got ' + inspect(captures));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (Type(replacement) !== 'String') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `replacement` must be a String');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var tailPos = position + matchLength;
 | 
			
		||||
	var m = captures.length;
 | 
			
		||||
	if (Type(namedCaptures) !== 'Undefined') {
 | 
			
		||||
		namedCaptures = ToObject(namedCaptures); // eslint-disable-line no-param-reassign
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var result = '';
 | 
			
		||||
	for (var i = 0; i < replacement.length; i += 1) {
 | 
			
		||||
		// if this is a $, and it's not the end of the replacement
 | 
			
		||||
		var current = $charAt(replacement, i);
 | 
			
		||||
		var isLast = (i + 1) >= replacement.length;
 | 
			
		||||
		var nextIsLast = (i + 2) >= replacement.length;
 | 
			
		||||
		if (current === '$' && !isLast) {
 | 
			
		||||
			var next = $charAt(replacement, i + 1);
 | 
			
		||||
			if (next === '$') {
 | 
			
		||||
				result += '$';
 | 
			
		||||
				i += 1;
 | 
			
		||||
			} else if (next === '&') {
 | 
			
		||||
				result += matched;
 | 
			
		||||
				i += 1;
 | 
			
		||||
			} else if (next === '`') {
 | 
			
		||||
				result += position === 0 ? '' : $strSlice(str, 0, position - 1);
 | 
			
		||||
				i += 1;
 | 
			
		||||
			} else if (next === "'") {
 | 
			
		||||
				result += tailPos >= stringLength ? '' : $strSlice(str, tailPos);
 | 
			
		||||
				i += 1;
 | 
			
		||||
			} else {
 | 
			
		||||
				var nextNext = nextIsLast ? null : $charAt(replacement, i + 2);
 | 
			
		||||
				if (isDigit(next) && next !== '0' && (nextIsLast || !isDigit(nextNext))) {
 | 
			
		||||
					// $1 through $9, and not followed by a digit
 | 
			
		||||
					var n = $parseInt(next, 10);
 | 
			
		||||
					// if (n > m, impl-defined)
 | 
			
		||||
					result += n <= m && Type(captures[n - 1]) === 'Undefined' ? '' : captures[n - 1];
 | 
			
		||||
					i += 1;
 | 
			
		||||
				} else if (isDigit(next) && (nextIsLast || isDigit(nextNext))) {
 | 
			
		||||
					// $00 through $99
 | 
			
		||||
					var nn = next + nextNext;
 | 
			
		||||
					var nnI = $parseInt(nn, 10) - 1;
 | 
			
		||||
					// if nn === '00' or nn > m, impl-defined
 | 
			
		||||
					result += nn <= m && Type(captures[nnI]) === 'Undefined' ? '' : captures[nnI];
 | 
			
		||||
					i += 2;
 | 
			
		||||
				} else if (next === '<') {
 | 
			
		||||
					// eslint-disable-next-line max-depth
 | 
			
		||||
					if (Type(namedCaptures) === 'Undefined') {
 | 
			
		||||
						result += '$<';
 | 
			
		||||
						i += 2;
 | 
			
		||||
					} else {
 | 
			
		||||
						var endIndex = $indexOf(replacement, '>', i);
 | 
			
		||||
						// eslint-disable-next-line max-depth
 | 
			
		||||
						if (endIndex > -1) {
 | 
			
		||||
							var groupName = $strSlice(replacement, i + '$<'.length, endIndex);
 | 
			
		||||
							var capture = Get(namedCaptures, groupName);
 | 
			
		||||
							// eslint-disable-next-line max-depth
 | 
			
		||||
							if (Type(capture) !== 'Undefined') {
 | 
			
		||||
								result += ToString(capture);
 | 
			
		||||
							}
 | 
			
		||||
							i += ('<' + groupName + '>').length;
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				} else {
 | 
			
		||||
					result += '$';
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
			// the final $, or else not a $
 | 
			
		||||
			result += $charAt(replacement, i);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return result;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										29
									
								
								node_modules/es-abstract/2020/GetV.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								node_modules/es-abstract/2020/GetV.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var IsPropertyKey = require('./IsPropertyKey');
 | 
			
		||||
var ToObject = require('./ToObject');
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 7.3.2 GetV (V, P)
 | 
			
		||||
 * 1. Assert: IsPropertyKey(P) is true.
 | 
			
		||||
 * 2. Let O be ToObject(V).
 | 
			
		||||
 * 3. ReturnIfAbrupt(O).
 | 
			
		||||
 * 4. Return O.[[Get]](P, V).
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
module.exports = function GetV(V, P) {
 | 
			
		||||
	// 7.3.2.1
 | 
			
		||||
	if (!IsPropertyKey(P)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 7.3.2.2-3
 | 
			
		||||
	var O = ToObject(V);
 | 
			
		||||
 | 
			
		||||
	// 7.3.2.4
 | 
			
		||||
	return O[P];
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										22
									
								
								node_modules/es-abstract/2020/HasOwnProperty.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								node_modules/es-abstract/2020/HasOwnProperty.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var has = require('has');
 | 
			
		||||
 | 
			
		||||
var IsPropertyKey = require('./IsPropertyKey');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-hasownproperty
 | 
			
		||||
 | 
			
		||||
module.exports = function HasOwnProperty(O, P) {
 | 
			
		||||
	if (Type(O) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `O` must be an Object');
 | 
			
		||||
	}
 | 
			
		||||
	if (!IsPropertyKey(P)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 | 
			
		||||
	}
 | 
			
		||||
	return has(O, P);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										20
									
								
								node_modules/es-abstract/2020/HasProperty.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								node_modules/es-abstract/2020/HasProperty.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var IsPropertyKey = require('./IsPropertyKey');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-hasproperty
 | 
			
		||||
 | 
			
		||||
module.exports = function HasProperty(O, P) {
 | 
			
		||||
	if (Type(O) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `O` must be an Object');
 | 
			
		||||
	}
 | 
			
		||||
	if (!IsPropertyKey(P)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 | 
			
		||||
	}
 | 
			
		||||
	return P in O;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										14
									
								
								node_modules/es-abstract/2020/HourFromTime.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								node_modules/es-abstract/2020/HourFromTime.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var floor = require('./floor');
 | 
			
		||||
var modulo = require('./modulo');
 | 
			
		||||
 | 
			
		||||
var timeConstants = require('../helpers/timeConstants');
 | 
			
		||||
var msPerHour = timeConstants.msPerHour;
 | 
			
		||||
var HoursPerDay = timeConstants.HoursPerDay;
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/5.1/#sec-15.9.1.10
 | 
			
		||||
 | 
			
		||||
module.exports = function HourFromTime(t) {
 | 
			
		||||
	return modulo(floor(t / msPerHour), HoursPerDay);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										21
									
								
								node_modules/es-abstract/2020/InLeapYear.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								node_modules/es-abstract/2020/InLeapYear.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $EvalError = GetIntrinsic('%EvalError%');
 | 
			
		||||
 | 
			
		||||
var DaysInYear = require('./DaysInYear');
 | 
			
		||||
var YearFromTime = require('./YearFromTime');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/5.1/#sec-15.9.1.3
 | 
			
		||||
 | 
			
		||||
module.exports = function InLeapYear(t) {
 | 
			
		||||
	var days = DaysInYear(YearFromTime(t));
 | 
			
		||||
	if (days === 365) {
 | 
			
		||||
		return 0;
 | 
			
		||||
	}
 | 
			
		||||
	if (days === 366) {
 | 
			
		||||
		return 1;
 | 
			
		||||
	}
 | 
			
		||||
	throw new $EvalError('Assertion failed: there are not 365 or 366 days in a year, got: ' + days);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										30
									
								
								node_modules/es-abstract/2020/InstanceofOperator.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								node_modules/es-abstract/2020/InstanceofOperator.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var $hasInstance = GetIntrinsic('Symbol.hasInstance', true);
 | 
			
		||||
 | 
			
		||||
var Call = require('./Call');
 | 
			
		||||
var GetMethod = require('./GetMethod');
 | 
			
		||||
var IsCallable = require('./IsCallable');
 | 
			
		||||
var OrdinaryHasInstance = require('./OrdinaryHasInstance');
 | 
			
		||||
var ToBoolean = require('./ToBoolean');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-instanceofoperator
 | 
			
		||||
 | 
			
		||||
module.exports = function InstanceofOperator(O, C) {
 | 
			
		||||
	if (Type(O) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: Type(O) is not Object');
 | 
			
		||||
	}
 | 
			
		||||
	var instOfHandler = $hasInstance ? GetMethod(C, $hasInstance) : void 0;
 | 
			
		||||
	if (typeof instOfHandler !== 'undefined') {
 | 
			
		||||
		return ToBoolean(Call(instOfHandler, C, [O]));
 | 
			
		||||
	}
 | 
			
		||||
	if (!IsCallable(C)) {
 | 
			
		||||
		throw new $TypeError('`C` is not Callable');
 | 
			
		||||
	}
 | 
			
		||||
	return OrdinaryHasInstance(C, O);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										24
									
								
								node_modules/es-abstract/2020/Invoke.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								node_modules/es-abstract/2020/Invoke.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Call = require('./Call');
 | 
			
		||||
var IsArray = require('./IsArray');
 | 
			
		||||
var GetV = require('./GetV');
 | 
			
		||||
var IsPropertyKey = require('./IsPropertyKey');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-invoke
 | 
			
		||||
 | 
			
		||||
module.exports = function Invoke(O, P) {
 | 
			
		||||
	if (!IsPropertyKey(P)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: P must be a Property Key');
 | 
			
		||||
	}
 | 
			
		||||
	var argumentsList = arguments.length > 2 ? arguments[2] : [];
 | 
			
		||||
	if (!IsArray(argumentsList)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: optional `argumentsList`, if provided, must be a List');
 | 
			
		||||
	}
 | 
			
		||||
	var func = GetV(O, P);
 | 
			
		||||
	return Call(func, O, argumentsList);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										23
									
								
								node_modules/es-abstract/2020/IsAccessorDescriptor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								node_modules/es-abstract/2020/IsAccessorDescriptor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var has = require('has');
 | 
			
		||||
 | 
			
		||||
var assertRecord = require('../helpers/assertRecord');
 | 
			
		||||
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-isaccessordescriptor
 | 
			
		||||
 | 
			
		||||
module.exports = function IsAccessorDescriptor(Desc) {
 | 
			
		||||
	if (typeof Desc === 'undefined') {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	assertRecord(Type, 'Property Descriptor', 'Desc', Desc);
 | 
			
		||||
 | 
			
		||||
	if (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return true;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										14
									
								
								node_modules/es-abstract/2020/IsArray.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								node_modules/es-abstract/2020/IsArray.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $Array = GetIntrinsic('%Array%');
 | 
			
		||||
 | 
			
		||||
// eslint-disable-next-line global-require
 | 
			
		||||
var toStr = !$Array.isArray && require('call-bind/callBound')('Object.prototype.toString');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-isarray
 | 
			
		||||
 | 
			
		||||
module.exports = $Array.isArray || function IsArray(argument) {
 | 
			
		||||
	return toStr(argument) === '[object Array]';
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										7
									
								
								node_modules/es-abstract/2020/IsBigIntElementType.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								node_modules/es-abstract/2020/IsBigIntElementType.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-isbigintelementtype
 | 
			
		||||
 | 
			
		||||
module.exports = function IsBigIntElementType(type) {
 | 
			
		||||
	return type === 'BigUint64' || type === 'BigInt64';
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										5
									
								
								node_modules/es-abstract/2020/IsCallable.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								node_modules/es-abstract/2020/IsCallable.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
// http://262.ecma-international.org/5.1/#sec-9.11
 | 
			
		||||
 | 
			
		||||
module.exports = require('is-callable');
 | 
			
		||||
							
								
								
									
										25
									
								
								node_modules/es-abstract/2020/IsConcatSpreadable.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								node_modules/es-abstract/2020/IsConcatSpreadable.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $isConcatSpreadable = GetIntrinsic('%Symbol.isConcatSpreadable%', true);
 | 
			
		||||
 | 
			
		||||
var Get = require('./Get');
 | 
			
		||||
var IsArray = require('./IsArray');
 | 
			
		||||
var ToBoolean = require('./ToBoolean');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable
 | 
			
		||||
 | 
			
		||||
module.exports = function IsConcatSpreadable(O) {
 | 
			
		||||
	if (Type(O) !== 'Object') {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
	if ($isConcatSpreadable) {
 | 
			
		||||
		var spreadable = Get(O, $isConcatSpreadable);
 | 
			
		||||
		if (typeof spreadable !== 'undefined') {
 | 
			
		||||
			return ToBoolean(spreadable);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return IsArray(O);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										40
									
								
								node_modules/es-abstract/2020/IsConstructor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								node_modules/es-abstract/2020/IsConstructor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('../GetIntrinsic.js');
 | 
			
		||||
 | 
			
		||||
var $construct = GetIntrinsic('%Reflect.construct%', true);
 | 
			
		||||
 | 
			
		||||
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
 | 
			
		||||
try {
 | 
			
		||||
	DefinePropertyOrThrow({}, '', { '[[Get]]': function () {} });
 | 
			
		||||
} catch (e) {
 | 
			
		||||
	// Accessor properties aren't supported
 | 
			
		||||
	DefinePropertyOrThrow = null;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-isconstructor
 | 
			
		||||
 | 
			
		||||
if (DefinePropertyOrThrow && $construct) {
 | 
			
		||||
	var isConstructorMarker = {};
 | 
			
		||||
	var badArrayLike = {};
 | 
			
		||||
	DefinePropertyOrThrow(badArrayLike, 'length', {
 | 
			
		||||
		'[[Get]]': function () {
 | 
			
		||||
			throw isConstructorMarker;
 | 
			
		||||
		},
 | 
			
		||||
		'[[Enumerable]]': true
 | 
			
		||||
	});
 | 
			
		||||
 | 
			
		||||
	module.exports = function IsConstructor(argument) {
 | 
			
		||||
		try {
 | 
			
		||||
			// `Reflect.construct` invokes `IsConstructor(target)` before `Get(args, 'length')`:
 | 
			
		||||
			$construct(argument, badArrayLike);
 | 
			
		||||
		} catch (err) {
 | 
			
		||||
			return err === isConstructorMarker;
 | 
			
		||||
		}
 | 
			
		||||
	};
 | 
			
		||||
} else {
 | 
			
		||||
	module.exports = function IsConstructor(argument) {
 | 
			
		||||
		// unfortunately there's no way to truly check this without try/catch `new argument` in old environments
 | 
			
		||||
		return typeof argument === 'function' && !!argument.prototype;
 | 
			
		||||
	};
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										23
									
								
								node_modules/es-abstract/2020/IsDataDescriptor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								node_modules/es-abstract/2020/IsDataDescriptor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var has = require('has');
 | 
			
		||||
 | 
			
		||||
var assertRecord = require('../helpers/assertRecord');
 | 
			
		||||
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-isdatadescriptor
 | 
			
		||||
 | 
			
		||||
module.exports = function IsDataDescriptor(Desc) {
 | 
			
		||||
	if (typeof Desc === 'undefined') {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	assertRecord(Type, 'Property Descriptor', 'Desc', Desc);
 | 
			
		||||
 | 
			
		||||
	if (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return true;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										20
									
								
								node_modules/es-abstract/2020/IsExtensible.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								node_modules/es-abstract/2020/IsExtensible.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $Object = GetIntrinsic('%Object%');
 | 
			
		||||
 | 
			
		||||
var isPrimitive = require('../helpers/isPrimitive');
 | 
			
		||||
 | 
			
		||||
var $preventExtensions = $Object.preventExtensions;
 | 
			
		||||
var $isExtensible = $Object.isExtensible;
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-isextensible-o
 | 
			
		||||
 | 
			
		||||
module.exports = $preventExtensions
 | 
			
		||||
	? function IsExtensible(obj) {
 | 
			
		||||
		return !isPrimitive(obj) && $isExtensible(obj);
 | 
			
		||||
	}
 | 
			
		||||
	: function IsExtensible(obj) {
 | 
			
		||||
		return !isPrimitive(obj);
 | 
			
		||||
	};
 | 
			
		||||
							
								
								
									
										23
									
								
								node_modules/es-abstract/2020/IsGenericDescriptor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								node_modules/es-abstract/2020/IsGenericDescriptor.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var assertRecord = require('../helpers/assertRecord');
 | 
			
		||||
 | 
			
		||||
var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 | 
			
		||||
var IsDataDescriptor = require('./IsDataDescriptor');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-isgenericdescriptor
 | 
			
		||||
 | 
			
		||||
module.exports = function IsGenericDescriptor(Desc) {
 | 
			
		||||
	if (typeof Desc === 'undefined') {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	assertRecord(Type, 'Property Descriptor', 'Desc', Desc);
 | 
			
		||||
 | 
			
		||||
	if (!IsAccessorDescriptor(Desc) && !IsDataDescriptor(Desc)) {
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return false;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										17
									
								
								node_modules/es-abstract/2020/IsInteger.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								node_modules/es-abstract/2020/IsInteger.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var abs = require('./abs');
 | 
			
		||||
var floor = require('./floor');
 | 
			
		||||
 | 
			
		||||
var $isNaN = require('../helpers/isNaN');
 | 
			
		||||
var $isFinite = require('../helpers/isFinite');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-isinteger
 | 
			
		||||
 | 
			
		||||
module.exports = function IsInteger(argument) {
 | 
			
		||||
	if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
	var absValue = abs(argument);
 | 
			
		||||
	return floor(absValue) === absValue;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										16
									
								
								node_modules/es-abstract/2020/IsNoTearConfiguration.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								node_modules/es-abstract/2020/IsNoTearConfiguration.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var IsUnclampedIntegerElementType = require('./IsUnclampedIntegerElementType');
 | 
			
		||||
var IsBigIntElementType = require('./IsBigIntElementType');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-isnotearconfiguration
 | 
			
		||||
 | 
			
		||||
module.exports = function IsNoTearConfiguration(type, order) {
 | 
			
		||||
	if (IsUnclampedIntegerElementType(type)) {
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
	if (IsBigIntElementType(type) && order !== 'Init' && order !== 'Unordered') {
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
	return false;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										9
									
								
								node_modules/es-abstract/2020/IsNonNegativeInteger.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								node_modules/es-abstract/2020/IsNonNegativeInteger.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var IsInteger = require('./IsInteger');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-isnonnegativeinteger
 | 
			
		||||
 | 
			
		||||
module.exports = function IsNonNegativeInteger(argument) {
 | 
			
		||||
	return !!IsInteger(argument) && argument >= 0;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										24
									
								
								node_modules/es-abstract/2020/IsPromise.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								node_modules/es-abstract/2020/IsPromise.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var callBound = require('call-bind/callBound');
 | 
			
		||||
 | 
			
		||||
var $PromiseThen = callBound('Promise.prototype.then', true);
 | 
			
		||||
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-ispromise
 | 
			
		||||
 | 
			
		||||
module.exports = function IsPromise(x) {
 | 
			
		||||
	if (Type(x) !== 'Object') {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
	if (!$PromiseThen) { // Promises are not supported
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
	try {
 | 
			
		||||
		$PromiseThen(x); // throws if not a promise
 | 
			
		||||
	} catch (e) {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
	return true;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										7
									
								
								node_modules/es-abstract/2020/IsPropertyKey.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								node_modules/es-abstract/2020/IsPropertyKey.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-ispropertykey
 | 
			
		||||
 | 
			
		||||
module.exports = function IsPropertyKey(argument) {
 | 
			
		||||
	return typeof argument === 'string' || typeof argument === 'symbol';
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										24
									
								
								node_modules/es-abstract/2020/IsRegExp.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								node_modules/es-abstract/2020/IsRegExp.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $match = GetIntrinsic('%Symbol.match%', true);
 | 
			
		||||
 | 
			
		||||
var hasRegExpMatcher = require('is-regex');
 | 
			
		||||
 | 
			
		||||
var ToBoolean = require('./ToBoolean');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-isregexp
 | 
			
		||||
 | 
			
		||||
module.exports = function IsRegExp(argument) {
 | 
			
		||||
	if (!argument || typeof argument !== 'object') {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
	if ($match) {
 | 
			
		||||
		var isRegExp = argument[$match];
 | 
			
		||||
		if (typeof isRegExp !== 'undefined') {
 | 
			
		||||
			return ToBoolean(isRegExp);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return hasRegExpMatcher(argument);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										47
									
								
								node_modules/es-abstract/2020/IsStringPrefix.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								node_modules/es-abstract/2020/IsStringPrefix.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var isPrefixOf = require('../helpers/isPrefixOf');
 | 
			
		||||
 | 
			
		||||
// var callBound = require('call-bind/callBound');
 | 
			
		||||
 | 
			
		||||
// var $charAt = callBound('String.prototype.charAt');
 | 
			
		||||
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/9.0/#sec-isstringprefix
 | 
			
		||||
 | 
			
		||||
module.exports = function IsStringPrefix(p, q) {
 | 
			
		||||
	if (Type(p) !== 'String') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: "p" must be a String');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (Type(q) !== 'String') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: "q" must be a String');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return isPrefixOf(p, q);
 | 
			
		||||
	/*
 | 
			
		||||
	if (p === q || p === '') {
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var pLength = p.length;
 | 
			
		||||
	var qLength = q.length;
 | 
			
		||||
	if (pLength >= qLength) {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// assert: pLength < qLength
 | 
			
		||||
 | 
			
		||||
	for (var i = 0; i < pLength; i += 1) {
 | 
			
		||||
		if ($charAt(p, i) !== $charAt(q, i)) {
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return true;
 | 
			
		||||
	*/
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										12
									
								
								node_modules/es-abstract/2020/IsUnclampedIntegerElementType.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								node_modules/es-abstract/2020/IsUnclampedIntegerElementType.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-isunclampedintegerelementtype
 | 
			
		||||
 | 
			
		||||
module.exports = function IsUnclampedIntegerElementType(type) {
 | 
			
		||||
	return type === 'Int8'
 | 
			
		||||
        || type === 'Uint8'
 | 
			
		||||
        || type === 'Int16'
 | 
			
		||||
        || type === 'Uint16'
 | 
			
		||||
        || type === 'Int32'
 | 
			
		||||
        || type === 'Uint32';
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										11
									
								
								node_modules/es-abstract/2020/IsUnsignedElementType.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								node_modules/es-abstract/2020/IsUnsignedElementType.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-isunsignedelementtype
 | 
			
		||||
 | 
			
		||||
module.exports = function IsUnsignedElementType(type) {
 | 
			
		||||
	return type === 'Uint8'
 | 
			
		||||
        || type === 'Uint8C'
 | 
			
		||||
        || type === 'Uint16'
 | 
			
		||||
        || type === 'Uint32'
 | 
			
		||||
        || type === 'BigUint64';
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										24
									
								
								node_modules/es-abstract/2020/IterableToList.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								node_modules/es-abstract/2020/IterableToList.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var callBound = require('call-bind/callBound');
 | 
			
		||||
var $arrayPush = callBound('Array.prototype.push');
 | 
			
		||||
 | 
			
		||||
var GetIterator = require('./GetIterator');
 | 
			
		||||
var IteratorStep = require('./IteratorStep');
 | 
			
		||||
var IteratorValue = require('./IteratorValue');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/9.0/#sec-iterabletolist
 | 
			
		||||
 | 
			
		||||
module.exports = function IterableToList(items, method) {
 | 
			
		||||
	var iterator = GetIterator(items, 'sync', method);
 | 
			
		||||
	var values = [];
 | 
			
		||||
	var next = true;
 | 
			
		||||
	while (next) {
 | 
			
		||||
		next = IteratorStep(iterator);
 | 
			
		||||
		if (next) {
 | 
			
		||||
			var nextValue = IteratorValue(next);
 | 
			
		||||
			$arrayPush(values, nextValue);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return values;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										50
									
								
								node_modules/es-abstract/2020/IteratorClose.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								node_modules/es-abstract/2020/IteratorClose.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Call = require('./Call');
 | 
			
		||||
var GetMethod = require('./GetMethod');
 | 
			
		||||
var IsCallable = require('./IsCallable');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-iteratorclose
 | 
			
		||||
 | 
			
		||||
module.exports = function IteratorClose(iterator, completion) {
 | 
			
		||||
	if (Type(iterator) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: Type(iterator) is not Object');
 | 
			
		||||
	}
 | 
			
		||||
	if (!IsCallable(completion)) {
 | 
			
		||||
		throw new $TypeError('Assertion failed: completion is not a thunk for a Completion Record');
 | 
			
		||||
	}
 | 
			
		||||
	var completionThunk = completion;
 | 
			
		||||
 | 
			
		||||
	var iteratorReturn = GetMethod(iterator, 'return');
 | 
			
		||||
 | 
			
		||||
	if (typeof iteratorReturn === 'undefined') {
 | 
			
		||||
		return completionThunk();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var completionRecord;
 | 
			
		||||
	try {
 | 
			
		||||
		var innerResult = Call(iteratorReturn, iterator, []);
 | 
			
		||||
	} catch (e) {
 | 
			
		||||
		// if we hit here, then "e" is the innerResult completion that needs re-throwing
 | 
			
		||||
 | 
			
		||||
		// if the completion is of type "throw", this will throw.
 | 
			
		||||
		completionThunk();
 | 
			
		||||
		completionThunk = null; // ensure it's not called twice.
 | 
			
		||||
 | 
			
		||||
		// if not, then return the innerResult completion
 | 
			
		||||
		throw e;
 | 
			
		||||
	}
 | 
			
		||||
	completionRecord = completionThunk(); // if innerResult worked, then throw if the completion does
 | 
			
		||||
	completionThunk = null; // ensure it's not called twice.
 | 
			
		||||
 | 
			
		||||
	if (Type(innerResult) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('iterator .return must return an object');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return completionRecord;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										18
									
								
								node_modules/es-abstract/2020/IteratorComplete.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								node_modules/es-abstract/2020/IteratorComplete.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Get = require('./Get');
 | 
			
		||||
var ToBoolean = require('./ToBoolean');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete
 | 
			
		||||
 | 
			
		||||
module.exports = function IteratorComplete(iterResult) {
 | 
			
		||||
	if (Type(iterResult) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 | 
			
		||||
	}
 | 
			
		||||
	return ToBoolean(Get(iterResult, 'done'));
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										18
									
								
								node_modules/es-abstract/2020/IteratorNext.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								node_modules/es-abstract/2020/IteratorNext.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Invoke = require('./Invoke');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-iteratornext
 | 
			
		||||
 | 
			
		||||
module.exports = function IteratorNext(iterator, value) {
 | 
			
		||||
	var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]);
 | 
			
		||||
	if (Type(result) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('iterator next must return an object');
 | 
			
		||||
	}
 | 
			
		||||
	return result;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										13
									
								
								node_modules/es-abstract/2020/IteratorStep.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								node_modules/es-abstract/2020/IteratorStep.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var IteratorComplete = require('./IteratorComplete');
 | 
			
		||||
var IteratorNext = require('./IteratorNext');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-iteratorstep
 | 
			
		||||
 | 
			
		||||
module.exports = function IteratorStep(iterator) {
 | 
			
		||||
	var result = IteratorNext(iterator);
 | 
			
		||||
	var done = IteratorComplete(result);
 | 
			
		||||
	return done === true ? false : result;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										18
									
								
								node_modules/es-abstract/2020/IteratorValue.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								node_modules/es-abstract/2020/IteratorValue.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Get = require('./Get');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue
 | 
			
		||||
 | 
			
		||||
module.exports = function IteratorValue(iterResult) {
 | 
			
		||||
	if (Type(iterResult) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 | 
			
		||||
	}
 | 
			
		||||
	return Get(iterResult, 'value');
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								node_modules/es-abstract/2020/LengthOfArrayLike.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								node_modules/es-abstract/2020/LengthOfArrayLike.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var Get = require('./Get');
 | 
			
		||||
var ToLength = require('./ToLength');
 | 
			
		||||
var Type = require('./Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-lengthofarraylike
 | 
			
		||||
 | 
			
		||||
module.exports = function LengthOfArrayLike(obj) {
 | 
			
		||||
	if (Type(obj) !== 'Object') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `obj` must be an Object');
 | 
			
		||||
	}
 | 
			
		||||
	return ToLength(Get(obj, 'length'));
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// TODO: use this all over
 | 
			
		||||
							
								
								
									
										13
									
								
								node_modules/es-abstract/2020/MakeDate.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								node_modules/es-abstract/2020/MakeDate.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var $isFinite = require('../helpers/isFinite');
 | 
			
		||||
var msPerDay = require('../helpers/timeConstants').msPerDay;
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/5.1/#sec-15.9.1.13
 | 
			
		||||
 | 
			
		||||
module.exports = function MakeDate(day, time) {
 | 
			
		||||
	if (!$isFinite(day) || !$isFinite(time)) {
 | 
			
		||||
		return NaN;
 | 
			
		||||
	}
 | 
			
		||||
	return (day * msPerDay) + time;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										33
									
								
								node_modules/es-abstract/2020/MakeDay.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								node_modules/es-abstract/2020/MakeDay.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $DateUTC = GetIntrinsic('%Date.UTC%');
 | 
			
		||||
 | 
			
		||||
var $isFinite = require('../helpers/isFinite');
 | 
			
		||||
 | 
			
		||||
var DateFromTime = require('./DateFromTime');
 | 
			
		||||
var Day = require('./Day');
 | 
			
		||||
var floor = require('./floor');
 | 
			
		||||
var modulo = require('./modulo');
 | 
			
		||||
var MonthFromTime = require('./MonthFromTime');
 | 
			
		||||
var ToInteger = require('./ToInteger');
 | 
			
		||||
var YearFromTime = require('./YearFromTime');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/5.1/#sec-15.9.1.12
 | 
			
		||||
 | 
			
		||||
module.exports = function MakeDay(year, month, date) {
 | 
			
		||||
	if (!$isFinite(year) || !$isFinite(month) || !$isFinite(date)) {
 | 
			
		||||
		return NaN;
 | 
			
		||||
	}
 | 
			
		||||
	var y = ToInteger(year);
 | 
			
		||||
	var m = ToInteger(month);
 | 
			
		||||
	var dt = ToInteger(date);
 | 
			
		||||
	var ym = y + floor(m / 12);
 | 
			
		||||
	var mn = modulo(m, 12);
 | 
			
		||||
	var t = $DateUTC(ym, mn, 1);
 | 
			
		||||
	if (YearFromTime(t) !== ym || MonthFromTime(t) !== mn || DateFromTime(t) !== 1) {
 | 
			
		||||
		return NaN;
 | 
			
		||||
	}
 | 
			
		||||
	return Day(t) + dt - 1;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										23
									
								
								node_modules/es-abstract/2020/MakeTime.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								node_modules/es-abstract/2020/MakeTime.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var $isFinite = require('../helpers/isFinite');
 | 
			
		||||
var timeConstants = require('../helpers/timeConstants');
 | 
			
		||||
var msPerSecond = timeConstants.msPerSecond;
 | 
			
		||||
var msPerMinute = timeConstants.msPerMinute;
 | 
			
		||||
var msPerHour = timeConstants.msPerHour;
 | 
			
		||||
 | 
			
		||||
var ToInteger = require('./ToInteger');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/5.1/#sec-15.9.1.11
 | 
			
		||||
 | 
			
		||||
module.exports = function MakeTime(hour, min, sec, ms) {
 | 
			
		||||
	if (!$isFinite(hour) || !$isFinite(min) || !$isFinite(sec) || !$isFinite(ms)) {
 | 
			
		||||
		return NaN;
 | 
			
		||||
	}
 | 
			
		||||
	var h = ToInteger(hour);
 | 
			
		||||
	var m = ToInteger(min);
 | 
			
		||||
	var s = ToInteger(sec);
 | 
			
		||||
	var milli = ToInteger(ms);
 | 
			
		||||
	var t = (h * msPerHour) + (m * msPerMinute) + (s * msPerSecond) + milli;
 | 
			
		||||
	return t;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										14
									
								
								node_modules/es-abstract/2020/MinFromTime.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								node_modules/es-abstract/2020/MinFromTime.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var floor = require('./floor');
 | 
			
		||||
var modulo = require('./modulo');
 | 
			
		||||
 | 
			
		||||
var timeConstants = require('../helpers/timeConstants');
 | 
			
		||||
var msPerMinute = timeConstants.msPerMinute;
 | 
			
		||||
var MinutesPerHour = timeConstants.MinutesPerHour;
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/5.1/#sec-15.9.1.10
 | 
			
		||||
 | 
			
		||||
module.exports = function MinFromTime(t) {
 | 
			
		||||
	return modulo(floor(t / msPerMinute), MinutesPerHour);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										47
									
								
								node_modules/es-abstract/2020/MonthFromTime.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								node_modules/es-abstract/2020/MonthFromTime.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var DayWithinYear = require('./DayWithinYear');
 | 
			
		||||
var InLeapYear = require('./InLeapYear');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/5.1/#sec-15.9.1.4
 | 
			
		||||
 | 
			
		||||
module.exports = function MonthFromTime(t) {
 | 
			
		||||
	var day = DayWithinYear(t);
 | 
			
		||||
	if (0 <= day && day < 31) {
 | 
			
		||||
		return 0;
 | 
			
		||||
	}
 | 
			
		||||
	var leap = InLeapYear(t);
 | 
			
		||||
	if (31 <= day && day < (59 + leap)) {
 | 
			
		||||
		return 1;
 | 
			
		||||
	}
 | 
			
		||||
	if ((59 + leap) <= day && day < (90 + leap)) {
 | 
			
		||||
		return 2;
 | 
			
		||||
	}
 | 
			
		||||
	if ((90 + leap) <= day && day < (120 + leap)) {
 | 
			
		||||
		return 3;
 | 
			
		||||
	}
 | 
			
		||||
	if ((120 + leap) <= day && day < (151 + leap)) {
 | 
			
		||||
		return 4;
 | 
			
		||||
	}
 | 
			
		||||
	if ((151 + leap) <= day && day < (181 + leap)) {
 | 
			
		||||
		return 5;
 | 
			
		||||
	}
 | 
			
		||||
	if ((181 + leap) <= day && day < (212 + leap)) {
 | 
			
		||||
		return 6;
 | 
			
		||||
	}
 | 
			
		||||
	if ((212 + leap) <= day && day < (243 + leap)) {
 | 
			
		||||
		return 7;
 | 
			
		||||
	}
 | 
			
		||||
	if ((243 + leap) <= day && day < (273 + leap)) {
 | 
			
		||||
		return 8;
 | 
			
		||||
	}
 | 
			
		||||
	if ((273 + leap) <= day && day < (304 + leap)) {
 | 
			
		||||
		return 9;
 | 
			
		||||
	}
 | 
			
		||||
	if ((304 + leap) <= day && day < (334 + leap)) {
 | 
			
		||||
		return 10;
 | 
			
		||||
	}
 | 
			
		||||
	if ((334 + leap) <= day && day < (365 + leap)) {
 | 
			
		||||
		return 11;
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										44
									
								
								node_modules/es-abstract/2020/Number/add.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								node_modules/es-abstract/2020/Number/add.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var isNaN = require('../../helpers/isNaN');
 | 
			
		||||
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-number-add
 | 
			
		||||
 | 
			
		||||
module.exports = function NumberAdd(x, y) {
 | 
			
		||||
	if (Type(x) !== 'Number' || Type(y) !== 'Number') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be Numbers');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (isNaN(x) || isNaN(y) || (x === Infinity && y === -Infinity) || (x === -Infinity && y === Infinity)) {
 | 
			
		||||
		return NaN;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if ((x === Infinity && y === Infinity) || (x === -Infinity && y === -Infinity)) {
 | 
			
		||||
		return x;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (x === Infinity) {
 | 
			
		||||
		return x;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (y === Infinity) {
 | 
			
		||||
		return y;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (x === y && x === 0) {
 | 
			
		||||
		return Infinity / x === -Infinity && Infinity / y === -Infinity ? -0 : +0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (x === -y || -x === y) {
 | 
			
		||||
		return +0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// shortcut for the actual spec mechanics
 | 
			
		||||
	return x + y;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										17
									
								
								node_modules/es-abstract/2020/Number/bitwiseAND.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								node_modules/es-abstract/2020/Number/bitwiseAND.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var NumberBitwiseOp = require('../NumberBitwiseOp');
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-number-bitwiseAND
 | 
			
		||||
 | 
			
		||||
module.exports = function NumberBitwiseAND(x, y) {
 | 
			
		||||
	if (Type(x) !== 'Number' || Type(y) !== 'Number') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be Numbers');
 | 
			
		||||
	}
 | 
			
		||||
	return NumberBitwiseOp('&', x, y);
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										19
									
								
								node_modules/es-abstract/2020/Number/bitwiseNOT.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								node_modules/es-abstract/2020/Number/bitwiseNOT.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var ToInt32 = require('../ToInt32');
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-number-bitwiseNOT
 | 
			
		||||
 | 
			
		||||
module.exports = function NumberBitwiseNOT(x) {
 | 
			
		||||
	if (Type(x) !== 'Number') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` argument must be a Number');
 | 
			
		||||
	}
 | 
			
		||||
	var oldValue = ToInt32(x);
 | 
			
		||||
	// Return the result of applying the bitwise operator op to lnum and rnum. The result is a signed 32-bit integer.
 | 
			
		||||
	return ~oldValue;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										17
									
								
								node_modules/es-abstract/2020/Number/bitwiseOR.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								node_modules/es-abstract/2020/Number/bitwiseOR.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var GetIntrinsic = require('get-intrinsic');
 | 
			
		||||
 | 
			
		||||
var $TypeError = GetIntrinsic('%TypeError%');
 | 
			
		||||
 | 
			
		||||
var NumberBitwiseOp = require('../NumberBitwiseOp');
 | 
			
		||||
var Type = require('../Type');
 | 
			
		||||
 | 
			
		||||
// https://262.ecma-international.org/11.0/#sec-numeric-types-number-bitwiseOR
 | 
			
		||||
 | 
			
		||||
module.exports = function NumberBitwiseOR(x, y) {
 | 
			
		||||
	if (Type(x) !== 'Number' || Type(y) !== 'Number') {
 | 
			
		||||
		throw new $TypeError('Assertion failed: `x` and `y` arguments must be Numbers');
 | 
			
		||||
	}
 | 
			
		||||
	return NumberBitwiseOp('|', x, y);
 | 
			
		||||
};
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user