🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

es-abstract

Package Overview
Dependencies
Maintainers
1
Versions
91
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

es-abstract - npm Package Compare versions

Comparing version

to
1.23.10

helpers/isSameType.js

2

2015/abs.js

@@ -5,3 +5,3 @@ 'use strict';

// http://262.ecma-international.org/5.1/#sec-5.2
// https://262.ecma-international.org/5.1/#sec-5.2

@@ -8,0 +8,0 @@ module.exports = function abs(x) {

@@ -5,10 +5,11 @@ 'use strict';

var ToPrimitive = require('./ToPrimitive');
var Type = require('./Type');
var isObject = require('../helpers/isObject');
var isSameType = require('../helpers/isSameType');
var isObject = require('es-object-atoms/isObject');
// https://262.ecma-international.org/6.0/#sec-abstract-equality-comparison
module.exports = function AbstractEqualityComparison(x, y) {
if (Type(x) === Type(y)) {
if (isSameType(x, y)) {
return x === y; // ES6+ specified this shortcut anyways.

@@ -15,0 +16,0 @@ }

@@ -9,2 +9,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');

@@ -15,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-arrayspeciescreate

@@ -19,0 +18,0 @@

@@ -9,3 +9,2 @@ 'use strict';

var $charCodeAt = callBound('String.prototype.charCodeAt');
var $push = callBound('Array.prototype.push');

@@ -29,5 +28,5 @@ module.exports = function CharacterRange(A, B) {

for (var k = i; k <= j; k += 1) {
$push(arr, $fromCharCode(k));
arr[arr.length] = $fromCharCode(k);
}
return arr;
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createdataproperty

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var CreateDataProperty = require('./CreateDataProperty');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -9,0 +9,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf');
var $push = callBound('Array.prototype.push');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object'];

@@ -43,3 +41,3 @@

}
$push(list, next);
list[list.length] = next;
index += 1;

@@ -46,0 +44,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,4 +13,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createmethodproperty

@@ -16,0 +15,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-definepropertyorthrow

@@ -18,0 +17,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var keys = require('object-keys');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-enumerableownnames

@@ -10,0 +9,0 @@

@@ -7,5 +7,6 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');
var isObject = require('es-object-atoms/isObject');
// https://262.ecma-international.org/6.0/#sec-get-o-p

@@ -12,0 +13,0 @@

@@ -9,10 +9,8 @@ 'use strict';

var GetMethod = require('./GetMethod');
var IsArray = require('./IsArray');
var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');
var ES = {
AdvanceStringIndex: AdvanceStringIndex,
GetMethod: GetMethod,
IsArray: IsArray
GetMethod: GetMethod
};

@@ -19,0 +17,0 @@

@@ -8,2 +8,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-getownpropertykeys

@@ -18,0 +17,0 @@

@@ -12,3 +12,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor

@@ -62,3 +62,3 @@ 'use strict';

if (!elementSize) {
throw new $TypeError('Assertion failed: `type` must be one of "Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "Float32", or "Float64"');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -65,0 +65,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var hasOwn = require('hasown');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -10,0 +10,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-instanceofoperator

@@ -20,0 +19,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,3 +15,2 @@ var Call = require('./Call');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -17,0 +17,0 @@ // https://262.ecma-international.org/6.0/#sec-internalizejsonproperty

@@ -11,3 +11,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -14,0 +14,0 @@ // https://262.ecma-international.org/6.0/#sec-isconcatspreadable

@@ -7,3 +7,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -10,0 +10,0 @@ // https://262.ecma-international.org/6.0/#sec-ispromise

@@ -8,7 +8,6 @@ 'use strict';

var hasRegExpMatcher = require('is-regex');
var isObject = require('es-object-atoms/isObject');
var ToBoolean = require('./ToBoolean');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-isregexp

@@ -15,0 +14,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -10,4 +11,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorclose

@@ -14,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorcomplete

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Invoke = require('./Invoke');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratornext

@@ -10,0 +9,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Get = require('./Get');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorvalue

@@ -10,0 +9,0 @@

@@ -8,2 +8,3 @@ 'use strict';

var $SyntaxError = require('es-errors/syntax');
var isObject = require('es-object-atoms/isObject');

@@ -13,3 +14,2 @@ var IsArray = require('./IsArray');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -32,6 +32,6 @@ var SLOT = require('internal-slot');

var O;
if ($ObjectCreate) {
if (hasProto) {
O = { __proto__: proto };
} else if ($ObjectCreate) {
O = $ObjectCreate(proto);
} else if (hasProto) {
O = { __proto__: proto };
} else {

@@ -38,0 +38,0 @@ if (proto === null) {

'use strict';
var callBound = require('call-bound');
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
var Get = require('./Get');
var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty');
var ToObject = require('./ToObject');

@@ -11,7 +10,4 @@ var ToPropertyDescriptor = require('./ToPropertyDescriptor');

var forEach = require('../helpers/forEach');
var getOwnPropertyDescriptor = require('gopd');
var OwnPropertyKeys = require('own-keys');
var $push = callBound('Array.prototype.push');
// https://262.ecma-international.org/6.0/#sec-objectdefineproperties

@@ -27,7 +23,7 @@

forEach(keys, function (nextKey) { // step 4
var propDesc = ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
var propDesc = OrdinaryGetOwnProperty(props, nextKey); // ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
if (typeof propDesc !== 'undefined' && propDesc['[[Enumerable]]']) { // step 4.b
var descObj = Get(props, nextKey); // step 4.b.i
var desc = ToPropertyDescriptor(descObj); // step 4.b.ii
$push(descriptors, [nextKey, desc]); // step 4.b.iii
descriptors[descriptors.length] = [nextKey, desc]; // step 4.b.iii
}

@@ -34,0 +30,0 @@ });

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -17,4 +18,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty

@@ -21,0 +20,0 @@

@@ -5,3 +5,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var hasOwn = require('hasown');
var callBound = require('call-bound');

@@ -11,4 +12,2 @@

var hasOwn = require('hasown');
var IsArray = require('./IsArray');

@@ -19,4 +18,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty

@@ -23,0 +20,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var regexExec = require('call-bound')('RegExp.prototype.exec');

@@ -11,4 +11,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-regexpexec

@@ -15,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated

@@ -12,0 +11,0 @@ var noThrowOnStrictViolation = (function () {

@@ -7,4 +7,5 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $gOPD = require('gopd');
var $preventExtensions = GetIntrinsic('%Object.preventExtensions%', true);
var $gOPD = require('gopd');
var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

@@ -18,4 +19,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-setintegritylevel

@@ -22,0 +21,0 @@

@@ -53,3 +53,3 @@ 'use strict';

if (typeof type !== 'string' || !hasOwn(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a Typed Array Element Type');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -83,3 +83,3 @@

if (!elementSize) {
throw new $TypeError('Assertion failed: `type` must be one of "Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "Float32", or "Float64"');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -86,0 +86,0 @@

@@ -7,7 +7,6 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsConstructor = require('./IsConstructor');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-speciesconstructor

@@ -14,0 +13,0 @@

@@ -30,3 +30,4 @@ 'use strict';

$Float64: 8
}
},
choices: '"Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "Float32", or "Float64"'
};

@@ -8,2 +8,3 @@ 'use strict';

var OwnPropertyKeys = require('own-keys');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var IsDataDescriptor = require('./IsDataDescriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-testintegritylevel

@@ -18,0 +17,0 @@

@@ -7,2 +7,4 @@ 'use strict';

// https://262.ecma-international.org/6.0/#sec-tolength
module.exports = function ToLength(argument) {

@@ -9,0 +11,0 @@ var len = ToInteger(argument);

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -11,4 +12,2 @@ var IsCallable = require('./IsCallable');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/5.1/#sec-8.10.5

@@ -15,0 +14,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-validateandapplypropertydescriptor

@@ -20,0 +19,0 @@ // https://262.ecma-international.org/8.0/#sec-validateandapplypropertydescriptor

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsDetachedBuffer = require('./IsDetachedBuffer');
var isObject = require('../helpers/isObject');
var isTypedArray = require('is-typed-array');

@@ -10,0 +9,0 @@ var typedArrayBuffer = require('typed-array-buffer');

@@ -5,3 +5,3 @@ 'use strict';

// http://262.ecma-international.org/5.1/#sec-5.2
// https://262.ecma-international.org/5.1/#sec-5.2

@@ -8,0 +8,0 @@ module.exports = function abs(x) {

@@ -5,10 +5,11 @@ 'use strict';

var ToPrimitive = require('./ToPrimitive');
var Type = require('./Type');
var isObject = require('../helpers/isObject');
var isSameType = require('../helpers/isSameType');
var isObject = require('es-object-atoms/isObject');
// https://262.ecma-international.org/6.0/#sec-abstract-equality-comparison
module.exports = function AbstractEqualityComparison(x, y) {
if (Type(x) === Type(y)) {
if (isSameType(x, y)) {
return x === y; // ES6+ specified this shortcut anyways.

@@ -15,0 +16,0 @@ }

@@ -9,2 +9,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');

@@ -15,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-arrayspeciescreate

@@ -19,0 +18,0 @@

@@ -9,3 +9,2 @@ 'use strict';

var $charCodeAt = callBound('String.prototype.charCodeAt');
var $push = callBound('Array.prototype.push');

@@ -29,5 +28,5 @@ module.exports = function CharacterRange(A, B) {

for (var k = i; k <= j; k += 1) {
$push(arr, $fromCharCode(k));
arr[arr.length] = $fromCharCode(k);
}
return arr;
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createdataproperty

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var CreateDataProperty = require('./CreateDataProperty');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -9,0 +9,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf');
var $push = callBound('Array.prototype.push');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object'];

@@ -43,3 +41,3 @@

}
$push(list, next);
list[list.length] = next;
index += 1;

@@ -46,0 +44,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,4 +13,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createmethodproperty

@@ -16,0 +15,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-definepropertyorthrow

@@ -18,0 +17,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var keys = require('object-keys');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-enumerableownnames

@@ -10,0 +9,0 @@

@@ -7,5 +7,6 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');
var isObject = require('es-object-atoms/isObject');
// https://262.ecma-international.org/6.0/#sec-get-o-p

@@ -12,0 +13,0 @@

@@ -9,10 +9,8 @@ 'use strict';

var GetMethod = require('./GetMethod');
var IsArray = require('./IsArray');
var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');
var ES = {
AdvanceStringIndex: AdvanceStringIndex,
GetMethod: GetMethod,
IsArray: IsArray
GetMethod: GetMethod
};

@@ -19,0 +17,0 @@

@@ -8,2 +8,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-getownpropertykeys

@@ -18,0 +17,0 @@

@@ -12,3 +12,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor

@@ -62,3 +62,3 @@ 'use strict';

if (!elementSize) {
throw new $TypeError('Assertion failed: `type` must be one of "Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "Float32", or "Float64"');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -65,0 +65,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var hasOwn = require('hasown');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -10,0 +10,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-instanceofoperator

@@ -20,0 +19,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,3 +15,2 @@ var Call = require('./Call');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -17,0 +17,0 @@ // https://262.ecma-international.org/6.0/#sec-internalizejsonproperty

@@ -11,3 +11,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -14,0 +14,0 @@ // https://262.ecma-international.org/6.0/#sec-isconcatspreadable

@@ -7,3 +7,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -10,0 +10,0 @@ // https://262.ecma-international.org/6.0/#sec-ispromise

@@ -8,7 +8,6 @@ 'use strict';

var hasRegExpMatcher = require('is-regex');
var isObject = require('es-object-atoms/isObject');
var ToBoolean = require('./ToBoolean');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-isregexp

@@ -15,0 +14,0 @@

'use strict';
var callBound = require('call-bound');
var $arrayPush = callBound('Array.prototype.push');
var getIteratorMethod = require('../helpers/getIteratorMethod');

@@ -10,3 +7,2 @@ var AdvanceStringIndex = require('./AdvanceStringIndex');

var GetMethod = require('./GetMethod');
var IsArray = require('./IsArray');
var IteratorStep = require('./IteratorStep');

@@ -17,4 +13,3 @@ var IteratorValue = require('./IteratorValue');

AdvanceStringIndex: AdvanceStringIndex,
GetMethod: GetMethod,
IsArray: IsArray
GetMethod: GetMethod
};

@@ -34,3 +29,3 @@

var nextValue = IteratorValue(next);
$arrayPush(values, nextValue);
values[values.length] = nextValue;
}

@@ -37,0 +32,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -10,4 +11,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorclose

@@ -14,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorcomplete

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Invoke = require('./Invoke');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratornext

@@ -10,0 +9,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Get = require('./Get');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorvalue

@@ -10,0 +9,0 @@

@@ -8,2 +8,3 @@ 'use strict';

var $SyntaxError = require('es-errors/syntax');
var isObject = require('es-object-atoms/isObject');

@@ -13,3 +14,2 @@ var IsArray = require('./IsArray');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -32,6 +32,6 @@ var SLOT = require('internal-slot');

var O;
if ($ObjectCreate) {
if (hasProto) {
O = { __proto__: proto };
} else if ($ObjectCreate) {
O = $ObjectCreate(proto);
} else if (hasProto) {
O = { __proto__: proto };
} else {

@@ -38,0 +38,0 @@ if (proto === null) {

'use strict';
var callBound = require('call-bound');
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
var Get = require('./Get');
var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty');
var ToObject = require('./ToObject');

@@ -11,7 +10,4 @@ var ToPropertyDescriptor = require('./ToPropertyDescriptor');

var forEach = require('../helpers/forEach');
var getOwnPropertyDescriptor = require('gopd');
var OwnPropertyKeys = require('own-keys');
var $push = callBound('Array.prototype.push');
// https://262.ecma-international.org/6.0/#sec-objectdefineproperties

@@ -27,7 +23,7 @@

forEach(keys, function (nextKey) { // step 4
var propDesc = ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
var propDesc = OrdinaryGetOwnProperty(props, nextKey); // ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
if (typeof propDesc !== 'undefined' && propDesc['[[Enumerable]]']) { // step 4.b
var descObj = Get(props, nextKey); // step 4.b.i
var desc = ToPropertyDescriptor(descObj); // step 4.b.ii
$push(descriptors, [nextKey, desc]); // step 4.b.iii
descriptors[descriptors.length] = [nextKey, desc]; // step 4.b.iii
}

@@ -34,0 +30,0 @@ });

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -17,4 +18,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty

@@ -21,0 +20,0 @@

@@ -5,3 +5,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var hasOwn = require('hasown');
var callBound = require('call-bound');

@@ -11,4 +12,2 @@

var hasOwn = require('hasown');
var IsArray = require('./IsArray');

@@ -19,4 +18,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty

@@ -23,0 +20,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $getProto = require('get-proto');
var isObject = require('../helpers/isObject');

@@ -8,0 +8,0 @@ // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -5,7 +5,6 @@ 'use strict';

var $setProto = require('set-proto');
var isObject = require('es-object-atoms/isObject');
var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var regexExec = require('call-bound')('RegExp.prototype.exec');

@@ -11,4 +11,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-regexpexec

@@ -15,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated

@@ -12,0 +11,0 @@ var noThrowOnStrictViolation = (function () {

@@ -7,4 +7,5 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $gOPD = require('gopd');
var $preventExtensions = GetIntrinsic('%Object.preventExtensions%', true);
var $gOPD = require('gopd');
var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

@@ -18,4 +19,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-setintegritylevel

@@ -22,0 +21,0 @@

@@ -53,3 +53,3 @@ 'use strict';

if (typeof type !== 'string' || !hasOwn(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a Typed Array Element Type');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -83,3 +83,3 @@

if (!elementSize) {
throw new $TypeError('Assertion failed: `type` must be one of "Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "Float32", or "Float64"');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -86,0 +86,0 @@

@@ -7,7 +7,6 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsConstructor = require('./IsConstructor');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-speciesconstructor

@@ -14,0 +13,0 @@

@@ -30,3 +30,4 @@ 'use strict';

$Float64: 8
}
},
choices: '"Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "Float32", or "Float64"'
};

@@ -8,2 +8,3 @@ 'use strict';

var OwnPropertyKeys = require('own-keys');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var IsDataDescriptor = require('./IsDataDescriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-testintegritylevel

@@ -18,0 +17,0 @@

@@ -7,2 +7,4 @@ 'use strict';

// https://262.ecma-international.org/6.0/#sec-tolength
module.exports = function ToLength(argument) {

@@ -9,0 +11,0 @@ var len = ToInteger(argument);

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -11,4 +12,2 @@ var IsCallable = require('./IsCallable');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/5.1/#sec-8.10.5

@@ -15,0 +14,0 @@

@@ -22,5 +22,5 @@ 'use strict';

}
var cu1 = floor((cp - 65536) / 1024) + 0xD800;
var cu2 = modulo(cp - 65536, 1024) + 0xDC00;
return $fromCharCode(cu1) + $fromCharCode(cu2);
var cu1 = $fromCharCode(floor((cp - 65536) / 1024) + 0xD800);
var cu2 = $fromCharCode(modulo(cp - 65536, 1024) + 0xDC00);
return cu1 + cu2;
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-validateandapplypropertydescriptor

@@ -20,0 +19,0 @@ // https://262.ecma-international.org/8.0/#sec-validateandapplypropertydescriptor

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsDetachedBuffer = require('./IsDetachedBuffer');
var isObject = require('../helpers/isObject');
var isTypedArray = require('is-typed-array');

@@ -10,0 +9,0 @@ var typedArrayBuffer = require('typed-array-buffer');

@@ -5,3 +5,3 @@ 'use strict';

// http://262.ecma-international.org/5.1/#sec-5.2
// https://262.ecma-international.org/5.1/#sec-5.2

@@ -8,0 +8,0 @@ module.exports = function abs(x) {

@@ -5,10 +5,11 @@ 'use strict';

var ToPrimitive = require('./ToPrimitive');
var Type = require('./Type');
var isObject = require('../helpers/isObject');
var isSameType = require('../helpers/isSameType');
var isObject = require('es-object-atoms/isObject');
// https://262.ecma-international.org/6.0/#sec-abstract-equality-comparison
module.exports = function AbstractEqualityComparison(x, y) {
if (Type(x) === Type(y)) {
if (isSameType(x, y)) {
return x === y; // ES6+ specified this shortcut anyways.

@@ -15,0 +16,0 @@ }

@@ -9,2 +9,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');

@@ -15,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-arrayspeciescreate

@@ -19,0 +18,0 @@

@@ -9,3 +9,2 @@ 'use strict';

var $charCodeAt = callBound('String.prototype.charCodeAt');
var $push = callBound('Array.prototype.push');

@@ -29,5 +28,5 @@ module.exports = function CharacterRange(A, B) {

for (var k = i; k <= j; k += 1) {
$push(arr, $fromCharCode(k));
arr[arr.length] = $fromCharCode(k);
}
return arr;
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createdataproperty

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var CreateDataProperty = require('./CreateDataProperty');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -9,0 +9,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf');
var $push = callBound('Array.prototype.push');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object'];

@@ -43,3 +41,3 @@

}
$push(list, next);
list[list.length] = next;
index += 1;

@@ -46,0 +44,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,4 +13,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createmethodproperty

@@ -16,0 +15,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-definepropertyorthrow

@@ -18,0 +17,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,3 +13,2 @@ var objectKeys = require('object-keys');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/8.0/#sec-enumerableownproperties

@@ -7,5 +7,6 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');
var isObject = require('es-object-atoms/isObject');
// https://262.ecma-international.org/6.0/#sec-get-o-p

@@ -12,0 +13,0 @@

@@ -9,10 +9,8 @@ 'use strict';

var GetMethod = require('./GetMethod');
var IsArray = require('./IsArray');
var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');
var ES = {
AdvanceStringIndex: AdvanceStringIndex,
GetMethod: GetMethod,
IsArray: IsArray
GetMethod: GetMethod
};

@@ -19,0 +17,0 @@

@@ -8,2 +8,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-getownpropertykeys

@@ -18,0 +17,0 @@

@@ -12,3 +12,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor

@@ -67,3 +67,3 @@ 'use strict';

if (!elementSize) {
throw new $TypeError('Assertion failed: `type` must be one of "Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "Float32", or "Float64"');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -70,0 +70,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var hasOwn = require('hasown');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -10,0 +10,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-instanceofoperator

@@ -20,0 +19,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,3 +15,2 @@ var Call = require('./Call');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -17,0 +17,0 @@ // https://262.ecma-international.org/8.0/#sec-internalizejsonproperty

@@ -11,3 +11,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -14,0 +14,0 @@ // https://262.ecma-international.org/6.0/#sec-isconcatspreadable

@@ -7,3 +7,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -10,0 +10,0 @@ // https://262.ecma-international.org/6.0/#sec-ispromise

@@ -8,7 +8,6 @@ 'use strict';

var hasRegExpMatcher = require('is-regex');
var isObject = require('es-object-atoms/isObject');
var ToBoolean = require('./ToBoolean');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-isregexp

@@ -15,0 +14,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isSharedArrayBuffer = require('is-shared-array-buffer');

@@ -8,0 +7,0 @@

'use strict';
var callBound = require('call-bound');
var $arrayPush = callBound('Array.prototype.push');
var GetIterator = require('./GetIterator');

@@ -20,3 +17,3 @@ var IteratorStep = require('./IteratorStep');

var nextValue = IteratorValue(next);
$arrayPush(values, nextValue);
values[values.length] = nextValue;
}

@@ -23,0 +20,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -10,4 +11,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorclose

@@ -14,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorcomplete

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Invoke = require('./Invoke');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratornext

@@ -10,0 +9,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Get = require('./Get');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorvalue

@@ -10,0 +9,0 @@

@@ -18,27 +18,15 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/8.0/#table-50
var TypeToSizes = {
__proto__: null,
Int8: 1,
Uint8: 1,
Uint8C: 1,
Int16: 2,
Uint16: 2,
Int32: 4,
Uint32: 4,
Float32: 4,
Float64: 8
};
var TypeToAO = {
__proto__: null,
Int8: ToInt8,
Uint8: ToUint8,
Uint8C: ToUint8Clamp,
Int16: ToInt16,
Uint16: ToUint16,
Int32: ToInt32,
Uint32: ToUint32
$Int8: ToInt8,
$Uint8: ToUint8,
$Uint8C: ToUint8Clamp,
$Int16: ToInt16,
$Uint16: ToUint16,
$Int32: ToInt32,
$Uint32: ToUint32
};

@@ -49,4 +37,4 @@

module.exports = function NumberToRawBytes(type, value, isLittleEndian) {
if (typeof type !== 'string' || !hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (typeof type !== 'string' || !hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -66,5 +54,5 @@ if (typeof value !== 'number') {

var n = TypeToSizes[type]; // step 3.a
var n = tableTAO.size['$' + type]; // step 3.a
var convOp = TypeToAO[type]; // step 3.b
var convOp = TypeToAO['$' + type]; // step 3.b

@@ -71,0 +59,0 @@ var intValue = convOp(value); // step 3.c

@@ -8,2 +8,3 @@ 'use strict';

var $SyntaxError = require('es-errors/syntax');
var isObject = require('es-object-atoms/isObject');

@@ -13,3 +14,2 @@ var IsArray = require('./IsArray');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -32,6 +32,6 @@ var SLOT = require('internal-slot');

var O;
if ($ObjectCreate) {
if (hasProto) {
O = { __proto__: proto };
} else if ($ObjectCreate) {
O = $ObjectCreate(proto);
} else if (hasProto) {
O = { __proto__: proto };
} else {

@@ -38,0 +38,0 @@ if (proto === null) {

'use strict';
var callBound = require('call-bound');
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
var Get = require('./Get');
var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty');
var ToObject = require('./ToObject');

@@ -11,7 +10,4 @@ var ToPropertyDescriptor = require('./ToPropertyDescriptor');

var forEach = require('../helpers/forEach');
var getOwnPropertyDescriptor = require('gopd');
var OwnPropertyKeys = require('own-keys');
var $push = callBound('Array.prototype.push');
// https://262.ecma-international.org/6.0/#sec-objectdefineproperties

@@ -27,7 +23,7 @@

forEach(keys, function (nextKey) { // step 4
var propDesc = ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
var propDesc = OrdinaryGetOwnProperty(props, nextKey); // ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
if (typeof propDesc !== 'undefined' && propDesc['[[Enumerable]]']) { // step 4.b
var descObj = Get(props, nextKey); // step 4.b.i
var desc = ToPropertyDescriptor(descObj); // step 4.b.ii
$push(descriptors, [nextKey, desc]); // step 4.b.iii
descriptors[descriptors.length] = [nextKey, desc]; // step 4.b.iii
}

@@ -34,0 +30,0 @@ });

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -17,4 +18,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty

@@ -21,0 +20,0 @@

@@ -5,3 +5,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var hasOwn = require('hasown');
var callBound = require('call-bound');

@@ -11,4 +12,2 @@

var hasOwn = require('hasown');
var IsArray = require('./IsArray');

@@ -19,4 +18,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty

@@ -23,0 +20,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $getProto = require('get-proto');
var isObject = require('../helpers/isObject');

@@ -8,0 +8,0 @@ // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -5,7 +5,6 @@ 'use strict';

var $setProto = require('set-proto');
var isObject = require('es-object-atoms/isObject');
var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -9,4 +10,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
var inspect = require('object-inspect');

@@ -13,0 +12,0 @@

@@ -21,23 +21,9 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/8.0/#table-50
var TypeToSizes = {
__proto__: null,
Int8: 1,
Uint8: 1,
Uint8C: 1,
Int16: 2,
Uint16: 2,
Int32: 4,
Uint32: 4,
Float32: 4,
Float64: 8
};
// https://262.ecma-international.org/8.0/#sec-rawbytestonumber
module.exports = function RawBytesToNumber(type, rawBytes, isLittleEndian) {
if (typeof type !== 'string' || !hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (typeof type !== 'string' || !hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -51,3 +37,3 @@ if (!IsArray(rawBytes) || !every(rawBytes, isByteValue)) {

var elementSize = TypeToSizes[type]; // step 1
var elementSize = tableTAO.size['$' + type]; // step 1

@@ -54,0 +40,0 @@ if (rawBytes.length !== elementSize) {

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var regexExec = require('call-bound')('RegExp.prototype.exec');

@@ -11,4 +11,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-regexpexec

@@ -15,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated

@@ -12,0 +11,0 @@ var noThrowOnStrictViolation = (function () {

@@ -7,4 +7,5 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $gOPD = require('gopd');
var $preventExtensions = GetIntrinsic('%Object.preventExtensions%', true);
var $gOPD = require('gopd');
var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

@@ -18,4 +19,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-setintegritylevel

@@ -22,0 +21,0 @@

@@ -38,3 +38,3 @@ 'use strict';

if (typeof type !== 'string' || !hasOwn(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a Typed Array Element Type');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -41,0 +41,0 @@

@@ -7,7 +7,6 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsConstructor = require('./IsConstructor');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-speciesconstructor

@@ -14,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,3 +13,2 @@ var callBound = require('call-bound');

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -15,0 +15,0 @@

@@ -30,3 +30,4 @@ 'use strict';

$Float64: 8
}
},
choices: '"Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "Float32", or "Float64"'
};

@@ -8,2 +8,3 @@ 'use strict';

var OwnPropertyKeys = require('own-keys');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var IsDataDescriptor = require('./IsDataDescriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-testintegritylevel

@@ -18,0 +17,0 @@

@@ -7,2 +7,4 @@ 'use strict';

// https://262.ecma-international.org/6.0/#sec-tolength
module.exports = function ToLength(argument) {

@@ -9,0 +11,0 @@ var len = ToInteger(argument);

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -11,4 +12,2 @@ var IsCallable = require('./IsCallable');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/5.1/#sec-8.10.5

@@ -15,0 +14,0 @@

@@ -22,5 +22,5 @@ 'use strict';

}
var cu1 = floor((cp - 65536) / 1024) + 0xD800;
var cu2 = modulo(cp - 65536, 1024) + 0xDC00;
return $fromCharCode(cu1) + $fromCharCode(cu2);
var cu1 = $fromCharCode(floor((cp - 65536) / 1024) + 0xD800);
var cu2 = $fromCharCode(modulo(cp - 65536, 1024) + 0xDC00);
return cu1 + cu2;
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-validateandapplypropertydescriptor

@@ -20,0 +19,0 @@ // https://262.ecma-international.org/8.0/#sec-validateandapplypropertydescriptor

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsDetachedBuffer = require('./IsDetachedBuffer');
var isObject = require('../helpers/isObject');
var isTypedArray = require('is-typed-array');

@@ -10,0 +9,0 @@ var typedArrayBuffer = require('typed-array-buffer');

@@ -6,3 +6,3 @@ 'use strict';

var callBound = require('call-bound');
var $indexOf = callBound('String.prototype.indexOf', true);
var $indexOf = callBound('String.prototype.indexOf');

@@ -9,0 +9,0 @@ var Canonicalize = require('./Canonicalize');

@@ -5,3 +5,3 @@ 'use strict';

// http://262.ecma-international.org/5.1/#sec-5.2
// https://262.ecma-international.org/5.1/#sec-5.2

@@ -8,0 +8,0 @@ module.exports = function abs(x) {

@@ -5,10 +5,11 @@ 'use strict';

var ToPrimitive = require('./ToPrimitive');
var Type = require('./Type');
var isObject = require('../helpers/isObject');
var isSameType = require('../helpers/isSameType');
var isObject = require('es-object-atoms/isObject');
// https://262.ecma-international.org/6.0/#sec-abstract-equality-comparison
module.exports = function AbstractEqualityComparison(x, y) {
if (Type(x) === Type(y)) {
if (isSameType(x, y)) {
return x === y; // ES6+ specified this shortcut anyways.

@@ -15,0 +16,0 @@ }

@@ -9,2 +9,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');

@@ -15,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-arrayspeciescreate

@@ -19,0 +18,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -14,3 +15,2 @@

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record-2023');

@@ -17,0 +17,0 @@

@@ -9,3 +9,2 @@ 'use strict';

var $charCodeAt = callBound('String.prototype.charCodeAt');
var $push = callBound('Array.prototype.push');

@@ -29,5 +28,5 @@ module.exports = function CharacterRange(A, B) {

for (var k = i; k <= j; k += 1) {
$push(arr, $fromCharCode(k));
arr[arr.length] = $fromCharCode(k);
}
return arr;
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var callBound = require('call-bound');
var forEach = require('../helpers/forEach');
var OwnPropertyKeys = require('own-keys');
var every = require('../helpers/every');
var forEach = require('../helpers/forEach');
var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');

@@ -20,4 +22,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/9.0/#sec-copydataproperties

@@ -30,10 +30,5 @@

if (!IsArray(excludedItems)) {
if (!IsArray(excludedItems) || !every(excludedItems, isPropertyKey)) {
throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys');
}
for (var i = 0; i < excludedItems.length; i += 1) {
if (!isPropertyKey(excludedItems[i])) {
throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys');
}
}

@@ -57,3 +52,3 @@ if (typeof source === 'undefined' || source === null) {

var enumerable = $isEnumerable(fromObj, nextKey) || (
// this is to handle string keys being non-enumerable in older engines
// this is to handle string keys being non-enumerable in older engines
typeof source === 'string'

@@ -60,0 +55,0 @@ && nextKey >= 0

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -20,3 +21,2 @@

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record-2023');

@@ -23,0 +23,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createdataproperty

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var CreateDataProperty = require('./CreateDataProperty');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -9,0 +9,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf');
var $push = callBound('Array.prototype.push');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object'];

@@ -43,3 +41,3 @@

}
$push(list, next);
list[list.length] = next;
index += 1;

@@ -46,0 +44,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,4 +13,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createmethodproperty

@@ -16,0 +15,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-definepropertyorthrow

@@ -18,0 +17,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,3 +13,2 @@ var objectKeys = require('object-keys');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/8.0/#sec-enumerableownproperties

@@ -7,5 +7,6 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');
var isObject = require('es-object-atoms/isObject');
// https://262.ecma-international.org/6.0/#sec-get-o-p

@@ -12,0 +13,0 @@

@@ -9,10 +9,8 @@ 'use strict';

var GetMethod = require('./GetMethod');
var IsArray = require('./IsArray');
var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');
var ES = {
AdvanceStringIndex: AdvanceStringIndex,
GetMethod: GetMethod,
IsArray: IsArray
GetMethod: GetMethod
};

@@ -19,0 +17,0 @@

@@ -8,2 +8,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-getownpropertykeys

@@ -18,0 +17,0 @@

@@ -12,3 +12,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor

@@ -67,3 +67,3 @@ 'use strict';

if (!elementSize) {
throw new $TypeError('Assertion failed: `type` must be one of "Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "Float32", or "Float64"');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -70,0 +70,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var hasOwn = require('hasown');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -10,0 +10,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-instanceofoperator

@@ -20,0 +19,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,3 +15,2 @@ var Call = require('./Call');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -17,0 +17,0 @@ // https://262.ecma-international.org/9.0/#sec-internalizejsonproperty

@@ -11,3 +11,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -14,0 +14,0 @@ // https://262.ecma-international.org/6.0/#sec-isconcatspreadable

@@ -7,3 +7,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -10,0 +10,0 @@ // https://262.ecma-international.org/6.0/#sec-ispromise

@@ -8,7 +8,6 @@ 'use strict';

var hasRegExpMatcher = require('is-regex');
var isObject = require('es-object-atoms/isObject');
var ToBoolean = require('./ToBoolean');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-isregexp

@@ -15,0 +14,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isSharedArrayBuffer = require('is-shared-array-buffer');

@@ -8,0 +7,0 @@

'use strict';
var callBound = require('call-bound');
var $arrayPush = callBound('Array.prototype.push');
var GetIterator = require('./GetIterator');

@@ -20,3 +17,3 @@ var IteratorStep = require('./IteratorStep');

var nextValue = IteratorValue(next);
$arrayPush(values, nextValue);
values[values.length] = nextValue;
}

@@ -23,0 +20,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -10,4 +11,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorclose

@@ -14,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorcomplete

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Invoke = require('./Invoke');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratornext

@@ -10,0 +9,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Get = require('./Get');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorvalue

@@ -10,0 +9,0 @@

@@ -18,27 +18,15 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/8.0/#table-50
var TypeToSizes = {
__proto__: null,
Int8: 1,
Uint8: 1,
Uint8C: 1,
Int16: 2,
Uint16: 2,
Int32: 4,
Uint32: 4,
Float32: 4,
Float64: 8
};
var TypeToAO = {
__proto__: null,
Int8: ToInt8,
Uint8: ToUint8,
Uint8C: ToUint8Clamp,
Int16: ToInt16,
Uint16: ToUint16,
Int32: ToInt32,
Uint32: ToUint32
$Int8: ToInt8,
$Uint8: ToUint8,
$Uint8C: ToUint8Clamp,
$Int16: ToInt16,
$Uint16: ToUint16,
$Int32: ToInt32,
$Uint32: ToUint32
};

@@ -49,4 +37,4 @@

module.exports = function NumberToRawBytes(type, value, isLittleEndian) {
if (typeof type !== 'string' || !hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (typeof type !== 'string' || !hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -66,5 +54,5 @@ if (typeof value !== 'number') {

var n = TypeToSizes[type]; // step 3.a
var n = tableTAO.size['$' + type]; // step 3.a
var convOp = TypeToAO[type]; // step 3.b
var convOp = TypeToAO['$' + type]; // step 3.b

@@ -71,0 +59,0 @@ var intValue = convOp(value); // step 3.c

@@ -8,2 +8,3 @@ 'use strict';

var $SyntaxError = require('es-errors/syntax');
var isObject = require('es-object-atoms/isObject');

@@ -13,3 +14,2 @@ var IsArray = require('./IsArray');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -32,6 +32,6 @@ var SLOT = require('internal-slot');

var O;
if ($ObjectCreate) {
if (hasProto) {
O = { __proto__: proto };
} else if ($ObjectCreate) {
O = $ObjectCreate(proto);
} else if (hasProto) {
O = { __proto__: proto };
} else {

@@ -38,0 +38,0 @@ if (proto === null) {

'use strict';
var callBound = require('call-bound');
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
var Get = require('./Get');
var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty');
var ToObject = require('./ToObject');

@@ -11,7 +10,4 @@ var ToPropertyDescriptor = require('./ToPropertyDescriptor');

var forEach = require('../helpers/forEach');
var getOwnPropertyDescriptor = require('gopd');
var OwnPropertyKeys = require('own-keys');
var $push = callBound('Array.prototype.push');
// https://262.ecma-international.org/6.0/#sec-objectdefineproperties

@@ -27,7 +23,7 @@

forEach(keys, function (nextKey) { // step 4
var propDesc = ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
var propDesc = OrdinaryGetOwnProperty(props, nextKey); // ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
if (typeof propDesc !== 'undefined' && propDesc['[[Enumerable]]']) { // step 4.b
var descObj = Get(props, nextKey); // step 4.b.i
var desc = ToPropertyDescriptor(descObj); // step 4.b.ii
$push(descriptors, [nextKey, desc]); // step 4.b.iii
descriptors[descriptors.length] = [nextKey, desc]; // step 4.b.iii
}

@@ -34,0 +30,0 @@ });

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -17,4 +18,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty

@@ -21,0 +20,0 @@

@@ -5,3 +5,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var hasOwn = require('hasown');
var callBound = require('call-bound');

@@ -11,4 +12,2 @@

var hasOwn = require('hasown');
var IsArray = require('./IsArray');

@@ -19,4 +18,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty

@@ -23,0 +20,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $getProto = require('get-proto');
var isObject = require('../helpers/isObject');

@@ -8,0 +8,0 @@ // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -5,7 +5,6 @@ 'use strict';

var $setProto = require('set-proto');
var isObject = require('es-object-atoms/isObject');
var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -9,4 +10,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
var inspect = require('object-inspect');

@@ -13,0 +12,0 @@

@@ -21,23 +21,9 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/8.0/#table-50
var TypeToSizes = {
__proto__: null,
Int8: 1,
Uint8: 1,
Uint8C: 1,
Int16: 2,
Uint16: 2,
Int32: 4,
Uint32: 4,
Float32: 4,
Float64: 8
};
// https://262.ecma-international.org/8.0/#sec-rawbytestonumber
module.exports = function RawBytesToNumber(type, rawBytes, isLittleEndian) {
if (typeof type !== 'string' || !hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (typeof type !== 'string' || !hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -51,3 +37,3 @@ if (!IsArray(rawBytes) || !every(rawBytes, isByteValue)) {

var elementSize = TypeToSizes[type]; // step 1
var elementSize = tableTAO.size['$' + type]; // step 1

@@ -54,0 +40,0 @@ if (rawBytes.length !== elementSize) {

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var regexExec = require('call-bound')('RegExp.prototype.exec');

@@ -11,4 +11,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-regexpexec

@@ -15,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated

@@ -12,0 +11,0 @@ var noThrowOnStrictViolation = (function () {

@@ -7,4 +7,5 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $gOPD = require('gopd');
var $preventExtensions = GetIntrinsic('%Object.preventExtensions%', true);
var $gOPD = require('gopd');
var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

@@ -18,4 +19,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-setintegritylevel

@@ -22,0 +21,0 @@

@@ -38,3 +38,3 @@ 'use strict';

if (typeof type !== 'string' || !hasOwn(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a Typed Array Element Type');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -41,0 +41,0 @@

@@ -7,7 +7,6 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsConstructor = require('./IsConstructor');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-speciesconstructor

@@ -14,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,3 +13,2 @@ var callBound = require('call-bound');

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -15,0 +15,0 @@

@@ -30,3 +30,4 @@ 'use strict';

$Float64: 8
}
},
choices: '"Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "Float32", or "Float64"'
};

@@ -8,2 +8,3 @@ 'use strict';

var OwnPropertyKeys = require('own-keys');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var IsDataDescriptor = require('./IsDataDescriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-testintegritylevel

@@ -18,0 +17,0 @@

@@ -7,2 +7,4 @@ 'use strict';

// https://262.ecma-international.org/6.0/#sec-tolength
module.exports = function ToLength(argument) {

@@ -9,0 +11,0 @@ var len = ToInteger(argument);

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -11,4 +12,2 @@ var IsCallable = require('./IsCallable');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/5.1/#sec-8.10.5

@@ -15,0 +14,0 @@

@@ -22,5 +22,5 @@ 'use strict';

}
var cu1 = floor((cp - 65536) / 1024) + 0xD800;
var cu2 = modulo(cp - 65536, 1024) + 0xDC00;
return $fromCharCode(cu1) + $fromCharCode(cu2);
var cu1 = $fromCharCode(floor((cp - 65536) / 1024) + 0xD800);
var cu2 = $fromCharCode(modulo(cp - 65536, 1024) + 0xDC00);
return cu1 + cu2;
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-validateandapplypropertydescriptor

@@ -20,0 +19,0 @@ // https://262.ecma-international.org/8.0/#sec-validateandapplypropertydescriptor

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsDetachedBuffer = require('./IsDetachedBuffer');
var isObject = require('../helpers/isObject');
var isTypedArray = require('is-typed-array');

@@ -10,0 +9,0 @@ var typedArrayBuffer = require('typed-array-buffer');

@@ -6,3 +6,3 @@ 'use strict';

var callBound = require('call-bound');
var $indexOf = callBound('String.prototype.indexOf', true);
var $indexOf = callBound('String.prototype.indexOf');

@@ -9,0 +9,0 @@ var Canonicalize = require('./Canonicalize');

@@ -5,3 +5,3 @@ 'use strict';

// http://262.ecma-international.org/5.1/#sec-5.2
// https://262.ecma-international.org/5.1/#sec-5.2

@@ -8,0 +8,0 @@ module.exports = function abs(x) {

@@ -5,10 +5,11 @@ 'use strict';

var ToPrimitive = require('./ToPrimitive');
var Type = require('./Type');
var isObject = require('../helpers/isObject');
var isSameType = require('../helpers/isSameType');
var isObject = require('es-object-atoms/isObject');
// https://262.ecma-international.org/6.0/#sec-abstract-equality-comparison
module.exports = function AbstractEqualityComparison(x, y) {
if (Type(x) === Type(y)) {
if (isSameType(x, y)) {
return x === y; // ES6+ specified this shortcut anyways.

@@ -15,0 +16,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var inspect = require('object-inspect');
var $TypeError = require('es-errors/type');
var Call = require('./Call');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/10.0/#sec-add-entries-from-iterable

@@ -20,0 +18,0 @@

@@ -9,2 +9,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');

@@ -15,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-arrayspeciescreate

@@ -19,0 +18,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -17,4 +18,2 @@

var isObject = require('../helpers/isObject');
var $then = callBound('Promise.prototype.then', true);

@@ -21,0 +20,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -14,3 +15,2 @@

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record-2023');

@@ -17,0 +17,0 @@

@@ -9,3 +9,2 @@ 'use strict';

var $charCodeAt = callBound('String.prototype.charCodeAt');
var $push = callBound('Array.prototype.push');

@@ -29,5 +28,5 @@ module.exports = function CharacterRange(A, B) {

for (var k = i; k <= j; k += 1) {
$push(arr, $fromCharCode(k));
arr[arr.length] = $fromCharCode(k);
}
return arr;
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var callBound = require('call-bound');
var forEach = require('../helpers/forEach');
var OwnPropertyKeys = require('own-keys');
var every = require('../helpers/every');
var forEach = require('../helpers/forEach');
var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');

@@ -20,4 +22,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/9.0/#sec-copydataproperties

@@ -30,10 +30,5 @@

if (!IsArray(excludedItems)) {
if (!IsArray(excludedItems) || !every(excludedItems, isPropertyKey)) {
throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys');
}
for (var i = 0; i < excludedItems.length; i += 1) {
if (!isPropertyKey(excludedItems[i])) {
throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys');
}
}

@@ -57,3 +52,3 @@ if (typeof source === 'undefined' || source === null) {

var enumerable = $isEnumerable(fromObj, nextKey) || (
// this is to handle string keys being non-enumerable in older engines
// this is to handle string keys being non-enumerable in older engines
typeof source === 'string'

@@ -60,0 +55,0 @@ && nextKey >= 0

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -18,3 +19,2 @@

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record-2023');

@@ -21,0 +21,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createdataproperty

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var CreateDataProperty = require('./CreateDataProperty');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -9,0 +9,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf');
var $push = callBound('Array.prototype.push');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'Object'];

@@ -43,3 +41,3 @@

}
$push(list, next);
list[list.length] = next;
index += 1;

@@ -46,0 +44,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,4 +13,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createmethodproperty

@@ -16,0 +15,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-definepropertyorthrow

@@ -18,0 +17,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,3 +13,2 @@ var objectKeys = require('object-keys');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/8.0/#sec-enumerableownproperties

@@ -7,5 +7,6 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');
var isObject = require('es-object-atoms/isObject');
// https://262.ecma-international.org/6.0/#sec-get-o-p

@@ -12,0 +13,0 @@

@@ -9,10 +9,8 @@ 'use strict';

var GetMethod = require('./GetMethod');
var IsArray = require('./IsArray');
var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');
var ES = {
AdvanceStringIndex: AdvanceStringIndex,
GetMethod: GetMethod,
IsArray: IsArray
GetMethod: GetMethod
};

@@ -19,0 +17,0 @@

@@ -8,2 +8,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-getownpropertykeys

@@ -18,0 +17,0 @@

@@ -12,3 +12,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor

@@ -66,3 +66,3 @@ 'use strict';

if (!elementSize) {
throw new $TypeError('Assertion failed: `type` must be one of "Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "Float32", or "Float64"');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -69,0 +69,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var hasOwn = require('hasown');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -10,0 +10,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-instanceofoperator

@@ -20,0 +19,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,3 +15,2 @@ var Call = require('./Call');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -17,0 +17,0 @@ // https://262.ecma-international.org/9.0/#sec-internalizejsonproperty

@@ -11,3 +11,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -14,0 +14,0 @@ // https://262.ecma-international.org/6.0/#sec-isconcatspreadable

@@ -7,3 +7,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -10,0 +10,0 @@ // https://262.ecma-international.org/6.0/#sec-ispromise

@@ -8,7 +8,6 @@ 'use strict';

var hasRegExpMatcher = require('is-regex');
var isObject = require('es-object-atoms/isObject');
var ToBoolean = require('./ToBoolean');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-isregexp

@@ -15,0 +14,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isSharedArrayBuffer = require('is-shared-array-buffer');

@@ -8,0 +7,0 @@

'use strict';
var callBound = require('call-bound');
var $arrayPush = callBound('Array.prototype.push');
var GetIterator = require('./GetIterator');

@@ -20,3 +17,3 @@ var IteratorStep = require('./IteratorStep');

var nextValue = IteratorValue(next);
$arrayPush(values, nextValue);
values[values.length] = nextValue;
}

@@ -23,0 +20,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -10,4 +11,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorclose

@@ -14,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorcomplete

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Invoke = require('./Invoke');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratornext

@@ -10,0 +9,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Get = require('./Get');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorvalue

@@ -10,0 +9,0 @@

@@ -18,27 +18,15 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/8.0/#table-50
var TypeToSizes = {
__proto__: null,
Int8: 1,
Uint8: 1,
Uint8C: 1,
Int16: 2,
Uint16: 2,
Int32: 4,
Uint32: 4,
Float32: 4,
Float64: 8
};
var TypeToAO = {
__proto__: null,
Int8: ToInt8,
Uint8: ToUint8,
Uint8C: ToUint8Clamp,
Int16: ToInt16,
Uint16: ToUint16,
Int32: ToInt32,
Uint32: ToUint32
$Int8: ToInt8,
$Uint8: ToUint8,
$Uint8C: ToUint8Clamp,
$Int16: ToInt16,
$Uint16: ToUint16,
$Int32: ToInt32,
$Uint32: ToUint32
};

@@ -49,4 +37,4 @@

module.exports = function NumberToRawBytes(type, value, isLittleEndian) {
if (typeof type !== 'string' || !hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (typeof type !== 'string' || !hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -66,5 +54,5 @@ if (typeof value !== 'number') {

var n = TypeToSizes[type]; // step 3.a
var n = tableTAO.size['$' + type]; // step 3.a
var convOp = TypeToAO[type]; // step 3.b
var convOp = TypeToAO['$' + type]; // step 3.b

@@ -71,0 +59,0 @@ var intValue = convOp(value); // step 3.c

@@ -8,2 +8,3 @@ 'use strict';

var $SyntaxError = require('es-errors/syntax');
var isObject = require('es-object-atoms/isObject');

@@ -13,3 +14,2 @@ var IsArray = require('./IsArray');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -32,6 +32,6 @@ var SLOT = require('internal-slot');

var O;
if ($ObjectCreate) {
if (hasProto) {
O = { __proto__: proto };
} else if ($ObjectCreate) {
O = $ObjectCreate(proto);
} else if (hasProto) {
O = { __proto__: proto };
} else {

@@ -38,0 +38,0 @@ if (proto === null) {

'use strict';
var callBound = require('call-bound');
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
var Get = require('./Get');
var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty');
var ToObject = require('./ToObject');

@@ -11,7 +10,4 @@ var ToPropertyDescriptor = require('./ToPropertyDescriptor');

var forEach = require('../helpers/forEach');
var getOwnPropertyDescriptor = require('gopd');
var OwnPropertyKeys = require('own-keys');
var $push = callBound('Array.prototype.push');
// https://262.ecma-international.org/6.0/#sec-objectdefineproperties

@@ -27,7 +23,7 @@

forEach(keys, function (nextKey) { // step 4
var propDesc = ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
var propDesc = OrdinaryGetOwnProperty(props, nextKey); // ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
if (typeof propDesc !== 'undefined' && propDesc['[[Enumerable]]']) { // step 4.b
var descObj = Get(props, nextKey); // step 4.b.i
var desc = ToPropertyDescriptor(descObj); // step 4.b.ii
$push(descriptors, [nextKey, desc]); // step 4.b.iii
descriptors[descriptors.length] = [nextKey, desc]; // step 4.b.iii
}

@@ -34,0 +30,0 @@ });

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -17,4 +18,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty

@@ -21,0 +20,0 @@

@@ -5,3 +5,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var hasOwn = require('hasown');
var callBound = require('call-bound');

@@ -11,4 +12,2 @@

var hasOwn = require('hasown');
var IsArray = require('./IsArray');

@@ -19,4 +18,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty

@@ -23,0 +20,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $getProto = require('get-proto');
var isObject = require('../helpers/isObject');

@@ -8,0 +8,0 @@ // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -5,7 +5,6 @@ 'use strict';

var $setProto = require('set-proto');
var isObject = require('es-object-atoms/isObject');
var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -9,4 +10,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
var inspect = require('object-inspect');

@@ -13,0 +12,0 @@

@@ -21,23 +21,9 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/8.0/#table-50
var TypeToSizes = {
__proto__: null,
Int8: 1,
Uint8: 1,
Uint8C: 1,
Int16: 2,
Uint16: 2,
Int32: 4,
Uint32: 4,
Float32: 4,
Float64: 8
};
// https://262.ecma-international.org/8.0/#sec-rawbytestonumber
module.exports = function RawBytesToNumber(type, rawBytes, isLittleEndian) {
if (typeof type !== 'string' || !hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (typeof type !== 'string' || !hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -51,3 +37,3 @@ if (!IsArray(rawBytes) || !every(rawBytes, isByteValue)) {

var elementSize = TypeToSizes[type]; // step 1
var elementSize = tableTAO.size['$' + type]; // step 1

@@ -54,0 +40,0 @@ if (rawBytes.length !== elementSize) {

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var regexExec = require('call-bound')('RegExp.prototype.exec');

@@ -11,4 +11,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-regexpexec

@@ -15,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated

@@ -12,0 +11,0 @@ var noThrowOnStrictViolation = (function () {

@@ -7,4 +7,5 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $gOPD = require('gopd');
var $preventExtensions = GetIntrinsic('%Object.preventExtensions%', true);
var $gOPD = require('gopd');
var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

@@ -18,4 +19,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-setintegritylevel

@@ -22,0 +21,0 @@

@@ -38,3 +38,3 @@ 'use strict';

if (typeof type !== 'string' || !hasOwn(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a Typed Array Element Type');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -41,0 +41,0 @@

@@ -7,7 +7,6 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsConstructor = require('./IsConstructor');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-speciesconstructor

@@ -14,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,3 +13,2 @@ var callBound = require('call-bound');

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -15,0 +15,0 @@

@@ -30,3 +30,4 @@ 'use strict';

$Float64: 8
}
},
choices: '"Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "Float32", or "Float64"'
};

@@ -8,2 +8,3 @@ 'use strict';

var OwnPropertyKeys = require('own-keys');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var IsDataDescriptor = require('./IsDataDescriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-testintegritylevel

@@ -18,0 +17,0 @@

@@ -7,2 +7,4 @@ 'use strict';

// https://262.ecma-international.org/6.0/#sec-tolength
module.exports = function ToLength(argument) {

@@ -9,0 +11,0 @@ var len = ToInteger(argument);

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -11,4 +12,2 @@ var IsCallable = require('./IsCallable');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/5.1/#sec-8.10.5

@@ -15,0 +14,0 @@

@@ -22,5 +22,5 @@ 'use strict';

}
var cu1 = floor((cp - 65536) / 1024) + 0xD800;
var cu2 = modulo(cp - 65536, 1024) + 0xDC00;
return $fromCharCode(cu1) + $fromCharCode(cu2);
var cu1 = $fromCharCode(floor((cp - 65536) / 1024) + 0xD800);
var cu2 = $fromCharCode(modulo(cp - 65536, 1024) + 0xDC00);
return cu1 + cu2;
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-validateandapplypropertydescriptor

@@ -20,0 +19,0 @@ // https://262.ecma-international.org/8.0/#sec-validateandapplypropertydescriptor

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsDetachedBuffer = require('./IsDetachedBuffer');
var isObject = require('../helpers/isObject');
var isTypedArray = require('is-typed-array');

@@ -10,0 +9,0 @@ var typedArrayBuffer = require('typed-array-buffer');

@@ -6,3 +6,3 @@ 'use strict';

var callBound = require('call-bound');
var $indexOf = callBound('String.prototype.indexOf', true);
var $indexOf = callBound('String.prototype.indexOf');

@@ -9,0 +9,0 @@ var Canonicalize = require('./Canonicalize');

@@ -5,6 +5,6 @@ 'use strict';

// http://262.ecma-international.org/5.1/#sec-5.2
// https://262.ecma-international.org/11.0/#eqn-abs
module.exports = function abs(x) {
return $abs(x);
return typeof x === 'bigint' ? BigInt($abs(Number(x))) : $abs(x);
};

@@ -7,6 +7,6 @@ 'use strict';

var ToPrimitive = require('./ToPrimitive');
var Type = require('./Type');
var isNaN = require('math-intrinsics/isNaN');
var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');
var isSameType = require('../helpers/isSameType');

@@ -16,3 +16,3 @@ // https://262.ecma-international.org/11.0/#sec-abstract-equality-comparison

module.exports = function AbstractEqualityComparison(x, y) {
if (Type(x) === Type(y)) {
if (isSameType(x, y)) {
return StrictEqualityComparison(x, y);

@@ -19,0 +19,0 @@ }

@@ -14,3 +14,2 @@ 'use strict';

var ToPrimitive = require('./ToPrimitive');
var Type = require('./Type');

@@ -20,4 +19,6 @@ var BigIntLessThan = require('./BigInt/lessThan');

// https://262.ecma-international.org/9.0/#sec-abstract-relational-comparison
var isSameType = require('../helpers/isSameType');
// https://262.ecma-international.org/11.0/#sec-abstract-relational-comparison
// eslint-disable-next-line max-statements, max-lines-per-function

@@ -66,3 +67,3 @@ module.exports = function AbstractRelationalComparison(x, y, LeftFirst) {

ny = ToNumeric(py);
if (Type(nx) === Type(ny)) {
if (isSameType(nx, ny)) {
return typeof nx === 'number' ? NumberLessThan(nx, ny) : BigIntLessThan(nx, ny);

@@ -69,0 +70,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var inspect = require('object-inspect');
var $TypeError = require('es-errors/type');
var Call = require('./Call');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/10.0/#sec-add-entries-from-iterable

@@ -20,0 +18,0 @@

@@ -9,2 +9,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');

@@ -15,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-arrayspeciescreate

@@ -19,0 +18,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -17,4 +18,2 @@

var isObject = require('../helpers/isObject');
var $then = callBound('Promise.prototype.then', true);

@@ -21,0 +20,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -14,3 +15,2 @@

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record-2023');

@@ -17,0 +17,0 @@

@@ -9,3 +9,2 @@ 'use strict';

var $charCodeAt = callBound('String.prototype.charCodeAt');
var $push = callBound('Array.prototype.push');

@@ -29,5 +28,5 @@ module.exports = function CharacterRange(A, B) {

for (var k = i; k <= j; k += 1) {
$push(arr, $fromCharCode(k));
arr[arr.length] = $fromCharCode(k);
}
return arr;
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var callBound = require('call-bound');
var forEach = require('../helpers/forEach');
var every = require('../helpers/every');
var OwnPropertyKeys = require('own-keys');
var every = require('../helpers/every');
var forEach = require('../helpers/forEach');
var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');

@@ -21,4 +22,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/11.0/#sec-copydataproperties

@@ -52,3 +51,3 @@

var enumerable = $isEnumerable(from, nextKey) || (
// this is to handle string keys being non-enumerable in older engines
// this is to handle string keys being non-enumerable in older engines
typeof source === 'string'

@@ -55,0 +54,0 @@ && nextKey >= 0

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -18,3 +19,2 @@

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record-2023');

@@ -21,0 +21,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createdataproperty

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var CreateDataProperty = require('./CreateDataProperty');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -9,0 +9,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf');
var $push = callBound('Array.prototype.push');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'BigInt', 'Object'];

@@ -46,3 +44,3 @@

}
$push(list, next);
list[list.length] = next;
index += 1;

@@ -49,0 +47,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,4 +13,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createmethodproperty

@@ -16,0 +15,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IteratorPrototype = GetIntrinsic('%IteratorPrototype%', true);

@@ -20,4 +21,2 @@

var isObject = require('../helpers/isObject');
var SLOT = require('internal-slot');

@@ -24,0 +23,0 @@ var setToStringTag = require('es-set-tostringtag');

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-definepropertyorthrow

@@ -18,0 +17,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,3 +13,2 @@ var objectKeys = require('object-keys');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/8.0/#sec-enumerableownproperties

@@ -7,5 +7,6 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');
var isObject = require('es-object-atoms/isObject');
// https://262.ecma-international.org/6.0/#sec-get-o-p

@@ -12,0 +13,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $SyntaxError = require('es-errors/syntax');
var isObject = require('es-object-atoms/isObject');
var $asyncIterator = GetIntrinsic('%Symbol.asyncIterator%', true);

@@ -17,13 +18,9 @@

var GetMethod = require('./GetMethod');
var IsArray = require('./IsArray');
var isObject = require('../helpers/isObject');
var ES = {
AdvanceStringIndex: AdvanceStringIndex,
GetMethod: GetMethod,
IsArray: IsArray
GetMethod: GetMethod
};
// https://262.ecma-international.org/11.0/#sec-getiterator
// https://262.ecma-international.org/9.0/#sec-getiterator

@@ -30,0 +27,0 @@ module.exports = function GetIterator(obj, hint, method) {

@@ -8,2 +8,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-getownpropertykeys

@@ -18,0 +17,0 @@

@@ -12,3 +12,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor

@@ -38,3 +38,3 @@ 'use strict';

if (typeof type !== 'string' || typeof tableTAO.size['$' + type] !== 'number') {
throw new $TypeError('Assertion failed: `type` must be a Typed Array element type');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -68,3 +68,3 @@

if (!elementSize) {
throw new $TypeError('Assertion failed: `type` must be one of "Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "BigInt64", "BigUint64", "Float32", or "Float64"');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -71,0 +71,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var hasOwn = require('hasown');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -10,0 +10,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-instanceofoperator

@@ -20,0 +19,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,3 +15,2 @@ var Call = require('./Call');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -17,0 +17,0 @@ // https://262.ecma-international.org/11.0/#sec-internalizejsonproperty

@@ -11,3 +11,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -14,0 +14,0 @@ // https://262.ecma-international.org/6.0/#sec-isconcatspreadable

@@ -7,3 +7,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -10,0 +10,0 @@ // https://262.ecma-international.org/6.0/#sec-ispromise

@@ -8,7 +8,6 @@ 'use strict';

var hasRegExpMatcher = require('is-regex');
var isObject = require('es-object-atoms/isObject');
var ToBoolean = require('./ToBoolean');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-isregexp

@@ -15,0 +14,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isSharedArrayBuffer = require('is-shared-array-buffer');

@@ -8,0 +7,0 @@

'use strict';
var callBound = require('call-bound');
var $arrayPush = callBound('Array.prototype.push');
var GetIterator = require('./GetIterator');

@@ -20,3 +17,3 @@ var IteratorStep = require('./IteratorStep');

var nextValue = IteratorValue(next);
$arrayPush(values, nextValue);
values[values.length] = nextValue;
}

@@ -23,0 +20,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -10,4 +11,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorclose

@@ -14,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorcomplete

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Invoke = require('./Invoke');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratornext

@@ -10,0 +9,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Get = require('./Get');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorvalue

@@ -10,0 +9,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/11.0/#sec-lengthofarraylike

@@ -12,0 +11,0 @@

@@ -20,31 +20,16 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/11.0/#table-the-typedarray-constructors
var TypeToSizes = {
__proto__: null,
Int8: 1,
Uint8: 1,
Uint8C: 1,
Int16: 2,
Uint16: 2,
Int32: 4,
Uint32: 4,
BigInt64: 8,
BigUint64: 8,
Float32: 4,
Float64: 8
};
var TypeToAO = {
__proto__: null,
Int8: ToInt8,
Uint8: ToUint8,
Uint8C: ToUint8Clamp,
Int16: ToInt16,
Uint16: ToUint16,
Int32: ToInt32,
Uint32: ToUint32,
BigInt64: ToBigInt64,
BigUint64: ToBigUint64
$Int8: ToInt8,
$Uint8: ToUint8,
$Uint8C: ToUint8Clamp,
$Int16: ToInt16,
$Uint16: ToUint16,
$Int32: ToInt32,
$Uint32: ToUint32,
$BigInt64: ToBigInt64,
$BigUint64: ToBigUint64
};

@@ -55,4 +40,4 @@

module.exports = function NumericToRawBytes(type, value, isLittleEndian) {
if (typeof type !== 'string' || !hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (typeof type !== 'string' || !hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -72,5 +57,5 @@ if (typeof value !== 'number' && typeof value !== 'bigint') {

var n = TypeToSizes[type]; // step 3.a
var n = tableTAO.size['$' + type]; // step 3.a
var convOp = TypeToAO[type]; // step 3.b
var convOp = TypeToAO['$' + type]; // step 3.b

@@ -77,0 +62,0 @@ var intValue = convOp(value); // step 3.c

'use strict';
var callBound = require('call-bound');
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
var Get = require('./Get');
var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty');
var ToObject = require('./ToObject');

@@ -11,7 +10,4 @@ var ToPropertyDescriptor = require('./ToPropertyDescriptor');

var forEach = require('../helpers/forEach');
var getOwnPropertyDescriptor = require('gopd');
var OwnPropertyKeys = require('own-keys');
var $push = callBound('Array.prototype.push');
// https://262.ecma-international.org/6.0/#sec-objectdefineproperties

@@ -27,7 +23,7 @@

forEach(keys, function (nextKey) { // step 4
var propDesc = ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
var propDesc = OrdinaryGetOwnProperty(props, nextKey); // ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
if (typeof propDesc !== 'undefined' && propDesc['[[Enumerable]]']) { // step 4.b
var descObj = Get(props, nextKey); // step 4.b.i
var desc = ToPropertyDescriptor(descObj); // step 4.b.ii
$push(descriptors, [nextKey, desc]); // step 4.b.iii
descriptors[descriptors.length] = [nextKey, desc]; // step 4.b.iii
}

@@ -34,0 +30,0 @@ });

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -17,4 +18,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty

@@ -21,0 +20,0 @@

@@ -5,3 +5,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var hasOwn = require('hasown');
var callBound = require('call-bound');

@@ -11,4 +12,2 @@

var hasOwn = require('hasown');
var IsArray = require('./IsArray');

@@ -19,4 +18,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty

@@ -23,0 +20,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $getProto = require('get-proto');
var isObject = require('../helpers/isObject');

@@ -8,0 +8,0 @@ // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -8,2 +8,3 @@ 'use strict';

var $SyntaxError = require('es-errors/syntax');
var isObject = require('es-object-atoms/isObject');

@@ -13,3 +14,2 @@ var IsArray = require('./IsArray');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -38,6 +38,6 @@ var SLOT = require('internal-slot');

var O;
if ($ObjectCreate) {
if (hasProto) {
O = { __proto__: proto };
} else if ($ObjectCreate) {
O = $ObjectCreate(proto);
} else if (hasProto) {
O = { __proto__: proto };
} else {

@@ -44,0 +44,0 @@ if (proto === null) {

@@ -5,7 +5,6 @@ 'use strict';

var $setProto = require('set-proto');
var isObject = require('es-object-atoms/isObject');
var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -9,4 +10,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
var inspect = require('object-inspect');

@@ -13,0 +12,0 @@

@@ -25,25 +25,9 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/11.0/#table-the-typedarray-constructors
var TypeToSizes = {
__proto__: null,
Int8: 1,
Uint8: 1,
Uint8C: 1,
Int16: 2,
Uint16: 2,
Int32: 4,
Uint32: 4,
BigInt64: 8,
BigUint64: 8,
Float32: 4,
Float64: 8
};
// https://262.ecma-international.org/11.0/#sec-rawbytestonumeric
module.exports = function RawBytesToNumeric(type, rawBytes, isLittleEndian) {
if (!hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (typeof type !== 'string' || !hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -57,3 +41,3 @@ if (!IsArray(rawBytes) || !every(rawBytes, isByteValue)) {

var elementSize = TypeToSizes[type]; // step 1
var elementSize = tableTAO.size['$' + type]; // step 1

@@ -60,0 +44,0 @@ if (rawBytes.length !== elementSize) {

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var regexExec = require('call-bound')('RegExp.prototype.exec');

@@ -11,4 +11,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-regexpexec

@@ -15,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated

@@ -12,0 +11,0 @@ var noThrowOnStrictViolation = (function () {

@@ -7,4 +7,5 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $gOPD = require('gopd');
var $preventExtensions = GetIntrinsic('%Object.preventExtensions%', true);
var $gOPD = require('gopd');
var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

@@ -18,4 +19,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-setintegritylevel

@@ -22,0 +21,0 @@

@@ -38,3 +38,3 @@ 'use strict';

if (typeof type !== 'string' || !hasOwn(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a Typed Array Element Type');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -41,0 +41,0 @@

@@ -7,7 +7,6 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsConstructor = require('./IsConstructor');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-speciesconstructor

@@ -14,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,3 +13,2 @@ var callBound = require('call-bound');

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -15,0 +15,0 @@

@@ -34,3 +34,4 @@ 'use strict';

$Float64: 8
}
},
choices: '"Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "BigInt64", "BigUint64", "Float32", or "Float64"'
};

@@ -8,2 +8,3 @@ 'use strict';

var OwnPropertyKeys = require('own-keys');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var IsDataDescriptor = require('./IsDataDescriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-testintegritylevel

@@ -18,0 +17,0 @@

@@ -7,2 +7,4 @@ 'use strict';

// https://262.ecma-international.org/6.0/#sec-tolength
module.exports = function ToLength(argument) {

@@ -9,0 +11,0 @@ var len = ToInteger(argument);

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -11,4 +12,2 @@ var IsCallable = require('./IsCallable');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/5.1/#sec-8.10.5

@@ -15,0 +14,0 @@

@@ -5,6 +5,2 @@ 'use strict';

var callBound = require('call-bound');
var $push = callBound('Array.prototype.push');
var CodePointAt = require('./CodePointAt');

@@ -23,3 +19,3 @@

var cp = CodePointAt(string, position);
$push(codePoints, cp['[[CodePoint]]']);
codePoints[codePoints.length] = cp['[[CodePoint]]'];
position += cp['[[CodeUnitCount]]'];

@@ -26,0 +22,0 @@ }

@@ -22,5 +22,5 @@ 'use strict';

}
var cu1 = floor((cp - 65536) / 1024) + 0xD800;
var cu2 = modulo(cp - 65536, 1024) + 0xDC00;
return $fromCharCode(cu1) + $fromCharCode(cu2);
var cu1 = $fromCharCode(floor((cp - 65536) / 1024) + 0xD800);
var cu2 = $fromCharCode(modulo(cp - 65536, 1024) + 0xDC00);
return cu1 + cu2;
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-validateandapplypropertydescriptor

@@ -20,0 +19,0 @@ // https://262.ecma-international.org/8.0/#sec-validateandapplypropertydescriptor

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsDetachedBuffer = require('./IsDetachedBuffer');
var isObject = require('../helpers/isObject');
var isTypedArray = require('is-typed-array');

@@ -10,0 +9,0 @@ var typedArrayBuffer = require('typed-array-buffer');

@@ -6,3 +6,3 @@ 'use strict';

var callBound = require('call-bound');
var $indexOf = callBound('String.prototype.indexOf', true);
var $indexOf = callBound('String.prototype.indexOf');

@@ -9,0 +9,0 @@ var Canonicalize = require('./Canonicalize');

@@ -5,6 +5,6 @@ 'use strict';

// http://262.ecma-international.org/5.1/#sec-5.2
// https://262.ecma-international.org/11.0/#eqn-abs
module.exports = function abs(x) {
return $abs(x);
return typeof x === 'bigint' ? BigInt($abs(Number(x))) : $abs(x);
};

@@ -7,6 +7,6 @@ 'use strict';

var ToPrimitive = require('./ToPrimitive');
var Type = require('./Type');
var isNaN = require('math-intrinsics/isNaN');
var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');
var isSameType = require('../helpers/isSameType');

@@ -16,3 +16,3 @@ // https://262.ecma-international.org/11.0/#sec-abstract-equality-comparison

module.exports = function AbstractEqualityComparison(x, y) {
if (Type(x) === Type(y)) {
if (isSameType(x, y)) {
return StrictEqualityComparison(x, y);

@@ -19,0 +19,0 @@ }

@@ -14,3 +14,2 @@ 'use strict';

var ToPrimitive = require('./ToPrimitive');
var Type = require('./Type');

@@ -20,4 +19,6 @@ var BigIntLessThan = require('./BigInt/lessThan');

// https://262.ecma-international.org/9.0/#sec-abstract-relational-comparison
var isSameType = require('../helpers/isSameType');
// https://262.ecma-international.org/11.0/#sec-abstract-relational-comparison
// eslint-disable-next-line max-statements, max-lines-per-function

@@ -66,3 +67,3 @@ module.exports = function AbstractRelationalComparison(x, y, LeftFirst) {

ny = ToNumeric(py);
if (Type(nx) === Type(ny)) {
if (isSameType(nx, ny)) {
return typeof nx === 'number' ? NumberLessThan(nx, ny) : BigIntLessThan(nx, ny);

@@ -69,0 +70,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var inspect = require('object-inspect');
var $TypeError = require('es-errors/type');
var Call = require('./Call');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/10.0/#sec-add-entries-from-iterable

@@ -20,0 +18,0 @@

'use strict';
var callBound = require('call-bound');
var SLOT = require('internal-slot');
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var ClearKeptObjects = require('./ClearKeptObjects');
var isObject = require('../helpers/isObject');
var $push = callBound('Array.prototype.push');
// https://262.ecma-international.org/12.0/#sec-addtokeptobjects

@@ -20,3 +16,4 @@

}
$push(SLOT.get(ClearKeptObjects, '[[es-abstract internal: KeptAlive]]'), object);
var arr = SLOT.get(ClearKeptObjects, '[[es-abstract internal: KeptAlive]]');
arr[arr.length] = object;
};

@@ -8,2 +8,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');

@@ -15,4 +16,2 @@ var ArrayCreate = require('./ArrayCreate');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/12.0/#sec-arrayspeciescreate

@@ -19,0 +18,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -17,4 +18,2 @@

var isObject = require('../helpers/isObject');
var $then = callBound('Promise.prototype.then', true);

@@ -21,0 +20,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -14,3 +15,2 @@

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record-2023');

@@ -17,0 +17,0 @@

'use strict';
var callBound = require('call-bound');
var $TypeError = require('es-errors/type');
var $push = callBound('Array.prototype.push');
var IsArray = require('./IsArray');

@@ -39,3 +35,3 @@

}
$push(result, resultByte);
result[result.length] = resultByte;
}

@@ -42,0 +38,0 @@

@@ -9,3 +9,2 @@ 'use strict';

var $charCodeAt = callBound('String.prototype.charCodeAt');
var $push = callBound('Array.prototype.push');

@@ -29,5 +28,5 @@ module.exports = function CharacterRange(A, B) {

for (var k = i; k <= j; k += 1) {
$push(arr, $fromCharCode(k));
arr[arr.length] = $fromCharCode(k);
}
return arr;
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var callBound = require('call-bound');
var OwnPropertyKeys = require('own-keys');
var callBound = require('call-bound');
var forEach = require('../helpers/forEach');
var every = require('../helpers/every');
var some = require('../helpers/some');
var OwnPropertyKeys = require('own-keys');

@@ -16,3 +17,2 @@ var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');

var IsArray = require('./IsArray');
var IsIntegralNumber = require('./IsIntegralNumber');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -23,3 +23,3 @@ var SameValue = require('./SameValue');

var isObject = require('../helpers/isObject');
var isInteger = require('math-intrinsics/isInteger');

@@ -62,3 +62,3 @@ // https://262.ecma-international.org/12.0/#sec-copydataproperties

&& nextKey >= 0
&& IsIntegralNumber(ToNumber(nextKey))
&& isInteger(ToNumber(nextKey))
);

@@ -65,0 +65,0 @@ if (excluded === false && enumerable) {

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -18,3 +19,2 @@

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record-2023');

@@ -21,0 +21,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createdataproperty

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var CreateDataProperty = require('./CreateDataProperty');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -9,0 +9,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf');
var $push = callBound('Array.prototype.push');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'BigInt', 'Object'];

@@ -44,3 +42,3 @@

}
$push(list, next);
list[list.length] = next;
index += 1;

@@ -47,0 +45,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,4 +13,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createmethodproperty

@@ -16,0 +15,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IteratorPrototype = GetIntrinsic('%IteratorPrototype%', true);

@@ -20,4 +21,2 @@

var isObject = require('../helpers/isObject');
var SLOT = require('internal-slot');

@@ -24,0 +23,0 @@ var setToStringTag = require('es-set-tostringtag');

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-definepropertyorthrow

@@ -18,0 +17,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,3 +13,2 @@ var objectKeys = require('object-keys');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/8.0/#sec-enumerableownproperties

@@ -7,5 +7,6 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');
var isObject = require('es-object-atoms/isObject');
// https://262.ecma-international.org/6.0/#sec-get-o-p

@@ -12,0 +13,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $SyntaxError = require('es-errors/syntax');
var isObject = require('es-object-atoms/isObject');
var $asyncIterator = GetIntrinsic('%Symbol.asyncIterator%', true);

@@ -17,13 +18,9 @@

var GetMethod = require('./GetMethod');
var IsArray = require('./IsArray');
var isObject = require('../helpers/isObject');
var ES = {
AdvanceStringIndex: AdvanceStringIndex,
GetMethod: GetMethod,
IsArray: IsArray
GetMethod: GetMethod
};
// https://262.ecma-international.org/11.0/#sec-getiterator
// https://262.ecma-international.org/9.0/#sec-getiterator

@@ -30,0 +27,0 @@ module.exports = function GetIterator(obj, hint, method) {

@@ -8,2 +8,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-getownpropertykeys

@@ -18,0 +17,0 @@

@@ -12,3 +12,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor

@@ -38,3 +38,3 @@ 'use strict';

if (typeof type !== 'string' || typeof tableTAO.size['$' + type] !== 'number') {
throw new $TypeError('Assertion failed: `type` must be a Typed Array element type');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -68,3 +68,3 @@

if (!elementSize) {
throw new $TypeError('Assertion failed: `type` must be one of "Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "BigInt64", "BigUint64", "Float32", or "Float64"');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -71,0 +71,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var hasOwn = require('hasown');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -10,0 +10,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-instanceofoperator

@@ -20,0 +19,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,3 +15,2 @@ var Call = require('./Call');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -17,0 +17,0 @@ // https://262.ecma-international.org/11.0/#sec-internalizejsonproperty

@@ -11,3 +11,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -14,0 +14,0 @@ // https://262.ecma-international.org/6.0/#sec-isconcatspreadable

@@ -7,3 +7,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -10,0 +10,0 @@ // https://262.ecma-international.org/6.0/#sec-ispromise

@@ -8,7 +8,6 @@ 'use strict';

var hasRegExpMatcher = require('is-regex');
var isObject = require('es-object-atoms/isObject');
var ToBoolean = require('./ToBoolean');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-isregexp

@@ -15,0 +14,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isSharedArrayBuffer = require('is-shared-array-buffer');

@@ -8,0 +7,0 @@

@@ -7,4 +7,4 @@ 'use strict';

var IsDetachedBuffer = require('./IsDetachedBuffer');
var IsIntegralNumber = require('./IsIntegralNumber');
var isInteger = require('math-intrinsics/isInteger');
var typedArrayBuffer = require('typed-array-buffer');

@@ -24,3 +24,3 @@

if (!IsIntegralNumber(index)) { return false; } // step 3
if (!isInteger(index)) { return false; } // step 3

@@ -27,0 +27,0 @@ if (isNegativeZero(index)) { return false; } // step 4

@@ -10,3 +10,2 @@ 'use strict';

var IsArray = require('./IsArray');
var IsIntegralNumber = require('./IsIntegralNumber');
var WordCharacters = require('./WordCharacters');

@@ -16,2 +15,4 @@

var isInteger = require('math-intrinsics/isInteger');
var isChar = function isChar(c) {

@@ -25,6 +26,6 @@ return typeof c === 'string';

module.exports = function IsWordChar(e, InputLength, Input, IgnoreCase, Unicode) {
if (!IsIntegralNumber(e)) {
if (!isInteger(e)) {
throw new $TypeError('Assertion failed: `e` must be an integer');
}
if (!IsIntegralNumber(InputLength)) {
if (!isInteger(InputLength)) {
throw new $TypeError('Assertion failed: `InputLength` must be an integer');

@@ -31,0 +32,0 @@ }

'use strict';
var callBound = require('call-bound');
var $arrayPush = callBound('Array.prototype.push');
var GetIterator = require('./GetIterator');

@@ -25,3 +22,3 @@ var IteratorStep = require('./IteratorStep');

var nextValue = IteratorValue(next);
$arrayPush(values, nextValue);
values[values.length] = nextValue;
}

@@ -28,0 +25,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -10,4 +11,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorclose

@@ -14,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorcomplete

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Invoke = require('./Invoke');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratornext

@@ -10,0 +9,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Get = require('./Get');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorvalue

@@ -10,0 +9,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/11.0/#sec-lengthofarraylike

@@ -12,0 +11,0 @@

@@ -10,3 +10,3 @@ 'use strict';

var IsIntegralNumber = require('./IsIntegralNumber');
var isInteger = require('math-intrinsics/isInteger');

@@ -19,3 +19,3 @@ // https://262.ecma-international.org/12.0/#sec-numbertobigint

}
if (!IsIntegralNumber(number)) {
if (!isInteger(number)) {
throw new $RangeError('The number ' + number + ' cannot be converted to a BigInt because it is not an integer');

@@ -22,0 +22,0 @@ }

@@ -20,31 +20,16 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/11.0/#table-the-typedarray-constructors
var TypeToSizes = {
__proto__: null,
Int8: 1,
Uint8: 1,
Uint8C: 1,
Int16: 2,
Uint16: 2,
Int32: 4,
Uint32: 4,
BigInt64: 8,
BigUint64: 8,
Float32: 4,
Float64: 8
};
var TypeToAO = {
__proto__: null,
Int8: ToInt8,
Uint8: ToUint8,
Uint8C: ToUint8Clamp,
Int16: ToInt16,
Uint16: ToUint16,
Int32: ToInt32,
Uint32: ToUint32,
BigInt64: ToBigInt64,
BigUint64: ToBigUint64
$Int8: ToInt8,
$Uint8: ToUint8,
$Uint8C: ToUint8Clamp,
$Int16: ToInt16,
$Uint16: ToUint16,
$Int32: ToInt32,
$Uint32: ToUint32,
$BigInt64: ToBigInt64,
$BigUint64: ToBigUint64
};

@@ -55,4 +40,4 @@

module.exports = function NumericToRawBytes(type, value, isLittleEndian) {
if (typeof type !== 'string' || !hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (typeof type !== 'string' || !hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -72,5 +57,5 @@ if (typeof value !== 'number' && typeof value !== 'bigint') {

var n = TypeToSizes[type]; // step 3.a
var n = tableTAO.size['$' + type]; // step 3.a
var convOp = TypeToAO[type]; // step 3.b
var convOp = TypeToAO['$' + type]; // step 3.b

@@ -77,0 +62,0 @@ var intValue = convOp(value); // step 3.c

'use strict';
var callBound = require('call-bound');
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
var Get = require('./Get');
var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty');
var ToObject = require('./ToObject');

@@ -11,7 +10,4 @@ var ToPropertyDescriptor = require('./ToPropertyDescriptor');

var forEach = require('../helpers/forEach');
var getOwnPropertyDescriptor = require('gopd');
var OwnPropertyKeys = require('own-keys');
var $push = callBound('Array.prototype.push');
// https://262.ecma-international.org/6.0/#sec-objectdefineproperties

@@ -27,7 +23,7 @@

forEach(keys, function (nextKey) { // step 4
var propDesc = ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
var propDesc = OrdinaryGetOwnProperty(props, nextKey); // ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
if (typeof propDesc !== 'undefined' && propDesc['[[Enumerable]]']) { // step 4.b
var descObj = Get(props, nextKey); // step 4.b.i
var desc = ToPropertyDescriptor(descObj); // step 4.b.ii
$push(descriptors, [nextKey, desc]); // step 4.b.iii
descriptors[descriptors.length] = [nextKey, desc]; // step 4.b.iii
}

@@ -34,0 +30,0 @@ });

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -17,4 +18,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty

@@ -21,0 +20,0 @@

@@ -5,3 +5,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var callBound = require('call-bound');

@@ -18,4 +18,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty

@@ -22,0 +20,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $getProto = require('get-proto');
var isObject = require('../helpers/isObject');

@@ -8,0 +8,0 @@ // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -8,2 +8,3 @@ 'use strict';

var $SyntaxError = require('es-errors/syntax');
var isObject = require('es-object-atoms/isObject');

@@ -13,3 +14,2 @@ var IsArray = require('./IsArray');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -38,6 +38,6 @@ var SLOT = require('internal-slot');

var O;
if ($ObjectCreate) {
if (hasProto) {
O = { __proto__: proto };
} else if ($ObjectCreate) {
O = $ObjectCreate(proto);
} else if (hasProto) {
O = { __proto__: proto };
} else {

@@ -44,0 +44,0 @@ if (proto === null) {

@@ -5,7 +5,6 @@ 'use strict';

var $setProto = require('set-proto');
var isObject = require('es-object-atoms/isObject');
var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -9,4 +10,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
var inspect = require('object-inspect');

@@ -13,0 +12,0 @@

@@ -25,25 +25,9 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/11.0/#table-the-typedarray-constructors
var TypeToSizes = {
__proto__: null,
Int8: 1,
Uint8: 1,
Uint8C: 1,
Int16: 2,
Uint16: 2,
Int32: 4,
Uint32: 4,
BigInt64: 8,
BigUint64: 8,
Float32: 4,
Float64: 8
};
// https://262.ecma-international.org/11.0/#sec-rawbytestonumeric
module.exports = function RawBytesToNumeric(type, rawBytes, isLittleEndian) {
if (!hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (typeof type !== 'string' || !hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -57,3 +41,3 @@ if (!IsArray(rawBytes) || !every(rawBytes, isByteValue)) {

var elementSize = TypeToSizes[type]; // step 1
var elementSize = tableTAO.size['$' + type]; // step 1

@@ -60,0 +44,0 @@ if (rawBytes.length !== elementSize) {

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var regexExec = require('call-bound')('RegExp.prototype.exec');

@@ -11,4 +11,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-regexpexec

@@ -15,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated

@@ -12,0 +11,0 @@ var noThrowOnStrictViolation = (function () {

@@ -7,4 +7,5 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $gOPD = require('gopd');
var $preventExtensions = GetIntrinsic('%Object.preventExtensions%', true);
var $gOPD = require('gopd');
var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

@@ -18,4 +19,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-setintegritylevel

@@ -22,0 +21,0 @@

@@ -69,3 +69,3 @@ 'use strict';

var srcElementSize = tableTAO.size['$' + srcName]; // step 13
var srcElementSize = tableTAO.size['$' + srcType]; // step 13

@@ -72,0 +72,0 @@ var srcLength = typedArrayLength(source); // step 14

@@ -38,3 +38,3 @@ 'use strict';

if (typeof type !== 'string' || !hasOwn(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a Typed Array Element Type');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -41,0 +41,0 @@

@@ -7,7 +7,6 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsConstructor = require('./IsConstructor');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-speciesconstructor

@@ -14,0 +13,0 @@

@@ -5,2 +5,3 @@ 'use strict';

var isNegativeZero = require('math-intrinsics/isNegativeZero');
var isObject = require('es-object-atoms/isObject');

@@ -12,6 +13,5 @@ var callBound = require('call-bound');

var CanonicalNumericIndexString = require('./CanonicalNumericIndexString');
var IsIntegralNumber = require('./IsIntegralNumber');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');
var isInteger = require('math-intrinsics/isInteger');

@@ -38,3 +38,3 @@ // https://262.ecma-international.org/12.0/#sec-stringgetownproperty

var len = str.length;
if (typeof index === 'undefined' || !IsIntegralNumber(index) || isNegativeZero(index) || index < 0 || len <= index) {
if (typeof index === 'undefined' || !isInteger(index) || isNegativeZero(index) || index < 0 || len <= index) {
return void undefined;

@@ -41,0 +41,0 @@ }

@@ -5,6 +5,2 @@ 'use strict';

var callBound = require('call-bound');
var $push = callBound('Array.prototype.push');
var CodePointAt = require('./CodePointAt');

@@ -23,3 +19,3 @@

var cp = CodePointAt(string, position);
$push(codePoints, cp['[[CodePoint]]']);
codePoints[codePoints.length] = cp['[[CodePoint]]'];
position += cp['[[CodeUnitCount]]'];

@@ -26,0 +22,0 @@ }

@@ -34,3 +34,4 @@ 'use strict';

$Float64: 8
}
},
choices: '"Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "BigInt64", "BigUint64", "Float32", or "Float64"'
};

@@ -8,2 +8,3 @@ 'use strict';

var OwnPropertyKeys = require('own-keys');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var IsDataDescriptor = require('./IsDataDescriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-testintegritylevel

@@ -18,0 +17,0 @@

@@ -7,2 +7,4 @@ 'use strict';

// https://262.ecma-international.org/12.0/#sec-tolength
module.exports = function ToLength(argument) {

@@ -9,0 +11,0 @@ var len = ToIntegerOrInfinity(argument);

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -11,4 +12,2 @@ var IsCallable = require('./IsCallable');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/5.1/#sec-8.10.5

@@ -15,0 +14,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-validateandapplypropertydescriptor

@@ -20,0 +19,0 @@ // https://262.ecma-international.org/8.0/#sec-validateandapplypropertydescriptor

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsDetachedBuffer = require('./IsDetachedBuffer');
var isObject = require('../helpers/isObject');
var isTypedArray = require('is-typed-array');

@@ -10,0 +9,0 @@ var typedArrayBuffer = require('typed-array-buffer');

@@ -6,3 +6,3 @@ 'use strict';

var callBound = require('call-bound');
var $indexOf = callBound('String.prototype.indexOf', true);
var $indexOf = callBound('String.prototype.indexOf');

@@ -9,0 +9,0 @@ var Canonicalize = require('./Canonicalize');

@@ -5,6 +5,6 @@ 'use strict';

// http://262.ecma-international.org/5.1/#sec-5.2
// https://262.ecma-international.org/11.0/#eqn-abs
module.exports = function abs(x) {
return $abs(x);
return typeof x === 'bigint' ? BigInt($abs(Number(x))) : $abs(x);
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var inspect = require('object-inspect');
var $TypeError = require('es-errors/type');
var Call = require('./Call');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/10.0/#sec-add-entries-from-iterable

@@ -20,0 +18,0 @@

'use strict';
var callBound = require('call-bound');
var SLOT = require('internal-slot');
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var ClearKeptObjects = require('./ClearKeptObjects');
var isObject = require('../helpers/isObject');
var $push = callBound('Array.prototype.push');
// https://262.ecma-international.org/12.0/#sec-addtokeptobjects

@@ -20,3 +16,4 @@

}
$push(SLOT.get(ClearKeptObjects, '[[es-abstract internal: KeptAlive]]'), object);
var arr = SLOT.get(ClearKeptObjects, '[[es-abstract internal: KeptAlive]]');
arr[arr.length] = object;
};

@@ -8,2 +8,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');

@@ -15,4 +16,2 @@ var ArrayCreate = require('./ArrayCreate');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/12.0/#sec-arrayspeciescreate

@@ -19,0 +18,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -17,4 +18,2 @@

var isObject = require('../helpers/isObject');
var $then = callBound('Promise.prototype.then', true);

@@ -21,0 +20,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -14,3 +15,2 @@

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record-2023');

@@ -17,0 +17,0 @@

'use strict';
var callBound = require('call-bound');
var $TypeError = require('es-errors/type');
var $push = callBound('Array.prototype.push');
var IsArray = require('./IsArray');

@@ -39,3 +35,3 @@

}
$push(result, resultByte);
result[result.length] = resultByte;
}

@@ -42,0 +38,0 @@

@@ -9,3 +9,2 @@ 'use strict';

var $charCodeAt = callBound('String.prototype.charCodeAt');
var $push = callBound('Array.prototype.push');

@@ -29,5 +28,5 @@ module.exports = function CharacterRange(A, B) {

for (var k = i; k <= j; k += 1) {
$push(arr, $fromCharCode(k));
arr[arr.length] = $fromCharCode(k);
}
return arr;
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var callBound = require('call-bound');
var OwnPropertyKeys = require('own-keys');
var callBound = require('call-bound');
var forEach = require('../helpers/forEach');
var every = require('../helpers/every');
var some = require('../helpers/some');
var OwnPropertyKeys = require('own-keys');

@@ -16,3 +17,2 @@ var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');

var IsArray = require('./IsArray');
var IsIntegralNumber = require('./IsIntegralNumber');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -23,3 +23,3 @@ var SameValue = require('./SameValue');

var isObject = require('../helpers/isObject');
var isInteger = require('math-intrinsics/isInteger');

@@ -62,3 +62,3 @@ // https://262.ecma-international.org/12.0/#sec-copydataproperties

&& nextKey >= 0
&& IsIntegralNumber(ToNumber(nextKey))
&& isInteger(ToNumber(nextKey))
);

@@ -65,0 +65,0 @@ if (excluded === false && enumerable) {

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -18,3 +19,2 @@

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record-2023');

@@ -21,0 +21,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createdataproperty

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var CreateDataProperty = require('./CreateDataProperty');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -9,0 +9,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf');
var $push = callBound('Array.prototype.push');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'BigInt', 'Object'];

@@ -44,3 +42,3 @@

}
$push(list, next);
list[list.length] = next;
index += 1;

@@ -47,0 +45,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,4 +13,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createmethodproperty

@@ -16,0 +15,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -9,0 +9,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IteratorPrototype = GetIntrinsic('%IteratorPrototype%', true);

@@ -20,4 +21,2 @@

var isObject = require('../helpers/isObject');
var SLOT = require('internal-slot');

@@ -24,0 +23,0 @@ var setToStringTag = require('es-set-tostringtag');

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,3 +9,2 @@ var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -11,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-definepropertyorthrow

@@ -18,0 +17,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,3 +13,2 @@ var objectKeys = require('object-keys');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/8.0/#sec-enumerableownproperties

@@ -7,5 +7,6 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');
var isObject = require('es-object-atoms/isObject');
// https://262.ecma-international.org/6.0/#sec-get-o-p

@@ -12,0 +13,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $SyntaxError = require('es-errors/syntax');
var isObject = require('es-object-atoms/isObject');
var $asyncIterator = GetIntrinsic('%Symbol.asyncIterator%', true);

@@ -17,13 +18,9 @@

var GetMethod = require('./GetMethod');
var IsArray = require('./IsArray');
var isObject = require('../helpers/isObject');
var ES = {
AdvanceStringIndex: AdvanceStringIndex,
GetMethod: GetMethod,
IsArray: IsArray
GetMethod: GetMethod
};
// https://262.ecma-international.org/11.0/#sec-getiterator
// https://262.ecma-international.org/9.0/#sec-getiterator

@@ -30,0 +27,0 @@ module.exports = function GetIterator(obj, hint, method) {

@@ -8,2 +8,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-getownpropertykeys

@@ -18,0 +17,0 @@

@@ -12,3 +12,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var regexTester = require('safe-regex-test');

@@ -18,3 +18,2 @@ var inspect = require('object-inspect');

var every = require('../helpers/every');
var isObject = require('../helpers/isObject');
var isPrefixOf = require('../helpers/isPrefixOf');

@@ -21,0 +20,0 @@ var isStringOrUndefined = require('../helpers/isStringOrUndefined');

@@ -38,3 +38,3 @@ 'use strict';

if (typeof type !== 'string' || typeof tableTAO.size['$' + type] !== 'number') {
throw new $TypeError('Assertion failed: `type` must be a Typed Array element type');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -68,3 +68,3 @@

if (!elementSize) {
throw new $TypeError('Assertion failed: `type` must be one of "Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "BigInt64", "BigUint64", "Float32", or "Float64"');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -71,0 +71,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var hasOwn = require('hasown');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -10,0 +10,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -9,4 +10,2 @@ var CreateNonEnumerableDataPropertyOrThrow = require('./CreateNonEnumerableDataPropertyOrThrow');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/13.0/#sec-installerrorcause

@@ -13,0 +12,0 @@

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-instanceofoperator

@@ -20,0 +19,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,3 +15,2 @@ var Call = require('./Call');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -17,0 +17,0 @@ // https://262.ecma-international.org/11.0/#sec-internalizejsonproperty

@@ -11,3 +11,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -14,0 +14,0 @@ // https://262.ecma-international.org/6.0/#sec-isconcatspreadable

'use strict';
var isFinite = require('math-intrinsics/isFinite');
var isObject = require('es-object-atoms/isObject');

@@ -9,5 +10,4 @@ var IsStrictlyEqual = require('./IsStrictlyEqual');

var ToPrimitive = require('./ToPrimitive');
var Type = require('./Type');
var isObject = require('../helpers/isObject');
var isSameType = require('../helpers/isSameType');

@@ -17,3 +17,3 @@ // https://262.ecma-international.org/13.0/#sec-islooselyequal

module.exports = function IsLooselyEqual(x, y) {
if (Type(x) === Type(y)) {
if (isSameType(x, y)) {
return IsStrictlyEqual(x, y);

@@ -20,0 +20,0 @@ }

@@ -7,3 +7,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -10,0 +10,0 @@ // https://262.ecma-international.org/6.0/#sec-ispromise

@@ -8,7 +8,6 @@ 'use strict';

var hasRegExpMatcher = require('is-regex');
var isObject = require('es-object-atoms/isObject');
var ToBoolean = require('./ToBoolean');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-isregexp

@@ -15,0 +14,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isSharedArrayBuffer = require('is-shared-array-buffer');

@@ -8,0 +7,0 @@

@@ -7,4 +7,4 @@ 'use strict';

var IsDetachedBuffer = require('./IsDetachedBuffer');
var IsIntegralNumber = require('./IsIntegralNumber');
var isInteger = require('math-intrinsics/isInteger');
var typedArrayBuffer = require('typed-array-buffer');

@@ -24,3 +24,3 @@

if (!IsIntegralNumber(index)) { return false; } // step 3
if (!isInteger(index)) { return false; } // step 3

@@ -27,0 +27,0 @@ if (isNegativeZero(index)) { return false; } // step 4

@@ -10,3 +10,2 @@ 'use strict';

var IsArray = require('./IsArray');
var IsIntegralNumber = require('./IsIntegralNumber');
var WordCharacters = require('./WordCharacters');

@@ -16,2 +15,4 @@

var isInteger = require('math-intrinsics/isInteger');
var isChar = function isChar(c) {

@@ -25,6 +26,6 @@ return typeof c === 'string';

module.exports = function IsWordChar(e, InputLength, Input, IgnoreCase, Unicode) {
if (!IsIntegralNumber(e)) {
if (!isInteger(e)) {
throw new $TypeError('Assertion failed: `e` must be an integer');
}
if (!IsIntegralNumber(InputLength)) {
if (!isInteger(InputLength)) {
throw new $TypeError('Assertion failed: `InputLength` must be an integer');

@@ -31,0 +32,0 @@ }

'use strict';
var callBound = require('call-bound');
var $arrayPush = callBound('Array.prototype.push');
var GetIterator = require('./GetIterator');

@@ -25,3 +22,3 @@ var IteratorStep = require('./IteratorStep');

var nextValue = IteratorValue(next);
$arrayPush(values, nextValue);
values[values.length] = nextValue;
}

@@ -28,0 +25,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -10,4 +11,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorclose

@@ -14,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorcomplete

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Invoke = require('./Invoke');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratornext

@@ -10,0 +9,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Get = require('./Get');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorvalue

@@ -10,0 +9,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/11.0/#sec-lengthofarraylike

@@ -12,0 +11,0 @@

@@ -10,3 +10,3 @@ 'use strict';

var IsIntegralNumber = require('./IsIntegralNumber');
var isInteger = require('math-intrinsics/isInteger');

@@ -19,3 +19,3 @@ // https://262.ecma-international.org/12.0/#sec-numbertobigint

}
if (!IsIntegralNumber(number)) {
if (!isInteger(number)) {
throw new $RangeError('The number ' + number + ' cannot be converted to a BigInt because it is not an integer');

@@ -22,0 +22,0 @@ }

@@ -20,31 +20,16 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/11.0/#table-the-typedarray-constructors
var TypeToSizes = {
__proto__: null,
Int8: 1,
Uint8: 1,
Uint8C: 1,
Int16: 2,
Uint16: 2,
Int32: 4,
Uint32: 4,
BigInt64: 8,
BigUint64: 8,
Float32: 4,
Float64: 8
};
var TypeToAO = {
__proto__: null,
Int8: ToInt8,
Uint8: ToUint8,
Uint8C: ToUint8Clamp,
Int16: ToInt16,
Uint16: ToUint16,
Int32: ToInt32,
Uint32: ToUint32,
BigInt64: ToBigInt64,
BigUint64: ToBigUint64
$Int8: ToInt8,
$Uint8: ToUint8,
$Uint8C: ToUint8Clamp,
$Int16: ToInt16,
$Uint16: ToUint16,
$Int32: ToInt32,
$Uint32: ToUint32,
$BigInt64: ToBigInt64,
$BigUint64: ToBigUint64
};

@@ -55,4 +40,4 @@

module.exports = function NumericToRawBytes(type, value, isLittleEndian) {
if (typeof type !== 'string' || !hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (typeof type !== 'string' || !hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -72,5 +57,5 @@ if (typeof value !== 'number' && typeof value !== 'bigint') {

var n = TypeToSizes[type]; // step 3.a
var n = tableTAO.size['$' + type]; // step 3.a
var convOp = TypeToAO[type]; // step 3.b
var convOp = TypeToAO['$' + type]; // step 3.b

@@ -77,0 +62,0 @@ var intValue = convOp(value); // step 3.c

'use strict';
var callBound = require('call-bound');
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
var Get = require('./Get');
var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty');
var ToObject = require('./ToObject');

@@ -11,7 +10,4 @@ var ToPropertyDescriptor = require('./ToPropertyDescriptor');

var forEach = require('../helpers/forEach');
var getOwnPropertyDescriptor = require('gopd');
var OwnPropertyKeys = require('own-keys');
var $push = callBound('Array.prototype.push');
// https://262.ecma-international.org/6.0/#sec-objectdefineproperties

@@ -27,7 +23,7 @@

forEach(keys, function (nextKey) { // step 4
var propDesc = ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
var propDesc = OrdinaryGetOwnProperty(props, nextKey); // ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
if (typeof propDesc !== 'undefined' && propDesc['[[Enumerable]]']) { // step 4.b
var descObj = Get(props, nextKey); // step 4.b.i
var desc = ToPropertyDescriptor(descObj); // step 4.b.ii
$push(descriptors, [nextKey, desc]); // step 4.b.iii
descriptors[descriptors.length] = [nextKey, desc]; // step 4.b.iii
}

@@ -34,0 +30,0 @@ });

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -17,4 +18,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty

@@ -21,0 +20,0 @@

@@ -5,3 +5,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var callBound = require('call-bound');

@@ -18,4 +18,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty

@@ -22,0 +20,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $getProto = require('get-proto');
var isObject = require('../helpers/isObject');

@@ -8,0 +8,0 @@ // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -8,2 +8,3 @@ 'use strict';

var $SyntaxError = require('es-errors/syntax');
var isObject = require('es-object-atoms/isObject');

@@ -13,3 +14,2 @@ var IsArray = require('./IsArray');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -38,6 +38,6 @@ var SLOT = require('internal-slot');

var O;
if ($ObjectCreate) {
if (hasProto) {
O = { __proto__: proto };
} else if ($ObjectCreate) {
O = $ObjectCreate(proto);
} else if (hasProto) {
O = { __proto__: proto };
} else {

@@ -44,0 +44,0 @@ if (proto === null) {

@@ -5,7 +5,6 @@ 'use strict';

var $setProto = require('set-proto');
var isObject = require('es-object-atoms/isObject');
var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -9,4 +10,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
var inspect = require('object-inspect');

@@ -13,0 +12,0 @@

@@ -25,25 +25,9 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/11.0/#table-the-typedarray-constructors
var TypeToSizes = {
__proto__: null,
Int8: 1,
Uint8: 1,
Uint8C: 1,
Int16: 2,
Uint16: 2,
Int32: 4,
Uint32: 4,
BigInt64: 8,
BigUint64: 8,
Float32: 4,
Float64: 8
};
// https://262.ecma-international.org/11.0/#sec-rawbytestonumeric
module.exports = function RawBytesToNumeric(type, rawBytes, isLittleEndian) {
if (!hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (typeof type !== 'string' || !hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -57,3 +41,3 @@ if (!IsArray(rawBytes) || !every(rawBytes, isByteValue)) {

var elementSize = TypeToSizes[type]; // step 1
var elementSize = tableTAO.size['$' + type]; // step 1

@@ -60,0 +44,0 @@ if (rawBytes.length !== elementSize) {

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var regexExec = require('call-bound')('RegExp.prototype.exec');

@@ -11,4 +11,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-regexpexec

@@ -15,0 +13,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $RegExpPrototype = GetIntrinsic('%RegExp.prototype%');

@@ -12,4 +13,2 @@

var isObject = require('../helpers/isObject');
var $indexOf = callBound('String.prototype.indexOf');

@@ -16,0 +15,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated

@@ -12,0 +11,0 @@ var noThrowOnStrictViolation = (function () {

@@ -7,4 +7,5 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $gOPD = require('gopd');
var $preventExtensions = GetIntrinsic('%Object.preventExtensions%', true);
var $gOPD = require('gopd');
var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

@@ -18,4 +19,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-setintegritylevel

@@ -22,0 +21,0 @@

@@ -38,3 +38,3 @@ 'use strict';

if (typeof type !== 'string' || !hasOwn(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a Typed Array Element Type');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -41,0 +41,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');

@@ -16,5 +17,3 @@ var DeletePropertyOrThrow = require('./DeletePropertyOrThrow');

var isAbstractClosure = require('../helpers/isAbstractClosure');
var isObject = require('../helpers/isObject');
var $push = callBound('Array.prototype.push');
var $sort = callBound('Array.prototype.sort');

@@ -44,3 +43,3 @@

var kValue = Get(obj, Pk);
$push(items, kValue);
items[items.length] = kValue;
}

@@ -47,0 +46,0 @@ k += 1;

@@ -7,7 +7,6 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsConstructor = require('./IsConstructor');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-speciesconstructor

@@ -14,0 +13,0 @@

@@ -5,2 +5,3 @@ 'use strict';

var isNegativeZero = require('math-intrinsics/isNegativeZero');
var isObject = require('es-object-atoms/isObject');

@@ -12,6 +13,5 @@ var callBound = require('call-bound');

var CanonicalNumericIndexString = require('./CanonicalNumericIndexString');
var IsIntegralNumber = require('./IsIntegralNumber');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');
var isInteger = require('math-intrinsics/isInteger');

@@ -38,3 +38,3 @@ // https://262.ecma-international.org/12.0/#sec-stringgetownproperty

var len = str.length;
if (typeof index === 'undefined' || !IsIntegralNumber(index) || isNegativeZero(index) || index < 0 || len <= index) {
if (typeof index === 'undefined' || !isInteger(index) || isNegativeZero(index) || index < 0 || len <= index) {
return void undefined;

@@ -41,0 +41,0 @@ }

@@ -5,6 +5,2 @@ 'use strict';

var callBound = require('call-bound');
var $push = callBound('Array.prototype.push');
var CodePointAt = require('./CodePointAt');

@@ -23,3 +19,3 @@

var cp = CodePointAt(string, position);
$push(codePoints, cp['[[CodePoint]]']);
codePoints[codePoints.length] = cp['[[CodePoint]]'];
position += cp['[[CodeUnitCount]]'];

@@ -26,0 +22,0 @@ }

@@ -34,3 +34,4 @@ 'use strict';

$Float64: 8
}
},
choices: '"Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "BigInt64", "BigUint64", "Float32", or "Float64"'
};

@@ -8,2 +8,3 @@ 'use strict';

var OwnPropertyKeys = require('own-keys');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var IsDataDescriptor = require('./IsDataDescriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-testintegritylevel

@@ -18,0 +17,0 @@

@@ -7,2 +7,4 @@ 'use strict';

// https://262.ecma-international.org/12.0/#sec-tolength
module.exports = function ToLength(argument) {

@@ -9,0 +11,0 @@ var len = ToIntegerOrInfinity(argument);

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -11,4 +12,2 @@ var IsCallable = require('./IsCallable');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/5.1/#sec-8.10.5

@@ -15,0 +14,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -15,6 +16,3 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var SameValue = require('./SameValue');
var Type = require('./Type');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/13.0/#sec-validateandapplypropertydescriptor

@@ -26,3 +24,2 @@

module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) {
var oType = Type(O);
if (typeof O !== 'undefined' && !isObject(O)) {

@@ -48,3 +45,3 @@ throw new $TypeError('Assertion failed: O must be undefined or an Object');

}
if (oType === 'Undefined') {
if (typeof O === 'undefined') {
return true; // step 2.b

@@ -126,3 +123,3 @@ }

// 6. If O is not undefined, then
if (oType !== 'Undefined') {
if (typeof O !== 'undefined') {
var configurable;

@@ -129,0 +126,0 @@ var enumerable;

@@ -11,2 +11,3 @@ 'use strict';

var whichTypedArray = require('which-typed-array');
var typedArrayBuffer = require('typed-array-buffer');

@@ -22,3 +23,4 @@ // https://262.ecma-international.org/13.0/#sec-validateintegertypedarray

var buffer = ValidateTypedArray(typedArray); // step 2
ValidateTypedArray(typedArray); // step 2
var buffer = typedArrayBuffer(typedArray); // step 3

@@ -25,0 +27,0 @@ if (waitable) { // step 5

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsDetachedBuffer = require('./IsDetachedBuffer');
var isObject = require('../helpers/isObject');
var isTypedArray = require('is-typed-array');

@@ -10,0 +9,0 @@ var typedArrayBuffer = require('typed-array-buffer');

@@ -6,3 +6,3 @@ 'use strict';

var callBound = require('call-bound');
var $indexOf = callBound('String.prototype.indexOf', true);
var $indexOf = callBound('String.prototype.indexOf');

@@ -9,0 +9,0 @@ var Canonicalize = require('./Canonicalize');

@@ -5,6 +5,6 @@ 'use strict';

// http://262.ecma-international.org/5.1/#sec-5.2
// https://262.ecma-international.org/11.0/#eqn-abs
module.exports = function abs(x) {
return $abs(x);
return typeof x === 'bigint' ? BigInt($abs(Number(x))) : $abs(x);
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var inspect = require('object-inspect');
var $TypeError = require('es-errors/type');
var Call = require('./Call');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/14.0/#sec-add-entries-from-iterable

@@ -20,0 +18,0 @@

'use strict';
var callBound = require('call-bound');
var SLOT = require('internal-slot');
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var ClearKeptObjects = require('./ClearKeptObjects');
var isObject = require('../helpers/isObject');
var $push = callBound('Array.prototype.push');
// https://262.ecma-international.org/12.0/#sec-addtokeptobjects

@@ -20,3 +16,4 @@

}
$push(SLOT.get(ClearKeptObjects, '[[es-abstract internal: KeptAlive]]'), object);
var arr = SLOT.get(ClearKeptObjects, '[[es-abstract internal: KeptAlive]]');
arr[arr.length] = object;
};

@@ -8,2 +8,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');

@@ -15,4 +16,2 @@ var ArrayCreate = require('./ArrayCreate');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/12.0/#sec-arrayspeciescreate

@@ -19,0 +18,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -17,4 +18,2 @@

var isObject = require('../helpers/isObject');
var $then = callBound('Promise.prototype.then', true);

@@ -21,0 +20,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -14,3 +15,2 @@

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record-2023');

@@ -17,0 +17,0 @@

'use strict';
var callBound = require('call-bound');
var $TypeError = require('es-errors/type');
var $push = callBound('Array.prototype.push');
var IsArray = require('./IsArray');

@@ -39,3 +35,3 @@

}
$push(result, resultByte);
result[result.length] = resultByte;
}

@@ -42,0 +38,0 @@

'use strict';
var isObject = require('es-object-atoms/isObject');
var KeyForSymbol = require('./KeyForSymbol');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/14.0/#sec-canbeheldweakly

@@ -8,0 +8,0 @@

@@ -9,3 +9,2 @@ 'use strict';

var $charCodeAt = callBound('String.prototype.charCodeAt');
var $push = callBound('Array.prototype.push');

@@ -29,5 +28,5 @@ module.exports = function CharacterRange(A, B) {

for (var k = i; k <= j; k += 1) {
$push(arr, $fromCharCode(k));
arr[arr.length] = $fromCharCode(k);
}
return arr;
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var callBound = require('call-bound');
var OwnPropertyKeys = require('own-keys');
var callBound = require('call-bound');
var forEach = require('../helpers/forEach');
var every = require('../helpers/every');
var some = require('../helpers/some');
var OwnPropertyKeys = require('own-keys');

@@ -16,3 +17,2 @@ var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');

var IsArray = require('./IsArray');
var IsIntegralNumber = require('./IsIntegralNumber');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -23,3 +23,3 @@ var SameValue = require('./SameValue');

var isObject = require('../helpers/isObject');
var isInteger = require('math-intrinsics/isInteger');

@@ -62,3 +62,3 @@ // https://262.ecma-international.org/12.0/#sec-copydataproperties

&& nextKey >= 0
&& IsIntegralNumber(ToNumber(nextKey))
&& isInteger(ToNumber(nextKey))
);

@@ -65,0 +65,0 @@ if (excluded === false && enumerable) {

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -18,3 +19,2 @@

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record-2023');

@@ -21,0 +21,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createdataproperty

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var CreateDataProperty = require('./CreateDataProperty');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -9,0 +9,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf');
var $push = callBound('Array.prototype.push');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'BigInt', 'Object'];

@@ -44,3 +42,3 @@

}
$push(list, next);
list[list.length] = next;
index += 1;

@@ -47,0 +45,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -12,4 +13,2 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createmethodproperty

@@ -16,0 +15,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -9,0 +9,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IteratorPrototype = GetIntrinsic('%IteratorPrototype%', true);

@@ -20,4 +21,2 @@

var isObject = require('../helpers/isObject');
var SLOT = require('internal-slot');

@@ -24,0 +23,0 @@ var setToStringTag = require('es-set-tostringtag');

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,3 +9,2 @@ var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -11,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-definepropertyorthrow

@@ -18,0 +17,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var objectKeys = require('object-keys');

@@ -12,3 +12,2 @@ var safePushApply = require('safe-push-apply');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -15,0 +14,0 @@ // https://262.ecma-international.org/14.0/#sec-enumerableownproperties

@@ -5,2 +5,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');

@@ -13,4 +14,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/14.0/#sec-findviapredicate

@@ -17,0 +16,0 @@

@@ -7,5 +7,6 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');
var isObject = require('es-object-atoms/isObject');
// https://262.ecma-international.org/6.0/#sec-get-o-p

@@ -12,0 +13,0 @@

@@ -15,3 +15,2 @@ 'use strict';

var GetMethod = require('./GetMethod');
var IsArray = require('./IsArray');

@@ -22,4 +21,3 @@ var getIteratorMethod = require('../helpers/getIteratorMethod');

AdvanceStringIndex: AdvanceStringIndex,
GetMethod: GetMethod,
IsArray: IsArray
GetMethod: GetMethod
};

@@ -26,0 +24,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -9,4 +10,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/14.0/#sec-getiteratorfrommethod

@@ -13,0 +12,0 @@

@@ -8,2 +8,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-getownpropertykeys

@@ -18,0 +17,0 @@

@@ -12,3 +12,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var inspect = require('object-inspect');

@@ -17,3 +18,2 @@ var isInteger = require('math-intrinsics/isInteger');

var every = require('../helpers/every');
var isObject = require('../helpers/isObject');
var isPrefixOf = require('../helpers/isPrefixOf');

@@ -20,0 +20,0 @@ var isStringOrUndefined = require('../helpers/isStringOrUndefined');

@@ -38,3 +38,3 @@ 'use strict';

if (typeof type !== 'string' || typeof tableTAO.size['$' + type] !== 'number') {
throw new $TypeError('Assertion failed: `type` must be a Typed Array element type');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -68,3 +68,3 @@

if (!elementSize) {
throw new $TypeError('Assertion failed: `type` must be one of "Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "BigInt64", "BigUint64", "Float32", or "Float64"');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -71,0 +71,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var hasOwn = require('hasown');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -10,0 +10,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -9,4 +10,2 @@ var CreateNonEnumerableDataPropertyOrThrow = require('./CreateNonEnumerableDataPropertyOrThrow');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/13.0/#sec-installerrorcause

@@ -13,0 +12,0 @@

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-instanceofoperator

@@ -20,0 +19,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,3 +15,2 @@ var Call = require('./Call');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -39,3 +39,3 @@ // https://262.ecma-international.org/14.0/#sec-internalizejsonproperty

var len = LengthOfArrayLike(val, 'length'); // step 2.b.ii
var len = LengthOfArrayLike(val); // step 2.b.ii

@@ -42,0 +42,0 @@ while (I < len) { // step 2.b.iii

@@ -11,3 +11,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -14,0 +14,0 @@ // https://262.ecma-international.org/6.0/#sec-isconcatspreadable

'use strict';
var isFinite = require('math-intrinsics/isFinite');
var isObject = require('es-object-atoms/isObject');

@@ -9,5 +10,4 @@ var IsStrictlyEqual = require('./IsStrictlyEqual');

var ToPrimitive = require('./ToPrimitive');
var Type = require('./Type');
var isObject = require('../helpers/isObject');
var isSameType = require('../helpers/isSameType');

@@ -17,3 +17,3 @@ // https://262.ecma-international.org/13.0/#sec-islooselyequal

module.exports = function IsLooselyEqual(x, y) {
if (Type(x) === Type(y)) {
if (isSameType(x, y)) {
return IsStrictlyEqual(x, y);

@@ -20,0 +20,0 @@ }

@@ -7,3 +7,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -10,0 +10,0 @@ // https://262.ecma-international.org/6.0/#sec-ispromise

@@ -8,7 +8,6 @@ 'use strict';

var hasRegExpMatcher = require('is-regex');
var isObject = require('es-object-atoms/isObject');
var ToBoolean = require('./ToBoolean');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-isregexp

@@ -15,0 +14,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isSharedArrayBuffer = require('is-shared-array-buffer');

@@ -8,0 +7,0 @@

@@ -7,4 +7,4 @@ 'use strict';

var IsDetachedBuffer = require('./IsDetachedBuffer');
var IsIntegralNumber = require('./IsIntegralNumber');
var isInteger = require('math-intrinsics/isInteger');
var typedArrayBuffer = require('typed-array-buffer');

@@ -24,3 +24,3 @@

if (!IsIntegralNumber(index)) { return false; } // step 3
if (!isInteger(index)) { return false; } // step 3

@@ -27,0 +27,0 @@ if (isNegativeZero(index)) { return false; } // step 4

@@ -21,3 +21,2 @@ 'use strict';

// note: prior to ES2023, this AO erroneously omitted the latter of its arguments.
module.exports = function IsWordChar(rer, Input, e) {

@@ -24,0 +23,0 @@ if (!isRegExpRecord(rer)) {

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -10,3 +11,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record-2023');

@@ -13,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorcomplete

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Call = require('./Call');
var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record-2023');

@@ -9,0 +9,0 @@

@@ -5,6 +5,2 @@ 'use strict';

var callBound = require('call-bound');
var $arrayPush = callBound('Array.prototype.push');
var IteratorStep = require('./IteratorStep');

@@ -28,3 +24,3 @@ var IteratorValue = require('./IteratorValue');

var nextValue = IteratorValue(next); // step 3.b.i
$arrayPush(values, nextValue); // step 3.b.ii
values[values.length] = nextValue; // step 3.b.ii
}

@@ -31,0 +27,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Get = require('./Get');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorvalue

@@ -10,0 +9,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/11.0/#sec-lengthofarraylike

@@ -12,0 +11,0 @@

@@ -10,3 +10,3 @@ 'use strict';

var IsIntegralNumber = require('./IsIntegralNumber');
var isInteger = require('math-intrinsics/isInteger');

@@ -19,3 +19,3 @@ // https://262.ecma-international.org/12.0/#sec-numbertobigint

}
if (!IsIntegralNumber(number)) {
if (!isInteger(number)) {
throw new $RangeError('The number ' + number + ' cannot be converted to a BigInt because it is not an integer');

@@ -22,0 +22,0 @@ }

@@ -20,31 +20,16 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/11.0/#table-the-typedarray-constructors
var TypeToSizes = {
__proto__: null,
Int8: 1,
Uint8: 1,
Uint8C: 1,
Int16: 2,
Uint16: 2,
Int32: 4,
Uint32: 4,
BigInt64: 8,
BigUint64: 8,
Float32: 4,
Float64: 8
};
var TypeToAO = {
__proto__: null,
Int8: ToInt8,
Uint8: ToUint8,
Uint8C: ToUint8Clamp,
Int16: ToInt16,
Uint16: ToUint16,
Int32: ToInt32,
Uint32: ToUint32,
BigInt64: ToBigInt64,
BigUint64: ToBigUint64
$Int8: ToInt8,
$Uint8: ToUint8,
$Uint8C: ToUint8Clamp,
$Int16: ToInt16,
$Uint16: ToUint16,
$Int32: ToInt32,
$Uint32: ToUint32,
$BigInt64: ToBigInt64,
$BigUint64: ToBigUint64
};

@@ -55,4 +40,4 @@

module.exports = function NumericToRawBytes(type, value, isLittleEndian) {
if (typeof type !== 'string' || !hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (typeof type !== 'string' || !hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -72,5 +57,5 @@ if (typeof value !== 'number' && typeof value !== 'bigint') {

var n = TypeToSizes[type]; // step 3.a
var n = tableTAO.size['$' + type]; // step 3.a
var convOp = TypeToAO[type]; // step 3.b
var convOp = TypeToAO['$' + type]; // step 3.b

@@ -77,0 +62,0 @@ var intValue = convOp(value); // step 3.c

'use strict';
var callBound = require('call-bound');
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
var Get = require('./Get');
var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty');
var ToObject = require('./ToObject');

@@ -11,7 +10,4 @@ var ToPropertyDescriptor = require('./ToPropertyDescriptor');

var forEach = require('../helpers/forEach');
var getOwnPropertyDescriptor = require('gopd');
var OwnPropertyKeys = require('own-keys');
var $push = callBound('Array.prototype.push');
// https://262.ecma-international.org/6.0/#sec-objectdefineproperties

@@ -27,7 +23,7 @@

forEach(keys, function (nextKey) { // step 4
var propDesc = ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
var propDesc = OrdinaryGetOwnProperty(props, nextKey); // ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
if (typeof propDesc !== 'undefined' && propDesc['[[Enumerable]]']) { // step 4.b
var descObj = Get(props, nextKey); // step 4.b.i
var desc = ToPropertyDescriptor(descObj); // step 4.b.ii
$push(descriptors, [nextKey, desc]); // step 4.b.iii
descriptors[descriptors.length] = [nextKey, desc]; // step 4.b.iii
}

@@ -34,0 +30,0 @@ });

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -17,4 +18,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty

@@ -21,0 +20,0 @@

@@ -5,3 +5,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var callBound = require('call-bound');

@@ -18,4 +18,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty

@@ -22,0 +20,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $getProto = require('get-proto');
var isObject = require('../helpers/isObject');

@@ -8,0 +8,0 @@ // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -8,2 +8,3 @@ 'use strict';

var $SyntaxError = require('es-errors/syntax');
var isObject = require('es-object-atoms/isObject');

@@ -13,3 +14,2 @@ var IsArray = require('./IsArray');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -38,6 +38,6 @@ var SLOT = require('internal-slot');

var O;
if ($ObjectCreate) {
if (hasProto) {
O = { __proto__: proto };
} else if ($ObjectCreate) {
O = $ObjectCreate(proto);
} else if (hasProto) {
O = { __proto__: proto };
} else {

@@ -44,0 +44,0 @@ if (proto === null) {

@@ -5,7 +5,6 @@ 'use strict';

var $setProto = require('set-proto');
var isObject = require('es-object-atoms/isObject');
var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -9,4 +10,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
var inspect = require('object-inspect');

@@ -13,0 +12,0 @@

@@ -6,5 +6,5 @@ 'use strict';

var IsIntegralNumber = require('./IsIntegralNumber');
var substring = require('./substring');
var isInteger = require('math-intrinsics/isInteger');
var isNaN = require('math-intrinsics/isNaN');

@@ -18,3 +18,3 @@

}
if (!IsIntegralNumber(position) || position < 0) {
if (!isInteger(position) || position < 0) {
throw new $TypeError('Assertion failed: `position` must be a nonnegative integer');

@@ -21,0 +21,0 @@ }

@@ -25,25 +25,9 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/11.0/#table-the-typedarray-constructors
var TypeToSizes = {
__proto__: null,
Int8: 1,
Uint8: 1,
Uint8C: 1,
Int16: 2,
Uint16: 2,
Int32: 4,
Uint32: 4,
BigInt64: 8,
BigUint64: 8,
Float32: 4,
Float64: 8
};
// https://262.ecma-international.org/11.0/#sec-rawbytestonumeric
module.exports = function RawBytesToNumeric(type, rawBytes, isLittleEndian) {
if (!hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (typeof type !== 'string' || !hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -57,3 +41,3 @@ if (!IsArray(rawBytes) || !every(rawBytes, isByteValue)) {

var elementSize = TypeToSizes[type]; // step 1
var elementSize = tableTAO.size['$' + type]; // step 1

@@ -60,0 +44,0 @@ if (rawBytes.length !== elementSize) {

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var regexExec = require('call-bound')('RegExp.prototype.exec');

@@ -11,4 +11,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-regexpexec

@@ -15,0 +13,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $RegExpPrototype = GetIntrinsic('%RegExp.prototype%');

@@ -12,4 +13,2 @@

var isObject = require('../helpers/isObject');
var $indexOf = callBound('String.prototype.indexOf');

@@ -16,0 +15,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated

@@ -12,0 +11,0 @@ var noThrowOnStrictViolation = (function () {

@@ -7,4 +7,5 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $gOPD = require('gopd');
var $preventExtensions = GetIntrinsic('%Object.preventExtensions%', true);
var $gOPD = require('gopd');
var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

@@ -18,4 +19,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-setintegritylevel

@@ -22,0 +21,0 @@

@@ -6,3 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var callBound = require('call-bound');
var GetIntrinsic = require('get-intrinsic');
var isInteger = require('math-intrinsics/isInteger');

@@ -24,3 +24,3 @@ var typedArrayBuffer = require('typed-array-buffer');

var $ArrayBuffer = callBound('ArrayBuffer', true);
var $ArrayBuffer = GetIntrinsic('%ArrayBuffer%', true);

@@ -27,0 +27,0 @@ // https://262.ecma-international.org/14.0/#sec-settypedarrayfromtypedarray

@@ -38,3 +38,3 @@ 'use strict';

if (typeof type !== 'string' || !hasOwn(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a Typed Array Element Type');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -41,0 +41,0 @@

@@ -6,2 +6,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');

@@ -13,5 +14,3 @@ var Get = require('./Get');

var isAbstractClosure = require('../helpers/isAbstractClosure');
var isObject = require('../helpers/isObject');
var $push = callBound('Array.prototype.push');
var $sort = callBound('Array.prototype.sort');

@@ -32,3 +31,3 @@

if (holes !== 'skip-holes' && holes !== 'read-through-holes') {
throw new $TypeError('Assertion failed: `holes` must be either `skip-holes` or `read-through-holes`');
throw new $TypeError('Assertion failed: `holes` must be either ~skip-holes~ or ~read-through-holes~');
}

@@ -45,3 +44,3 @@

var kValue = Get(obj, Pk);
$push(items, kValue);
items[items.length] = kValue;
}

@@ -48,0 +47,0 @@ k += 1; // step 3.e

@@ -7,7 +7,6 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsConstructor = require('./IsConstructor');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-speciesconstructor

@@ -14,0 +13,0 @@

@@ -5,2 +5,3 @@ 'use strict';

var isNegativeZero = require('math-intrinsics/isNegativeZero');
var isObject = require('es-object-atoms/isObject');

@@ -12,6 +13,5 @@ var callBound = require('call-bound');

var CanonicalNumericIndexString = require('./CanonicalNumericIndexString');
var IsIntegralNumber = require('./IsIntegralNumber');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');
var isInteger = require('math-intrinsics/isInteger');

@@ -38,3 +38,3 @@ // https://262.ecma-international.org/12.0/#sec-stringgetownproperty

var len = str.length;
if (typeof index === 'undefined' || !IsIntegralNumber(index) || isNegativeZero(index) || index < 0 || len <= index) {
if (typeof index === 'undefined' || !isInteger(index) || isNegativeZero(index) || index < 0 || len <= index) {
return void undefined;

@@ -41,0 +41,0 @@ }

@@ -5,6 +5,2 @@ 'use strict';

var callBound = require('call-bound');
var $push = callBound('Array.prototype.push');
var CodePointAt = require('./CodePointAt');

@@ -23,3 +19,3 @@

var cp = CodePointAt(string, position);
$push(codePoints, cp['[[CodePoint]]']);
codePoints[codePoints.length] = cp['[[CodePoint]]'];
position += cp['[[CodeUnitCount]]'];

@@ -26,0 +22,0 @@ }

@@ -34,3 +34,4 @@ 'use strict';

$Float64: 8
}
},
choices: '"Int8", "Uint8", "Uint8C", "Int16", "Uint16", "Int32", "Uint32", "BigInt64", "BigUint64", "Float32", or "Float64"'
};

@@ -8,2 +8,3 @@ 'use strict';

var OwnPropertyKeys = require('own-keys');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var IsDataDescriptor = require('./IsDataDescriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-testintegritylevel

@@ -18,0 +17,0 @@

@@ -7,2 +7,4 @@ 'use strict';

// https://262.ecma-international.org/12.0/#sec-tolength
module.exports = function ToLength(argument) {

@@ -9,0 +11,0 @@ var len = ToIntegerOrInfinity(argument);

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -11,4 +12,2 @@ var IsCallable = require('./IsCallable');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/5.1/#sec-8.10.5

@@ -15,0 +14,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -15,6 +16,3 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var SameValue = require('./SameValue');
var Type = require('./Type');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/13.0/#sec-validateandapplypropertydescriptor

@@ -26,3 +24,2 @@

module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) {
var oType = Type(O);
if (typeof O !== 'undefined' && !isObject(O)) {

@@ -48,3 +45,3 @@ throw new $TypeError('Assertion failed: O must be undefined or an Object');

}
if (oType === 'Undefined') {
if (typeof O === 'undefined') {
return true; // step 2.b

@@ -126,3 +123,3 @@ }

// 6. If O is not undefined, then
if (oType !== 'Undefined') {
if (typeof O !== 'undefined') {
var configurable;

@@ -129,0 +126,0 @@ var enumerable;

@@ -11,2 +11,3 @@ 'use strict';

var whichTypedArray = require('which-typed-array');
var typedArrayBuffer = require('typed-array-buffer');

@@ -22,3 +23,4 @@ // https://262.ecma-international.org/13.0/#sec-validateintegertypedarray

var buffer = ValidateTypedArray(typedArray); // step 2
ValidateTypedArray(typedArray); // step 2
var buffer = typedArrayBuffer(typedArray); // step 3

@@ -25,0 +27,0 @@ if (waitable) { // step 5

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsDetachedBuffer = require('./IsDetachedBuffer');
var isObject = require('../helpers/isObject');
var isTypedArray = require('is-typed-array');

@@ -10,0 +9,0 @@ var typedArrayBuffer = require('typed-array-buffer');

@@ -6,3 +6,3 @@ 'use strict';

var callBound = require('call-bound');
var $indexOf = callBound('String.prototype.indexOf', true);
var $indexOf = callBound('String.prototype.indexOf');

@@ -9,0 +9,0 @@ var Canonicalize = require('./Canonicalize');

@@ -5,6 +5,6 @@ 'use strict';

// http://262.ecma-international.org/5.1/#sec-5.2
// https://262.ecma-international.org/11.0/#eqn-abs
module.exports = function abs(x) {
return $abs(x);
return typeof x === 'bigint' ? BigInt($abs(Number(x))) : $abs(x);
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var inspect = require('object-inspect');
var $TypeError = require('es-errors/type');
var Call = require('./Call');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/15.0/#sec-add-entries-from-iterable

@@ -20,0 +18,0 @@

'use strict';
var callBound = require('call-bound');
var SLOT = require('internal-slot');
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var ClearKeptObjects = require('./ClearKeptObjects');
var isObject = require('../helpers/isObject');
var $push = callBound('Array.prototype.push');
// https://262.ecma-international.org/12.0/#sec-addtokeptobjects

@@ -20,3 +16,4 @@

}
$push(SLOT.get(ClearKeptObjects, '[[es-abstract internal: KeptAlive]]'), object);
var arr = SLOT.get(ClearKeptObjects, '[[es-abstract internal: KeptAlive]]');
arr[arr.length] = object;
};

@@ -5,6 +5,2 @@ 'use strict';

var callBound = require('call-bound');
var $push = callBound('Array.prototype.push');
var SameValue = require('./SameValue');

@@ -39,3 +35,4 @@

$push(g['[[Elements]]'], value); // step 2.b
var arr = g['[[Elements]]'];
arr[arr.length] = value; // step 2.b
}

@@ -47,4 +44,5 @@ });

$push(groups, group); // step 3
// eslint-disable-next-line no-param-reassign
groups[groups.length] = group; // step 3
}
};

@@ -13,2 +13,5 @@ 'use strict';

var callBound = require('call-bound');
var $sabByteLength = callBound('SharedArrayBuffer.prototype.byteLength', true);
var isGrowable = false; // TODO: support this

@@ -38,3 +41,3 @@

return arrayBufferByteLength(arrayBuffer);
return isSAB ? $sabByteLength(arrayBuffer) : arrayBufferByteLength(arrayBuffer);
};

@@ -39,2 +39,4 @@ 'use strict';

// https://262.ecma-international.org/15.0/#sec-arraybuffercopyanddetach
module.exports = function ArrayBufferCopyAndDetach(arrayBuffer, newLength, preserveResizability) {

@@ -46,3 +48,3 @@ if (preserveResizability !== 'PRESERVE-RESIZABILITY' && preserveResizability !== 'FIXED-LENGTH') {

if (!isArrayBuffer(arrayBuffer) || isSharedArrayBuffer(arrayBuffer)) {
throw new $TypeError('`arrayBuffer` must be an ArrayBuffer'); // steps 1 - 2
throw new $TypeError('`arrayBuffer` must be a non-shared ArrayBuffer'); // steps 1 - 2
}

@@ -82,3 +84,3 @@

var copyLength = min(newByteLength, abByteLength); // step 10
if (newByteLength > copyLength) {
if (newByteLength > copyLength || newMaxByteLength !== 'EMPTY') {
var taNew = new $Uint8Array(newBuffer);

@@ -85,0 +87,0 @@ var taOld = new $Uint8Array(arrayBuffer);

@@ -8,2 +8,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');

@@ -15,4 +16,2 @@ var ArrayCreate = require('./ArrayCreate');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/12.0/#sec-arrayspeciescreate

@@ -19,0 +18,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -17,4 +18,2 @@

var isObject = require('../helpers/isObject');
var $then = callBound('Promise.prototype.then', true);

@@ -21,0 +20,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -14,3 +15,2 @@

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record');

@@ -17,0 +17,0 @@

'use strict';
var callBound = require('call-bound');
var $TypeError = require('es-errors/type');
var $push = callBound('Array.prototype.push');
var IsArray = require('./IsArray');

@@ -39,3 +35,3 @@

}
$push(result, resultByte);
result[result.length] = resultByte;
}

@@ -42,0 +38,0 @@

'use strict';
var isObject = require('es-object-atoms/isObject');
var KeyForSymbol = require('./KeyForSymbol');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/14.0/#sec-canbeheldweakly

@@ -8,0 +8,0 @@

@@ -9,3 +9,2 @@ 'use strict';

var $charCodeAt = callBound('String.prototype.charCodeAt');
var $push = callBound('Array.prototype.push');

@@ -29,5 +28,5 @@ module.exports = function CharacterRange(A, B) {

for (var k = i; k <= j; k += 1) {
$push(arr, $fromCharCode(k));
arr[arr.length] = $fromCharCode(k);
}
return arr;
};
'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var callBound = require('call-bound');
var OwnPropertyKeys = require('own-keys');
var callBound = require('call-bound');
var forEach = require('../helpers/forEach');
var every = require('../helpers/every');
var some = require('../helpers/some');
var OwnPropertyKeys = require('own-keys');

@@ -16,3 +17,2 @@ var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');

var IsArray = require('./IsArray');
var IsIntegralNumber = require('./IsIntegralNumber');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -23,3 +23,3 @@ var SameValue = require('./SameValue');

var isObject = require('../helpers/isObject');
var isInteger = require('math-intrinsics/isInteger');

@@ -62,3 +62,3 @@ // https://262.ecma-international.org/12.0/#sec-copydataproperties

&& nextKey >= 0
&& IsIntegralNumber(ToNumber(nextKey))
&& isInteger(ToNumber(nextKey))
);

@@ -65,0 +65,0 @@ if (excluded === false && enumerable) {

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $Promise = GetIntrinsic('%Promise%', true);

@@ -18,3 +19,2 @@

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record');

@@ -21,0 +21,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-createdataproperty

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var CreateDataProperty = require('./CreateDataProperty');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -9,0 +9,0 @@

@@ -6,4 +6,4 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $indexOf = callBound('Array.prototype.indexOf', true) || callBound('String.prototype.indexOf');
var $push = callBound('Array.prototype.push');

@@ -16,4 +16,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'BigInt', 'Object'];

@@ -44,3 +42,3 @@

}
$push(list, next);
list[list.length] = next;
index += 1;

@@ -47,0 +45,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -9,0 +9,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IteratorPrototype = GetIntrinsic('%IteratorPrototype%', true);

@@ -20,4 +21,2 @@

var isObject = require('../helpers/isObject');
var SLOT = require('internal-slot');

@@ -99,3 +98,3 @@ var setToStringTag = require('es-set-tostringtag');

// https://262.ecma-international.org/16.0/#sec-createregexpstringiterator
// https://262.ecma-international.org/15.0/#sec-createregexpstringiterator

@@ -102,0 +101,0 @@ module.exports = function CreateRegExpStringIterator(R, S, global, fullUnicode) {

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,3 +9,2 @@ var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -11,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-definepropertyorthrow

@@ -18,0 +17,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var objectKeys = require('object-keys');

@@ -12,3 +12,2 @@ var safePushApply = require('safe-push-apply');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -15,0 +14,0 @@ // https://262.ecma-international.org/14.0/#sec-enumerableownproperties

@@ -5,2 +5,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');

@@ -13,4 +14,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/15.0/#sec-findviapredicate

@@ -17,0 +16,0 @@

@@ -7,5 +7,6 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');
var isObject = require('es-object-atoms/isObject');
// https://262.ecma-international.org/6.0/#sec-get-o-p

@@ -12,0 +13,0 @@

'use strict';
var isObject = require('es-object-atoms/isObject');
var Get = require('./Get');
var ToIndex = require('./ToIndex');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/15.0/#sec-getarraybuffermaxbytelengthoption

@@ -9,0 +9,0 @@

@@ -15,8 +15,6 @@ 'use strict';

var GetMethod = require('./GetMethod');
var IsArray = require('./IsArray');
var ES = {
AdvanceStringIndex: AdvanceStringIndex,
GetMethod: GetMethod,
IsArray: IsArray
GetMethod: GetMethod
};

@@ -23,0 +21,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -9,4 +10,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/15.0/#sec-getiteratorfrommethod

@@ -13,0 +12,0 @@

@@ -8,2 +8,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-getownpropertykeys

@@ -18,0 +17,0 @@

@@ -12,3 +12,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -15,0 +15,0 @@ // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor

@@ -6,2 +6,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');
var regexTester = require('safe-regex-test');

@@ -18,3 +19,2 @@

var every = require('../helpers/every');
var isObject = require('../helpers/isObject');
var isPrefixOf = require('../helpers/isPrefixOf');

@@ -21,0 +21,0 @@ var isStringOrUndefined = require('../helpers/isStringOrUndefined');

@@ -37,3 +37,3 @@ 'use strict';

if (typeof type !== 'string' || typeof tableTAO.size['$' + type] !== 'number') {
throw new $TypeError('Assertion failed: `type` must be a Typed Array element type');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -67,3 +67,3 @@

if (!elementSize) {
throw new $TypeError('Assertion failed: `type` must be one of "INT8", "UINT8", "UINT8C", "INT16", "UINT16", "INT32", "UINT32", "BIGINT64", "BIGUINT64", "FLOAT32", or "FLOAT64"');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -70,0 +70,0 @@

@@ -27,3 +27,5 @@ 'use strict';

var viewByteLength = dataViewByteLength(view); // view.[[ByteLength]]
var isFixed = IsFixedLengthArrayBuffer(dataViewBuffer(view));
var viewByteLength = isFixed ? dataViewByteLength(view) : 'AUTO'; // view.[[ByteLength]]
if (viewByteLength !== 'AUTO') {

@@ -33,3 +35,3 @@ return viewByteLength; // step 3

if (IsFixedLengthArrayBuffer(dataViewBuffer(view))) {
if (isFixed) {
throw new $TypeError('Assertion failed: DataView’s ArrayBuffer is not fixed length'); // step 4

@@ -36,0 +38,0 @@ }

@@ -6,4 +6,4 @@ 'use strict';

var hasOwn = require('hasown');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -10,0 +10,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -9,4 +10,2 @@ var CreateNonEnumerableDataPropertyOrThrow = require('./CreateNonEnumerableDataPropertyOrThrow');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/13.0/#sec-installerrorcause

@@ -13,0 +12,0 @@

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -16,4 +17,2 @@ var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-instanceofoperator

@@ -20,0 +19,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -14,3 +15,2 @@ var Call = require('./Call');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -39,3 +39,3 @@ // https://262.ecma-international.org/14.0/#sec-internalizejsonproperty

var len = LengthOfArrayLike(val, 'length'); // step 2.b.ii
var len = LengthOfArrayLike(val); // step 2.b.ii

@@ -42,0 +42,0 @@ while (I < len) { // step 2.b.iii

@@ -11,3 +11,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -14,0 +14,0 @@ // https://262.ecma-international.org/6.0/#sec-isconcatspreadable

'use strict';
var isFinite = require('math-intrinsics/isFinite');
var isObject = require('es-object-atoms/isObject');

@@ -9,5 +10,4 @@ var IsStrictlyEqual = require('./IsStrictlyEqual');

var ToPrimitive = require('./ToPrimitive');
var Type = require('./Type');
var isObject = require('../helpers/isObject');
var isSameType = require('../helpers/isSameType');

@@ -17,3 +17,3 @@ // https://262.ecma-international.org/13.0/#sec-islooselyequal

module.exports = function IsLooselyEqual(x, y) {
if (Type(x) === Type(y)) {
if (isSameType(x, y)) {
return IsStrictlyEqual(x, y);

@@ -20,0 +20,0 @@ }

@@ -7,3 +7,3 @@ 'use strict';

var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -10,0 +10,0 @@ // https://262.ecma-international.org/6.0/#sec-ispromise

@@ -8,7 +8,6 @@ 'use strict';

var hasRegExpMatcher = require('is-regex');
var isObject = require('es-object-atoms/isObject');
var ToBoolean = require('./ToBoolean');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-isregexp

@@ -15,0 +14,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isSharedArrayBuffer = require('is-shared-array-buffer');

@@ -8,0 +7,0 @@

@@ -6,2 +6,3 @@ 'use strict';

var IsDetachedBuffer = require('./IsDetachedBuffer');
var IsFixedLengthArrayBuffer = require('./IsFixedLengthArrayBuffer');
var TypedArrayElementSize = require('./TypedArrayElementSize');

@@ -36,4 +37,6 @@

var isFixed = IsFixedLengthArrayBuffer(typedArrayBuffer(O));
var byteOffsetEnd;
var length = typedArrayLength(O);
var length = isFixed ? typedArrayLength(O) : 'AUTO';
// TODO: probably use package for array length

@@ -40,0 +43,0 @@ // seems to apply when TA is backed by a resizable/growable AB

@@ -6,3 +6,2 @@ 'use strict';

var IsDetachedBuffer = require('./IsDetachedBuffer');
var IsIntegralNumber = require('./IsIntegralNumber');
var IsTypedArrayOutOfBounds = require('./IsTypedArrayOutOfBounds');

@@ -12,2 +11,3 @@ var MakeTypedArrayWithBufferWitnessRecord = require('./MakeTypedArrayWithBufferWitnessRecord');

var isInteger = require('math-intrinsics/isInteger');
var isNegativeZero = require('math-intrinsics/isNegativeZero');

@@ -32,3 +32,3 @@

if (!IsIntegralNumber(index)) { return false; } // step 2
if (!isInteger(index)) { return false; } // step 2

@@ -35,0 +35,0 @@ if (isNegativeZero(index)) { return false; } // step 3

@@ -6,2 +6,3 @@ 'use strict';

var IsDetachedBuffer = require('./IsDetachedBuffer');
var IsFixedLengthArrayBuffer = require('./IsFixedLengthArrayBuffer');

@@ -36,5 +37,7 @@ var isDataViewWithBufferWitnessRecord = require('../helpers/records/data-view-with-buffer-witness-record');

var dvByteLength = dataViewByteLength(view);
var byteOffsetEnd = dvByteLength === 'AUTO' ? bufferByteLength : byteOffsetStart + dvByteLength; // steps 6 - 7
var isFixed = IsFixedLengthArrayBuffer(dataViewBuffer(view));
var viewByteLength = isFixed ? dataViewByteLength(view) : 'AUTO'; // view.[[ByteLength]]
var byteOffsetEnd = viewByteLength === 'AUTO' ? bufferByteLength : byteOffsetStart + viewByteLength; // steps 6 - 7
if (byteOffsetStart > bufferByteLength || byteOffsetEnd > bufferByteLength) {

@@ -41,0 +44,0 @@ return true; // step 8

@@ -21,3 +21,2 @@ 'use strict';

// note: prior to ES2023, this AO erroneously omitted the latter of its arguments.
module.exports = function IsWordChar(rer, Input, e) {

@@ -24,0 +23,0 @@ if (!isRegExpRecord(rer)) {

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -10,3 +11,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record');

@@ -13,0 +13,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorcomplete

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Call = require('./Call');
var isObject = require('../helpers/isObject');
var isIteratorRecord = require('../helpers/records/iterator-record');

@@ -9,0 +9,0 @@

@@ -5,6 +5,2 @@ 'use strict';

var callBound = require('call-bound');
var $arrayPush = callBound('Array.prototype.push');
var IteratorStep = require('./IteratorStep');

@@ -28,3 +24,3 @@ var IteratorValue = require('./IteratorValue');

var nextValue = IteratorValue(next); // step 3.b.i
$arrayPush(values, nextValue); // step 3.b.ii
values[values.length] = nextValue; // step 3.b.ii
}

@@ -31,0 +27,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var Get = require('./Get');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-iteratorvalue

@@ -10,0 +9,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/11.0/#sec-lengthofarraylike

@@ -12,0 +11,0 @@

@@ -10,3 +10,3 @@ 'use strict';

var IsIntegralNumber = require('./IsIntegralNumber');
var isInteger = require('math-intrinsics/isInteger');

@@ -19,3 +19,3 @@ // https://262.ecma-international.org/12.0/#sec-numbertobigint

}
if (!IsIntegralNumber(number)) {
if (!isInteger(number)) {
throw new $RangeError('The number ' + number + ' cannot be converted to a BigInt because it is not an integer');

@@ -22,0 +22,0 @@ }

@@ -20,31 +20,16 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/15.0/#table-the-typedarray-constructors
var TypeToSizes = {
__proto__: null,
INT8: 1,
UINT8: 1,
UINT8C: 1,
INT16: 2,
UINT16: 2,
INT32: 4,
UINT32: 4,
BIGINT64: 8,
BIGUINT64: 8,
FLOAT32: 4,
FLOAT64: 8
};
var TypeToAO = {
__proto__: null,
INT8: ToInt8,
UINT8: ToUint8,
UINT8C: ToUint8Clamp,
INT16: ToInt16,
UINT16: ToUint16,
INT32: ToInt32,
UINT32: ToUint32,
BIGINT64: ToBigInt64,
BIGUINT64: ToBigUint64
$INT8: ToInt8,
$UINT8: ToUint8,
$UINT8C: ToUint8Clamp,
$INT16: ToInt16,
$UINT16: ToUint16,
$INT32: ToInt32,
$UINT32: ToUint32,
$BIGINT64: ToBigInt64,
$BIGUINT64: ToBigUint64
};

@@ -55,4 +40,4 @@

module.exports = function NumericToRawBytes(type, value, isLittleEndian) {
if (typeof type !== 'string' || !hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (typeof type !== 'string' || !hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -72,5 +57,5 @@ if (typeof value !== 'number' && typeof value !== 'bigint') {

var n = TypeToSizes[type]; // step 3.a
var n = tableTAO.size['$' + type]; // step 3.a
var convOp = TypeToAO[type]; // step 3.b
var convOp = TypeToAO['$' + type]; // step 3.b

@@ -77,0 +62,0 @@ var intValue = convOp(value); // step 3.c

'use strict';
var callBound = require('call-bound');
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
var Get = require('./Get');
var OrdinaryGetOwnProperty = require('./OrdinaryGetOwnProperty');
var ToObject = require('./ToObject');

@@ -11,7 +10,4 @@ var ToPropertyDescriptor = require('./ToPropertyDescriptor');

var forEach = require('../helpers/forEach');
var getOwnPropertyDescriptor = require('gopd');
var OwnPropertyKeys = require('own-keys');
var $push = callBound('Array.prototype.push');
// https://262.ecma-international.org/15.0/#sec-objectdefineproperties

@@ -25,7 +21,7 @@

forEach(keys, function (nextKey) { // step 4
var propDesc = ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
var propDesc = OrdinaryGetOwnProperty(props, nextKey); // ToPropertyDescriptor(getOwnPropertyDescriptor(props, nextKey)); // step 4.a
if (typeof propDesc !== 'undefined' && propDesc['[[Enumerable]]']) { // step 4.b
var descObj = Get(props, nextKey); // step 4.b.i
var desc = ToPropertyDescriptor(descObj); // step 4.b.ii
$push(descriptors, { '[[Key]]': nextKey, '[[Descriptor]]': desc }); // step 4.b.iii
descriptors[descriptors.length] = { '[[Key]]': nextKey, '[[Descriptor]]': desc }; // step 4.b.iii
}

@@ -32,0 +28,0 @@ });

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -17,4 +18,2 @@ var isPropertyDescriptor = require('../helpers/records/property-descriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty

@@ -21,0 +20,0 @@

@@ -5,3 +5,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var callBound = require('call-bound');

@@ -18,4 +18,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty

@@ -22,0 +20,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $getProto = require('get-proto');
var isObject = require('../helpers/isObject');

@@ -8,0 +8,0 @@ // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var Get = require('./Get');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');

@@ -7,0 +7,0 @@

@@ -8,2 +8,3 @@ 'use strict';

var $SyntaxError = require('es-errors/syntax');
var isObject = require('es-object-atoms/isObject');

@@ -13,3 +14,2 @@ var IsArray = require('./IsArray');

var forEach = require('../helpers/forEach');
var isObject = require('../helpers/isObject');

@@ -38,6 +38,6 @@ var SLOT = require('internal-slot');

var O;
if ($ObjectCreate) {
if (hasProto) {
O = { __proto__: proto };
} else if ($ObjectCreate) {
O = $ObjectCreate(proto);
} else if (hasProto) {
O = { __proto__: proto };
} else {

@@ -44,0 +44,0 @@ if (proto === null) {

@@ -5,7 +5,6 @@ 'use strict';

var $setProto = require('set-proto');
var isObject = require('es-object-atoms/isObject');
var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof

@@ -12,0 +11,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -9,4 +10,2 @@ var Call = require('./Call');

var isObject = require('../helpers/isObject');
var inspect = require('object-inspect');

@@ -13,0 +12,0 @@

@@ -6,5 +6,5 @@ 'use strict';

var IsIntegralNumber = require('./IsIntegralNumber');
var substring = require('./substring');
var isInteger = require('math-intrinsics/isInteger');
var isNaN = require('math-intrinsics/isNaN');

@@ -18,3 +18,3 @@

}
if (!IsIntegralNumber(position) || position < 0) {
if (!isInteger(position) || position < 0) {
throw new $TypeError('Assertion failed: `position` must be a nonnegative integer');

@@ -21,0 +21,0 @@ }

@@ -25,25 +25,9 @@ 'use strict';

var keys = require('object-keys');
var tableTAO = require('./tables/typed-array-objects');
// https://262.ecma-international.org/15.0/#table-the-typedarray-constructors
var TypeToSizes = {
__proto__: null,
INT8: 1,
UINT8: 1,
UINT8C: 1,
INT16: 2,
UINT16: 2,
INT32: 4,
UINT32: 4,
BIGINT64: 8,
BIGUINT64: 8,
FLOAT32: 4,
FLOAT64: 8
};
// https://262.ecma-international.org/15.0/#sec-rawbytestonumeric
module.exports = function RawBytesToNumeric(type, rawBytes, isLittleEndian) {
if (!hasOwnProperty(TypeToSizes, type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
if (!hasOwnProperty(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type');
}

@@ -57,3 +41,3 @@ if (!IsArray(rawBytes) || !every(rawBytes, isByteValue)) {

var elementSize = TypeToSizes[type]; // step 1
var elementSize = tableTAO.size['$' + type]; // step 1

@@ -60,0 +44,0 @@ if (rawBytes.length !== elementSize) {

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var regexExec = require('call-bound')('RegExp.prototype.exec');

@@ -11,4 +11,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-regexpexec

@@ -15,0 +13,0 @@

@@ -7,2 +7,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $RegExpPrototype = GetIntrinsic('%RegExp.prototype%');

@@ -12,4 +13,2 @@

var isObject = require('../helpers/isObject');
var $indexOf = callBound('String.prototype.indexOf');

@@ -16,0 +15,0 @@

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var isPropertyKey = require('../helpers/isPropertyKey');

var isObject = require('../helpers/isObject');
// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated

@@ -12,0 +11,0 @@ var noThrowOnStrictViolation = (function () {

@@ -7,4 +7,5 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var $gOPD = require('gopd');
var $preventExtensions = GetIntrinsic('%Object.preventExtensions%', true);
var $gOPD = require('gopd');
var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);

@@ -18,4 +19,2 @@

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-setintegritylevel

@@ -22,0 +21,0 @@

@@ -22,6 +22,6 @@ 'use strict';

var whichTypedArray = require('which-typed-array');
var callBound = require('call-bound');
var GetIntrinsic = require('call-bound');
var isInteger = require('math-intrinsics/isInteger');
var $ArrayBuffer = callBound('ArrayBuffer', true);
var $ArrayBuffer = GetIntrinsic('%ArrayBuffer%', true);

@@ -28,0 +28,0 @@ // https://262.ecma-international.org/15.0/#sec-settypedarrayfromtypedarray

@@ -38,3 +38,3 @@ 'use strict';

if (typeof type !== 'string' || !hasOwn(tableTAO.size, '$' + type)) {
throw new $TypeError('Assertion failed: `type` must be a Typed Array Element Type');
throw new $TypeError('Assertion failed: `type` must be one of ' + tableTAO.choices);
}

@@ -41,0 +41,0 @@

@@ -6,2 +6,3 @@ 'use strict';

var isInteger = require('math-intrinsics/isInteger');
var isObject = require('es-object-atoms/isObject');

@@ -13,5 +14,3 @@ var Get = require('./Get');

var isAbstractClosure = require('../helpers/isAbstractClosure');
var isObject = require('../helpers/isObject');
var $push = callBound('Array.prototype.push');
var $sort = callBound('Array.prototype.sort');

@@ -32,3 +31,3 @@

if (holes !== 'skip-holes' && holes !== 'read-through-holes') {
throw new $TypeError('Assertion failed: `holes` must be either `skip-holes` or `read-through-holes`');
throw new $TypeError('Assertion failed: `holes` must be either ~skip-holes~ or ~read-through-holes~');
}

@@ -45,3 +44,3 @@

var kValue = Get(obj, Pk);
$push(items, kValue);
items[items.length] = kValue;
}

@@ -48,0 +47,0 @@ k += 1; // step 3.e

@@ -7,7 +7,6 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');
var IsConstructor = require('./IsConstructor');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-speciesconstructor

@@ -14,0 +13,0 @@

@@ -5,2 +5,3 @@ 'use strict';

var isNegativeZero = require('math-intrinsics/isNegativeZero');
var isObject = require('es-object-atoms/isObject');

@@ -12,6 +13,5 @@ var callBound = require('call-bound');

var CanonicalNumericIndexString = require('./CanonicalNumericIndexString');
var IsIntegralNumber = require('./IsIntegralNumber');
var isObject = require('../helpers/isObject');
var isPropertyKey = require('../helpers/isPropertyKey');
var isInteger = require('math-intrinsics/isInteger');

@@ -38,3 +38,3 @@ // https://262.ecma-international.org/12.0/#sec-stringgetownproperty

var len = str.length;
if (typeof index === 'undefined' || !IsIntegralNumber(index) || isNegativeZero(index) || index < 0 || len <= index) {
if (typeof index === 'undefined' || !isInteger(index) || isNegativeZero(index) || index < 0 || len <= index) {
return void undefined;

@@ -41,0 +41,0 @@ }

@@ -5,6 +5,2 @@ 'use strict';

var callBound = require('call-bound');
var $push = callBound('Array.prototype.push');
var CodePointAt = require('./CodePointAt');

@@ -23,3 +19,3 @@

var cp = CodePointAt(string, position);
$push(codePoints, cp['[[CodePoint]]']);
codePoints[codePoints.length] = cp['[[CodePoint]]'];
position += cp['[[CodeUnitCount]]'];

@@ -26,0 +22,0 @@ }

@@ -34,3 +34,4 @@ 'use strict';

$FLOAT64: 8
}
},
choices: '"INT8", "UINT8", "UINT8C", "INT16", "UINT16", "INT32", "UINT32", "BIGINT64", "BIGUINT64", "FLOAT32", or "FLOAT64"'
};

@@ -8,2 +8,3 @@ 'use strict';

var OwnPropertyKeys = require('own-keys');
var isObject = require('es-object-atoms/isObject');

@@ -14,4 +15,2 @@ var IsDataDescriptor = require('./IsDataDescriptor');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/6.0/#sec-testintegritylevel

@@ -18,0 +17,0 @@

@@ -7,2 +7,4 @@ 'use strict';

// https://262.ecma-international.org/12.0/#sec-tolength
module.exports = function ToLength(argument) {

@@ -9,0 +11,0 @@ var len = ToIntegerOrInfinity(argument);

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -11,4 +12,2 @@ var IsCallable = require('./IsCallable');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/5.1/#sec-8.10.5

@@ -15,0 +14,0 @@

@@ -5,2 +5,3 @@ 'use strict';

var IsFixedLengthArrayBuffer = require('./IsFixedLengthArrayBuffer');
var IsTypedArrayOutOfBounds = require('./IsTypedArrayOutOfBounds');

@@ -12,2 +13,3 @@ var TypedArrayElementSize = require('./TypedArrayElementSize');

var typedArrayByffer = require('typed-array-buffer');
var typedArrayByteLength = require('typed-array-byte-length');

@@ -33,3 +35,5 @@

var byteLength = typedArrayByteLength(O);
var isFixed = IsFixedLengthArrayBuffer(typedArrayByffer(O));
var byteLength = isFixed ? typedArrayByteLength(O) : 'AUTO';
if (byteLength !== 'AUTO') {

@@ -36,0 +40,0 @@ return byteLength; // step 5

@@ -16,3 +16,3 @@ 'use strict';

// http://www.ecma-international.org/ecma-262/15.0/#sec-typedarraylength
// https://www.ecma-international.org/ecma-262/15.0/#sec-typedarraylength

@@ -30,3 +30,5 @@ module.exports = function TypedArrayLength(taRecord) {

var length = typedArrayLength(O);
var isFixed = IsFixedLengthArrayBuffer(typedArrayBuffer(O));
var length = isFixed ? typedArrayLength(O) : 'AUTO';
if (length !== 'AUTO') {

@@ -36,3 +38,3 @@ return length; // step 3

if (IsFixedLengthArrayBuffer(typedArrayBuffer(O))) {
if (isFixed) {
throw new $TypeError('Assertion failed: array buffer is not fixed length'); // step 4

@@ -39,0 +41,0 @@ }

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -15,6 +16,3 @@ var DefineOwnProperty = require('../helpers/DefineOwnProperty');

var SameValue = require('./SameValue');
var Type = require('./Type');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/13.0/#sec-validateandapplypropertydescriptor

@@ -26,3 +24,2 @@

module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) {
var oType = Type(O);
if (typeof O !== 'undefined' && !isObject(O)) {

@@ -48,3 +45,3 @@ throw new $TypeError('Assertion failed: O must be undefined or an Object');

}
if (oType === 'Undefined') {
if (typeof O === 'undefined') {
return true; // step 2.b

@@ -126,3 +123,3 @@ }

// 6. If O is not undefined, then
if (oType !== 'Undefined') {
if (typeof O !== 'undefined') {
var configurable;

@@ -129,0 +126,0 @@ var enumerable;

'use strict';
var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -8,4 +9,2 @@ var IsTypedArrayOutOfBounds = require('./IsTypedArrayOutOfBounds');

var isObject = require('../helpers/isObject');
var isTypedArray = require('is-typed-array');

@@ -12,0 +11,0 @@

@@ -6,3 +6,3 @@ 'use strict';

var callBound = require('call-bound');
var $indexOf = callBound('String.prototype.indexOf', true);
var $indexOf = callBound('String.prototype.indexOf');

@@ -9,0 +9,0 @@ var Canonicalize = require('./Canonicalize');

@@ -5,3 +5,3 @@ 'use strict';

// http://262.ecma-international.org/5.1/#sec-5.2
// https://262.ecma-international.org/5.1/#sec-5.2

@@ -8,0 +8,0 @@ module.exports = function abs(x) {

'use strict';
var isObject = require('es-object-atoms/isObject');
var ToNumber = require('./ToNumber');
var ToPrimitive = require('./ToPrimitive');
var Type = require('./Type');
var isObject = require('../helpers/isObject');
var isSameType = require('../helpers/isSameType');

@@ -12,3 +13,3 @@ // https://262.ecma-international.org/5.1/#sec-11.9.3

module.exports = function AbstractEqualityComparison(x, y) {
if (Type(x) === Type(y)) {
if (isSameType(x, y)) {
return x === y; // ES6+ specified this shortcut anyways.

@@ -15,0 +16,0 @@ }

@@ -6,2 +6,3 @@ 'use strict';

var $TypeError = require('es-errors/type');
var isObject = require('es-object-atoms/isObject');

@@ -11,4 +12,2 @@ var IsCallable = require('./IsCallable');

var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/5.1/#sec-8.10.5

@@ -15,0 +14,0 @@

'use strict';
var isObject = require('../helpers/isObject');
var isObject = require('es-object-atoms/isObject');

@@ -5,0 +5,0 @@ // https://262.ecma-international.org/5.1/#sec-8

@@ -0,1 +1,50 @@

1.23.10 / 2025-05-21
=================
- [Fix] properly handle Float16Array
- [Fix] `ES2024`+: `IsViewOutOfBounds`: properly handle resizable array buffers
- [Fix] `ES2024`+: `IsTypedArrayOutOfBounds`: properly handle resizable arrays
- [Fix] `ES2024`+: `GetViewByteLength`, `TypedArrayByteLength`, `TypedArrayLength`: properly handle resizable arrays
- [Fix] `ES2020`+: `abs` should accept bigints too
- [Fix] `ES2024`+: `ArrayBufferByteLength`: return the byte length for SABs, not NaN
- [Fix] `ES2024`+: `ArrayBufferCopyAndDetach`: properly handle resizable ArrayBuffers; add tests
- [Fix] `ES2021`: `SetTypedArrayFromTypedArray`: get proper source element size
- [Fix] `ES2023`+: `SetTypedArrayFromTypedArray`: ArrayBuffer shouldn‘t be bound
- [Fix] `ES2022`,`ES2023`: `ValidateIntegerTypedArray`: return the buffer
- [patch] `ES2023`+: `SortIndexedProperties`: improve error message
- [patch] clean up some comments
- [patch] `ES2023`+: `InternalizeJSONProperty`: remove extra argument
- [patch] `ES2020`+`: `GetIterator`: fix comment to indicate that it changed in ES2018
- [Refactor] Typed Array stuff: store "choices" string in the table file
- [Refactor] `ES2021`+: use isInteger directly in a few AOs
- [Refactor] `ES2022`+: `ValidateAndApplyPropertyDescriptor`: use `typeof` over `Type()`
- [Refactor] `helpers/getIteratorMethod`: no longer require a passed-in `IsArray`
- [Refactor] `ES2017`+: `Num{ber,eric}ToRawBytes`, `RawBytesToNum{ber,eric}`: use TAO table sizes
- [Refactor] `ES2015`+: `{,Ordinary}ObjectCreate`: prefer `__proto__` syntax over `Object.create`
- [Refactor] `CopyDataProperties` tests are the same in ES2020 as in ES2018
- [Refactor] `ES2016` - `ES2020`: `UTF16Encoding`: match `UTF16EncodeCodePoint`
- [Refactor] use `es-object-atoms/isObject` directly
- [Refactor] add `isSameType` helper, and use it
- [Refactor] `ES2017`+: `WordCharacters`: `String.prototype.indexOf` should always be present
- [Refactor] use `arr[arr.length] = x` instead of `$push(arr, x)`
- [Robustness] `ES2015`+: `ObjectDefineProperties`: use `OrdinaryGetOwnProperty` to handle a missing `gOPD`
- [meta] add missing comments
- [meta] fix operations npmignores
- [meta] fix URL in comment
- [meta] note `isNegativeZero` helper is slated for removal (#155)
- [Deps] update `call-bound`, `which-typed-array`, `es-object-atoms`, `get-intrinsic`, `get-proto`, `regexp.prototype.flags`, `is-weakref`, `object-inspect`
- [Dev Deps] pin `glob` to v7
- [Dev Deps] update `@unicode/unicode-15.0.0`, `es-value-fixtures`, `for-each`, `has-strict-mode`, `ses`
- [Tests] avoid an OOM in node 20 on SES tests
- [Tests] compare correct TA type
- [Tests] consolidate map of AO property names to prose names
- [Tests] extract common helpers
- [Tests] increase coverage
- [Tests] increase coverage
- [Tests] node 20 throws with RABs that are not a multiple of 4 and 8
- [Tests] refactor TA types arrays to year-taking functions
- [Tests] refactor test megafile into file-per-method tests
- [Tests] remove now-unused test mega-file
- [Tests] some cleanups
- [Tests] use proper import
1.23.9 / 2025-01-02

@@ -2,0 +51,0 @@ =================

@@ -12,2 +12,4 @@ 'use strict';

var IsArray = require('./IsArray');
module.exports = function getIteratorMethod(ES, iterable) {

@@ -17,3 +19,3 @@ var usingIterator;

usingIterator = ES.GetMethod(iterable, $iterator);
} else if (ES.IsArray(iterable)) {
} else if (IsArray(iterable)) {
usingIterator = function () {

@@ -20,0 +22,0 @@ var i = -1;

'use strict';
// TODO, semver-major: remove
module.exports = function isNegativeZero(x) {
return x === 0 && 1 / x === 1 / -0;
};
'use strict';
module.exports = function isObject(x) {
return !!x && (typeof x === 'function' || typeof x === 'object');
};
// TODO: remove, semver-major
module.exports = require('es-object-atoms/isObject');

@@ -16,2 +16,3 @@ 'use strict';

$BigUint64Array: GetIntrinsic('%BigUint64Array%', true),
$Float16Array: GetIntrinsic('%Float16Array%', true),
$Float32Array: GetIntrinsic('%Float32Array%', true),

@@ -18,0 +19,0 @@ $Float64Array: GetIntrinsic('%Float64Array%', true)

{
"name": "es-abstract",
"version": "1.23.9",
"version": "1.23.10",
"author": {

@@ -37,3 +37,3 @@ "name": "Jordan Harband",

"test": "npm run tests-only && npm run test:ses",
"test:ses": "node test/ses-compat",
"test:ses": "node --stack-size=5120 test/ses-compat",
"posttest": "npx npm@'>= 10.2' audit --production",

@@ -64,3 +64,3 @@ "tests-only": "nyc node --stack-size=5120 test",

"call-bind": "^1.0.8",
"call-bound": "^1.0.3",
"call-bound": "^1.0.4",
"data-view-buffer": "^1.0.2",

@@ -71,8 +71,8 @@ "data-view-byte-length": "^1.0.2",

"es-errors": "^1.3.0",
"es-object-atoms": "^1.0.0",
"es-object-atoms": "^1.1.1",
"es-set-tostringtag": "^2.1.0",
"es-to-primitive": "^1.3.0",
"function.prototype.name": "^1.1.8",
"get-intrinsic": "^1.2.7",
"get-proto": "^1.0.0",
"get-intrinsic": "^1.3.0",
"get-proto": "^1.0.1",
"get-symbol-description": "^1.1.0",

@@ -93,9 +93,9 @@ "globalthis": "^1.0.4",

"is-typed-array": "^1.1.15",
"is-weakref": "^1.1.0",
"is-weakref": "^1.1.1",
"math-intrinsics": "^1.1.0",
"object-inspect": "^1.13.3",
"object-inspect": "^1.13.4",
"object-keys": "^1.1.1",
"object.assign": "^4.1.7",
"own-keys": "^1.0.1",
"regexp.prototype.flags": "^1.5.3",
"regexp.prototype.flags": "^1.5.4",
"safe-array-concat": "^1.1.3",

@@ -113,7 +113,7 @@ "safe-push-apply": "^1.0.0",

"unbox-primitive": "^1.1.0",
"which-typed-array": "^1.1.18"
"which-typed-array": "^1.1.19"
},
"devDependencies": {
"@ljharb/eslint-config": "^21.1.1",
"@unicode/unicode-15.0.0": "^1.6.5",
"@unicode/unicode-15.0.0": "^1.6.6",
"array.from": "^1.1.6",

@@ -129,16 +129,15 @@ "array.prototype.filter": "^1.0.4",

"eclint": "^2.8.1",
"es-value-fixtures": "^1.5.0",
"es-value-fixtures": "^1.7.1",
"eslint": "=8.8.0",
"for-each": "^0.3.3",
"for-each": "^0.3.5",
"function-bind": "^1.1.2",
"functions-have-names": "^1.2.3",
"glob": "=10.3.7",
"glob": "^7.2.3",
"has-bigints": "^1.1.0",
"has-named-captures": "^1.0.0",
"has-strict-mode": "^1.0.1",
"has-strict-mode": "^1.1.0",
"in-publish": "^2.0.1",
"is-bigint": "^1.1.0",
"is-core-module": "^2.16.1",
"is-registered-symbol": "^1.1.1",
"jackspeak": "=2.1.1",
"make-arrow-function": "^1.2.0",
"make-async-function": "^1.0.0",

@@ -153,3 +152,3 @@ "make-async-generator-function": "^1.0.0",

"safe-publish-latest": "^2.0.0",
"ses": "^1.9.1",
"ses": "^1.12.0",
"tape": "^5.9.0"

@@ -183,3 +182,4 @@ },

"# dev scripts",
"operations/*.js",
"operations/*",
"!operations/es5.js",
"!operations/20*.js",

@@ -186,0 +186,0 @@ "",