es-abstract
Advanced tools
Comparing version
@@ -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 @@ "", |
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
2391265
0.07%36
-2.7%1
-75%0
-100%2165
-0.05%63620
-0.46%Updated
Updated
Updated
Updated
Updated
Updated
Updated