Socket
Socket
Sign inDemoInstall

es-abstract

Package Overview
Dependencies
Maintainers
1
Versions
83
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

es-abstract - npm Package Compare versions

Comparing version 1.17.5 to 1.17.6

.github/workflows/codeql-analysis.yml

12

2015/Call.js
'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var callBound = require('../helpers/callBound');
var $TypeError = GetIntrinsic('%TypeError%');
var $apply = GetIntrinsic('%Reflect.apply%', true) || callBound('%Function.prototype.apply%');
var inspect = require('object-inspect');
var IsCallable = require('./IsCallable');
// https://www.ecma-international.org/ecma-262/6.0/#sec-call

@@ -15,6 +12,3 @@

var args = arguments.length > 2 ? arguments[2] : [];
if (!IsCallable(F)) {
throw new $TypeError(inspect(F) + ' is not a function');
}
return F.apply(V, args);
return $apply(F, V, args);
};
'use strict';
var GetIntrinsic = require('../GetIntrinsic.js');
var $construct = GetIntrinsic('%Reflect.construct%', true);
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
try {
DefinePropertyOrThrow({}, '', { '[[Get]]': function () {} });
} catch (e) {
// Accessor properties aren't supported
DefinePropertyOrThrow = null;
}
// https://www.ecma-international.org/ecma-262/6.0/#sec-isconstructor
module.exports = function IsConstructor(argument) {
return typeof argument === 'function' && !!argument.prototype; // unfortunately there's no way to truly check this without try/catch `new argument`
};
if (DefinePropertyOrThrow && $construct) {
var isConstructorMarker = {};
var badArrayLike = {};
DefinePropertyOrThrow(badArrayLike, 'length', {
'[[Get]]': function () {
throw isConstructorMarker;
},
'[[Enumerable]]': true
});
module.exports = function IsConstructor(argument) {
try {
// `Reflect.construct` invokes `IsConstructor(target)` before `Get(args, 'length')`:
$construct(argument, badArrayLike);
} catch (err) {
return err === isConstructorMarker;
}
};
} else {
module.exports = function IsConstructor(argument) {
// unfortunately there's no way to truly check this without try/catch `new argument` in old environments
return typeof argument === 'function' && !!argument.prototype;
};
}

@@ -8,4 +8,15 @@ 'use strict';

var IsPropertyKey = require('./IsPropertyKey');
var SameValue = require('./SameValue');
var Type = require('./Type');
// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
var noThrowOnStrictViolation = (function () {
try {
delete [].length;
return true;
} catch (e) {
return false;
}
}());
// https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw

@@ -25,2 +36,5 @@

O[P] = V; // eslint-disable-line no-param-reassign
if (noThrowOnStrictViolation && !SameValue(O[P], V)) {
throw new $TypeError('Attempted to assign to readonly property.');
}
return true;

@@ -30,2 +44,3 @@ } else {

O[P] = V; // eslint-disable-line no-param-reassign
return noThrowOnStrictViolation ? SameValue(O[P], V) : true;
} catch (e) {

@@ -32,0 +47,0 @@ return false;

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

// https://www.ecma-international.org/ecma-262/6.0/#sec-tostring
// https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-data-types-and-values

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

'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var callBound = require('../helpers/callBound');
var $TypeError = GetIntrinsic('%TypeError%');
var $apply = GetIntrinsic('%Reflect.apply%', true) || callBound('%Function.prototype.apply%');
var inspect = require('object-inspect');
var IsCallable = require('./IsCallable');
// https://www.ecma-international.org/ecma-262/6.0/#sec-call

@@ -15,6 +12,3 @@

var args = arguments.length > 2 ? arguments[2] : [];
if (!IsCallable(F)) {
throw new $TypeError(inspect(F) + ' is not a function');
}
return F.apply(V, args);
return $apply(F, V, args);
};
'use strict';
var GetIntrinsic = require('../GetIntrinsic.js');
var $construct = GetIntrinsic('%Reflect.construct%', true);
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
try {
DefinePropertyOrThrow({}, '', { '[[Get]]': function () {} });
} catch (e) {
// Accessor properties aren't supported
DefinePropertyOrThrow = null;
}
// https://www.ecma-international.org/ecma-262/6.0/#sec-isconstructor
module.exports = function IsConstructor(argument) {
return typeof argument === 'function' && !!argument.prototype; // unfortunately there's no way to truly check this without try/catch `new argument`
};
if (DefinePropertyOrThrow && $construct) {
var isConstructorMarker = {};
var badArrayLike = {};
DefinePropertyOrThrow(badArrayLike, 'length', {
'[[Get]]': function () {
throw isConstructorMarker;
},
'[[Enumerable]]': true
});
module.exports = function IsConstructor(argument) {
try {
// `Reflect.construct` invokes `IsConstructor(target)` before `Get(args, 'length')`:
$construct(argument, badArrayLike);
} catch (err) {
return err === isConstructorMarker;
}
};
} else {
module.exports = function IsConstructor(argument) {
// unfortunately there's no way to truly check this without try/catch `new argument` in old environments
return typeof argument === 'function' && !!argument.prototype;
};
}
'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var $iterator = GetIntrinsic('%Symbol.iterator%', true);
var callBound = require('../helpers/callBound');
var $arrayJoin = callBound('Array.prototype.join');
var $arrayPush = callBound('Array.prototype.push');
var $stringSlice = callBound('String.prototype.slice');
var $stringSplit = callBound('String.prototype.split');
var getIteratorMethod = require('../helpers/getIteratorMethod');
var AdvanceStringIndex = require('./AdvanceStringIndex');

@@ -22,39 +15,28 @@ var GetIterator = require('./GetIterator');

var Type = require('./Type');
var ES = {
AdvanceStringIndex: AdvanceStringIndex,
GetMethod: GetMethod,
IsArray: IsArray,
Type: Type
};
// https://www.ecma-international.org/ecma-262/7.0/#sec-iterabletoarraylike
/**
* 1. Let usingIterator be ? GetMethod(items, @@iterator).
* 2. If usingIterator is not undefined, then
* 1. Let iterator be ? GetIterator(items, usingIterator).
* 2. Let values be a new empty List.
* 3. Let next be true.
* 4. Repeat, while next is not false
* 1. Let next be ? IteratorStep(iterator).
* 2. If next is not false, then
* 1. Let nextValue be ? IteratorValue(next).
* 2. Append nextValue to the end of the List values.
* 5. Return CreateArrayFromList(values).
* 3. NOTE: items is not an Iterable so assume it is already an array-like object.
* 4. Return ! ToObject(items).
*/
module.exports = function IterableToArrayLike(items) {
var usingIterator;
if ($iterator) {
usingIterator = GetMethod(items, $iterator);
} else if (IsArray(items)) {
usingIterator = function () {
var i = -1;
var arr = this; // eslint-disable-line no-invalid-this
return {
next: function () {
i += 1;
return {
done: i >= arr.length,
value: arr[i]
};
}
};
};
} else if (Type(items) === 'String') {
usingIterator = function () {
var i = 0;
return {
next: function () {
var nextIndex = AdvanceStringIndex(items, i, true);
var value = $arrayJoin($stringSplit($stringSlice(items, i, nextIndex), ''), '');
i = nextIndex;
return {
done: nextIndex > items.length,
value: value
};
}
};
};
}
var usingIterator = getIteratorMethod(ES, items);
if (typeof usingIterator !== 'undefined') {

@@ -61,0 +43,0 @@ var iterator = GetIterator(items, usingIterator);

@@ -8,4 +8,15 @@ 'use strict';

var IsPropertyKey = require('./IsPropertyKey');
var SameValue = require('./SameValue');
var Type = require('./Type');
// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
var noThrowOnStrictViolation = (function () {
try {
delete [].length;
return true;
} catch (e) {
return false;
}
}());
// https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw

@@ -25,2 +36,5 @@

O[P] = V; // eslint-disable-line no-param-reassign
if (noThrowOnStrictViolation && !SameValue(O[P], V)) {
throw new $TypeError('Attempted to assign to readonly property.');
}
return true;

@@ -30,2 +44,3 @@ } else {

O[P] = V; // eslint-disable-line no-param-reassign
return noThrowOnStrictViolation ? SameValue(O[P], V) : true;
} catch (e) {

@@ -32,0 +47,0 @@ return false;

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

// https://www.ecma-international.org/ecma-262/6.0/#sec-tostring
// https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-data-types-and-values

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

'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var callBound = require('../helpers/callBound');
var $TypeError = GetIntrinsic('%TypeError%');
var $apply = GetIntrinsic('%Reflect.apply%', true) || callBound('%Function.prototype.apply%');
var inspect = require('object-inspect');
var IsCallable = require('./IsCallable');
// https://www.ecma-international.org/ecma-262/6.0/#sec-call

@@ -15,6 +12,3 @@

var args = arguments.length > 2 ? arguments[2] : [];
if (!IsCallable(F)) {
throw new $TypeError(inspect(F) + ' is not a function');
}
return F.apply(V, args);
return $apply(F, V, args);
};
'use strict';
var GetIntrinsic = require('../GetIntrinsic.js');
var $construct = GetIntrinsic('%Reflect.construct%', true);
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
try {
DefinePropertyOrThrow({}, '', { '[[Get]]': function () {} });
} catch (e) {
// Accessor properties aren't supported
DefinePropertyOrThrow = null;
}
// https://www.ecma-international.org/ecma-262/6.0/#sec-isconstructor
module.exports = function IsConstructor(argument) {
return typeof argument === 'function' && !!argument.prototype; // unfortunately there's no way to truly check this without try/catch `new argument`
};
if (DefinePropertyOrThrow && $construct) {
var isConstructorMarker = {};
var badArrayLike = {};
DefinePropertyOrThrow(badArrayLike, 'length', {
'[[Get]]': function () {
throw isConstructorMarker;
},
'[[Enumerable]]': true
});
module.exports = function IsConstructor(argument) {
try {
// `Reflect.construct` invokes `IsConstructor(target)` before `Get(args, 'length')`:
$construct(argument, badArrayLike);
} catch (err) {
return err === isConstructorMarker;
}
};
} else {
module.exports = function IsConstructor(argument) {
// unfortunately there's no way to truly check this without try/catch `new argument` in old environments
return typeof argument === 'function' && !!argument.prototype;
};
}

@@ -8,4 +8,15 @@ 'use strict';

var IsPropertyKey = require('./IsPropertyKey');
var SameValue = require('./SameValue');
var Type = require('./Type');
// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
var noThrowOnStrictViolation = (function () {
try {
delete [].length;
return true;
} catch (e) {
return false;
}
}());
// https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw

@@ -25,2 +36,5 @@

O[P] = V; // eslint-disable-line no-param-reassign
if (noThrowOnStrictViolation && !SameValue(O[P], V)) {
throw new $TypeError('Attempted to assign to readonly property.');
}
return true;

@@ -30,2 +44,3 @@ } else {

O[P] = V; // eslint-disable-line no-param-reassign
return noThrowOnStrictViolation ? SameValue(O[P], V) : true;
} catch (e) {

@@ -32,0 +47,0 @@ return false;

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

// https://www.ecma-international.org/ecma-262/6.0/#sec-tostring
// https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-data-types-and-values

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

'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var callBound = require('../helpers/callBound');
var $TypeError = GetIntrinsic('%TypeError%');
var $apply = GetIntrinsic('%Reflect.apply%', true) || callBound('%Function.prototype.apply%');
var inspect = require('object-inspect');
var IsCallable = require('./IsCallable');
// https://www.ecma-international.org/ecma-262/6.0/#sec-call

@@ -15,6 +12,3 @@

var args = arguments.length > 2 ? arguments[2] : [];
if (!IsCallable(F)) {
throw new $TypeError(inspect(F) + ' is not a function');
}
return F.apply(V, args);
return $apply(F, V, args);
};

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

var CreateDataProperty = require('./CreateDataProperty');
var Get = require('./Get');
var IsArray = require('./IsArray');
var IsInteger = require('./IsInteger');
var IsPropertyKey = require('./IsPropertyKey');
var SameValue = require('./SameValue');
var ToNumber = require('./ToNumber');
var ToObject = require('./ToObject');
var Type = require('./Type');

@@ -34,6 +40,4 @@

var ES = this;
var fromObj = ToObject(source);
var fromObj = ES.ToObject(source);
var sourceKeys = OwnPropertyKeys(fromObj);

@@ -44,3 +48,3 @@ forEach(sourceKeys, function (nextKey) {

forEach(excludedItems, function (e) {
if (ES.SameValue(e, nextKey) === true) {
if (SameValue(e, nextKey) === true) {
excluded = true;

@@ -54,7 +58,7 @@ }

&& nextKey >= 0
&& ES.IsInteger(ES.ToNumber(nextKey))
&& IsInteger(ToNumber(nextKey))
);
if (excluded === false && enumerable) {
var propValue = ES.Get(fromObj, nextKey);
ES.CreateDataProperty(target, nextKey, propValue);
var propValue = Get(fromObj, nextKey);
CreateDataProperty(target, nextKey, propValue);
}

@@ -61,0 +65,0 @@ });

'use strict';
var GetIntrinsic = require('../GetIntrinsic.js');
var $construct = GetIntrinsic('%Reflect.construct%', true);
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
try {
DefinePropertyOrThrow({}, '', { '[[Get]]': function () {} });
} catch (e) {
// Accessor properties aren't supported
DefinePropertyOrThrow = null;
}
// https://www.ecma-international.org/ecma-262/6.0/#sec-isconstructor
module.exports = function IsConstructor(argument) {
return typeof argument === 'function' && !!argument.prototype; // unfortunately there's no way to truly check this without try/catch `new argument`
};
if (DefinePropertyOrThrow && $construct) {
var isConstructorMarker = {};
var badArrayLike = {};
DefinePropertyOrThrow(badArrayLike, 'length', {
'[[Get]]': function () {
throw isConstructorMarker;
},
'[[Enumerable]]': true
});
module.exports = function IsConstructor(argument) {
try {
// `Reflect.construct` invokes `IsConstructor(target)` before `Get(args, 'length')`:
$construct(argument, badArrayLike);
} catch (err) {
return err === isConstructorMarker;
}
};
} else {
module.exports = function IsConstructor(argument) {
// unfortunately there's no way to truly check this without try/catch `new argument` in old environments
return typeof argument === 'function' && !!argument.prototype;
};
}

@@ -8,4 +8,15 @@ 'use strict';

var IsPropertyKey = require('./IsPropertyKey');
var SameValue = require('./SameValue');
var Type = require('./Type');
// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
var noThrowOnStrictViolation = (function () {
try {
delete [].length;
return true;
} catch (e) {
return false;
}
}());
// https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw

@@ -25,2 +36,5 @@

O[P] = V; // eslint-disable-line no-param-reassign
if (noThrowOnStrictViolation && !SameValue(O[P], V)) {
throw new $TypeError('Attempted to assign to readonly property.');
}
return true;

@@ -30,2 +44,3 @@ } else {

O[P] = V; // eslint-disable-line no-param-reassign
return noThrowOnStrictViolation ? SameValue(O[P], V) : true;
} catch (e) {

@@ -32,0 +47,0 @@ return false;

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

// https://www.ecma-international.org/ecma-262/6.0/#sec-tostring
// https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-data-types-and-values

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

'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var callBound = require('../helpers/callBound');
var $TypeError = GetIntrinsic('%TypeError%');
var $apply = GetIntrinsic('%Reflect.apply%', true) || callBound('%Function.prototype.apply%');
var inspect = require('object-inspect');
var IsCallable = require('./IsCallable');
// https://www.ecma-international.org/ecma-262/6.0/#sec-call

@@ -15,6 +12,3 @@

var args = arguments.length > 2 ? arguments[2] : [];
if (!IsCallable(F)) {
throw new $TypeError(inspect(F) + ' is not a function');
}
return F.apply(V, args);
return $apply(F, V, args);
};

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

var CreateDataProperty = require('./CreateDataProperty');
var Get = require('./Get');
var IsArray = require('./IsArray');
var IsInteger = require('./IsInteger');
var IsPropertyKey = require('./IsPropertyKey');
var SameValue = require('./SameValue');
var ToNumber = require('./ToNumber');
var ToObject = require('./ToObject');
var Type = require('./Type');

@@ -34,6 +40,4 @@

var ES = this;
var fromObj = ToObject(source);
var fromObj = ES.ToObject(source);
var sourceKeys = OwnPropertyKeys(fromObj);

@@ -44,3 +48,3 @@ forEach(sourceKeys, function (nextKey) {

forEach(excludedItems, function (e) {
if (ES.SameValue(e, nextKey) === true) {
if (SameValue(e, nextKey) === true) {
excluded = true;

@@ -54,7 +58,7 @@ }

&& nextKey >= 0
&& ES.IsInteger(ES.ToNumber(nextKey))
&& IsInteger(ToNumber(nextKey))
);
if (excluded === false && enumerable) {
var propValue = ES.Get(fromObj, nextKey);
ES.CreateDataProperty(target, nextKey, propValue);
var propValue = Get(fromObj, nextKey);
CreateDataProperty(target, nextKey, propValue);
}

@@ -61,0 +65,0 @@ });

'use strict';
var GetIntrinsic = require('../GetIntrinsic.js');
var $construct = GetIntrinsic('%Reflect.construct%', true);
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
try {
DefinePropertyOrThrow({}, '', { '[[Get]]': function () {} });
} catch (e) {
// Accessor properties aren't supported
DefinePropertyOrThrow = null;
}
// https://www.ecma-international.org/ecma-262/6.0/#sec-isconstructor
module.exports = function IsConstructor(argument) {
return typeof argument === 'function' && !!argument.prototype; // unfortunately there's no way to truly check this without try/catch `new argument`
};
if (DefinePropertyOrThrow && $construct) {
var isConstructorMarker = {};
var badArrayLike = {};
DefinePropertyOrThrow(badArrayLike, 'length', {
'[[Get]]': function () {
throw isConstructorMarker;
},
'[[Enumerable]]': true
});
module.exports = function IsConstructor(argument) {
try {
// `Reflect.construct` invokes `IsConstructor(target)` before `Get(args, 'length')`:
$construct(argument, badArrayLike);
} catch (err) {
return err === isConstructorMarker;
}
};
} else {
module.exports = function IsConstructor(argument) {
// unfortunately there's no way to truly check this without try/catch `new argument` in old environments
return typeof argument === 'function' && !!argument.prototype;
};
}

@@ -8,4 +8,15 @@ 'use strict';

var IsPropertyKey = require('./IsPropertyKey');
var SameValue = require('./SameValue');
var Type = require('./Type');
// IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
var noThrowOnStrictViolation = (function () {
try {
delete [].length;
return true;
} catch (e) {
return false;
}
}());
// https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw

@@ -25,2 +36,5 @@

O[P] = V; // eslint-disable-line no-param-reassign
if (noThrowOnStrictViolation && !SameValue(O[P], V)) {
throw new $TypeError('Attempted to assign to readonly property.');
}
return true;

@@ -30,2 +44,3 @@ } else {

O[P] = V; // eslint-disable-line no-param-reassign
return noThrowOnStrictViolation ? SameValue(O[P], V) : true;
} catch (e) {

@@ -32,0 +47,0 @@ return false;

'use strict';
var trimStart = require('string.prototype.trimleft');
var trimEnd = require('string.prototype.trimright');
var trimStart = require('string.prototype.trimstart');
var trimEnd = require('string.prototype.trimend');

@@ -6,0 +6,0 @@ var GetIntrinsic = require('../GetIntrinsic');

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

// https://www.ecma-international.org/ecma-262/6.0/#sec-tostring
// https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-data-types-and-values

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

@@ -0,1 +1,25 @@

1.17.6 / 2020-06-13
=================
* [Fix] `helpers/getSymbolDescription`: use the global Symbol registry when available (#92)
* [Fix] `ES2015+`: `IsConstructor`: when `Reflect.construct` is available, be spec-accurate (#93)
* [Fix] `ES2015+`: `Set`: Always return boolean value (#101)
* [Fix] `ES2015+`: `Set`: ensure exceptions are thrown in IE 9 when requested
* [Fix] Use `Reflect.apply(…)` if available (#99)
* [Fix] `helpers/floor`: module-cache `Math.floor`
* [Fix] `helpers/getSymbolDescription`: Prefer bound `description` getter when present
* [Fix] `2016`: Use `getIteratorMethod` in `IterableToArrayLike` (#94)
* [Fix] `helpers/OwnPropertyKeys`: Use `Reflect.ownKeys(…)` if available (#91)
* [Fix] `2018+`: Fix `CopyDataProperties` depending on `this` (#95)
* [meta] mark spackled files as autogenerated
* [meta] `Type`: fix spec URL
* [meta] `ES2015`: complete ops list
* [Deps] update `is‑callable`, `is‑regex`
* [Deps] switch from `string.prototype.trimleft`/`string.prototype.trimright` to `string.prototype.trimstart`/`string.prototype.trimend`
* [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `in-publish`, `object-is`, `tape`; add `aud`
* [eslint] `helpers/isPropertyDescriptor`: fix indentation
* [Tests] `helpers/getSymbolDescription`: add test cases; some envs have `Symbol.for` but can not infer a name (#92)
* [Tests] try out CodeQL analysis
* [Tests] reformat expected missing ops
* [Tests] Run tests with `undefined` this (#96)
1.17.5 / 2020-03-22

@@ -2,0 +26,0 @@ =================

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

var $Function = GetIntrinsic('%Function%');
var $apply = $Function.apply;
var $call = $Function.call;
var $apply = GetIntrinsic('%Function.prototype.apply%');
var $call = GetIntrinsic('%Function.prototype.call%');
var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);
module.exports = function callBind() {
return bind.apply($call, arguments);
return $reflectApply(bind, $call, arguments);
};
module.exports.apply = function applyBind() {
return bind.apply($apply, arguments);
return $reflectApply(bind, $apply, arguments);
};

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

var $SyntaxError = GetIntrinsic('%SyntaxError%');
var getGlobalSymbolDescription = GetIntrinsic('%Symbol.keyFor%', true);
var thisSymbolValue = callBound('%Symbol.prototype.valueOf%', true);
var symToStr = callBound('Symbol.prototype.toString', true);

@@ -13,20 +15,29 @@

module.exports = function getSymbolDescription(symbol) {
if (!symToStr) {
/* eslint-disable consistent-return */
module.exports = callBound('%Symbol.prototype.description%', true) || function getSymbolDescription(symbol) {
if (!thisSymbolValue) {
throw new $SyntaxError('Symbols are not supported in this environment');
}
var str = symToStr(symbol); // will throw if not a symbol
// will throw if not a symbol primitive or wrapper object
var sym = thisSymbolValue(symbol);
if (getInferredName) {
var name = getInferredName(symbol);
var name = getInferredName(sym);
if (name === '') { return; }
// eslint-disable-next-line consistent-return
return name.slice(1, -1); // name.slice('['.length, -']'.length);
}
var desc = str.slice(7, -1); // str.slice('Symbol('.length, -')'.length);
var desc;
if (getGlobalSymbolDescription) {
desc = getGlobalSymbolDescription(sym);
if (typeof desc === 'string') {
return desc;
}
}
desc = symToStr(sym).slice(7, -1); // str.slice('Symbol('.length, -')'.length);
if (desc) {
// eslint-disable-next-line consistent-return
return desc;
}
};

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

for (var key in Desc) { // eslint-disable-line
for (var key in Desc) { // eslint-disable-line no-restricted-syntax
if (has(Desc, key) && !allowed[key]) {

@@ -24,0 +24,0 @@ return false;

'use strict';
var $floor = Math.floor;
module.exports = function mod(number, modulo) {
var remain = number % modulo;
return Math.floor(remain >= 0 ? remain : remain + modulo);
return $floor(remain >= 0 ? remain : remain + modulo);
};

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

var $ownKeys = GetIntrinsic('%Reflect.ownKeys%', true);
var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));

@@ -16,3 +17,3 @@ var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);

module.exports = function OwnPropertyKeys(source) {
module.exports = $ownKeys || function OwnPropertyKeys(source) {
var ownKeys = ($gOPN || keys)(source);

@@ -19,0 +20,0 @@ if ($gOPS) {

@@ -6,21 +6,41 @@ 'use strict';

abs: 'https://ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions',
'Abstract Equality Comparison': 'https://ecma-international.org/ecma-262/6.0/#sec-abstract-equality-comparison',
'Abstract Relational Comparison': 'https://ecma-international.org/ecma-262/6.0/#sec-abstract-relational-comparison',
'Strict Equality Comparison': 'https://ecma-international.org/ecma-262/6.0/#sec-strict-equality-comparison',
AddRestrictedFunctionProperties: 'https://ecma-international.org/ecma-262/6.0/#sec-addrestrictedfunctionproperties',
AdvanceStringIndex: 'https://ecma-international.org/ecma-262/6.0/#sec-advancestringindex',
AllocateArrayBuffer: 'https://ecma-international.org/ecma-262/6.0/#sec-allocatearraybuffer',
AllocateTypedArray: 'https://ecma-international.org/ecma-262/6.0/#sec-allocatetypedarray',
ArrayCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-arraycreate',
ArraySetLength: 'https://ecma-international.org/ecma-262/6.0/#sec-arraysetlength',
ArraySpeciesCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate',
BoundFunctionCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-boundfunctioncreate',
Call: 'https://ecma-international.org/ecma-262/6.0/#sec-call',
Canonicalize: 'https://ecma-international.org/ecma-262/6.0/#sec-runtime-semantics-canonicalize-ch',
CanonicalNumericIndexString: 'https://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring',
CharacterRange: 'https://ecma-international.org/ecma-262/6.0/#sec-runtime-semantics-characterrange-abstract-operation',
CharacterSetMatcher: 'https://ecma-international.org/ecma-262/6.0/#sec-runtime-semantics-charactersetmatcher-abstract-operation',
CloneArrayBuffer: 'https://ecma-international.org/ecma-262/6.0/#sec-clonearraybuffer',
CompletePropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor',
Completion: 'https://ecma-international.org/ecma-262/6.0/#sec-implicit-completion-values',
Construct: 'https://ecma-international.org/ecma-262/6.0/#sec-construct',
CopyDataBlockBytes: 'https://ecma-international.org/ecma-262/6.0/#sec-copydatablockbytes',
CreateArrayFromList: 'https://ecma-international.org/ecma-262/6.0/#sec-createarrayfromlist',
CreateBuiltinFunction: 'https://ecma-international.org/ecma-262/6.0/#sec-createbuiltinfunction',
CreateByteDataBlock: 'https://ecma-international.org/ecma-262/6.0/#sec-createbytedatablock',
CreateDataProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-createdataproperty',
CreateDataPropertyOrThrow: 'https://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow',
CreateDynamicFunction: 'https://ecma-international.org/ecma-262/6.0/#sec-createdynamicfunction',
CreateHTML: 'https://ecma-international.org/ecma-262/6.0/#sec-createhtml',
CreateIntrinsics: 'https://ecma-international.org/ecma-262/6.0/#sec-createintrinsics',
CreateIterResultObject: 'https://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject',
CreateListFromArrayLike: 'https://ecma-international.org/ecma-262/6.0/#sec-createlistfromarraylike',
CreateListIterator: 'https://ecma-international.org/ecma-262/6.0/#sec-createlistiterator',
CreateMapIterator: 'https://ecma-international.org/ecma-262/6.0/#sec-createmapiterator',
CreateMappedArgumentsObject: 'https://ecma-international.org/ecma-262/6.0/#sec-createmappedargumentsobject',
CreateMethodProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-createmethodproperty',
CreatePerIterationEnvironment: 'https://ecma-international.org/ecma-262/6.0/#sec-createperiterationenvironment',
CreateRealm: 'https://ecma-international.org/ecma-262/6.0/#sec-createrealm',
CreateSetIterator: 'https://ecma-international.org/ecma-262/6.0/#sec-createsetiterator',
CreateUnmappedArgumentsObject: 'https://ecma-international.org/ecma-262/6.0/#sec-createunmappedargumentsobject',
DateFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-date-number',

@@ -31,31 +51,87 @@ Day: 'https://ecma-international.org/ecma-262/6.0/#sec-day-number-and-time-within-day',

DayWithinYear: 'https://ecma-international.org/ecma-262/6.0/#sec-month-number',
Decode: 'https://ecma-international.org/ecma-262/6.0/#sec-decode',
DefinePropertyOrThrow: 'https://ecma-international.org/ecma-262/6.0/#sec-definepropertyorthrow',
DeletePropertyOrThrow: 'https://ecma-international.org/ecma-262/6.0/#sec-deletepropertyorthrow',
DetachArrayBuffer: 'https://ecma-international.org/ecma-262/6.0/#sec-detacharraybuffer',
Encode: 'https://ecma-international.org/ecma-262/6.0/#sec-encode',
EnqueueJob: 'https://ecma-international.org/ecma-262/6.0/#sec-enqueuejob',
EnumerableOwnNames: 'https://ecma-international.org/ecma-262/6.0/#sec-enumerableownnames',
EscapeRegExpPattern: 'https://ecma-international.org/ecma-262/6.0/#sec-escaperegexppattern',
EvalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/6.0/#sec-evaldeclarationinstantiation',
EvaluateCall: 'https://ecma-international.org/ecma-262/6.0/#sec-evaluatecall',
EvaluateDirectCall: 'https://ecma-international.org/ecma-262/6.0/#sec-evaluatedirectcall',
EvaluateNew: 'https://ecma-international.org/ecma-262/6.0/#sec-evaluatenew',
floor: 'https://ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions',
ForBodyEvaluation: 'https://ecma-international.org/ecma-262/6.0/#sec-forbodyevaluation',
'ForIn/OfBodyEvaluation': 'https://ecma-international.org/ecma-262/6.0/#sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset',
'ForIn/OfHeadEvaluation': 'https://ecma-international.org/ecma-262/6.0/#sec-runtime-semantics-forin-div-ofheadevaluation-tdznames-expr-iterationkind',
FromPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-frompropertydescriptor',
FulfillPromise: 'https://ecma-international.org/ecma-262/6.0/#sec-fulfillpromise',
FunctionAllocate: 'https://ecma-international.org/ecma-262/6.0/#sec-functionallocate',
FunctionCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-functioncreate',
FunctionInitialize: 'https://ecma-international.org/ecma-262/6.0/#sec-functioninitialize',
GeneratorFunctionCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-generatorfunctioncreate',
GeneratorResume: 'https://ecma-international.org/ecma-262/6.0/#sec-generatorresume',
GeneratorResumeAbrupt: 'https://ecma-international.org/ecma-262/6.0/#sec-generatorresumeabrupt',
GeneratorStart: 'https://ecma-international.org/ecma-262/6.0/#sec-generatorstart',
GeneratorValidate: 'https://ecma-international.org/ecma-262/6.0/#sec-generatorvalidate',
GeneratorYield: 'https://ecma-international.org/ecma-262/6.0/#sec-generatoryield',
Get: 'https://ecma-international.org/ecma-262/6.0/#sec-get-o-p',
GetBase: 'https://ecma-international.org/ecma-262/6.0/#sec-jobs-and-job-queues',
GetFunctionRealm: 'https://ecma-international.org/ecma-262/6.0/#sec-getfunctionrealm',
GetGlobalObject: 'https://ecma-international.org/ecma-262/6.0/#sec-getglobalobject',
GetIdentifierReference: 'https://ecma-international.org/ecma-262/6.0/#sec-getidentifierreference',
GetIterator: 'https://ecma-international.org/ecma-262/6.0/#sec-getiterator',
GetMethod: 'https://ecma-international.org/ecma-262/6.0/#sec-getmethod',
GetModuleNamespace: 'https://ecma-international.org/ecma-262/6.0/#sec-getmodulenamespace',
GetNewTarget: 'https://ecma-international.org/ecma-262/6.0/#sec-getnewtarget',
GetOwnPropertyKeys: 'https://ecma-international.org/ecma-262/6.0/#sec-getownpropertykeys',
GetPrototypeFromConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-getprototypefromconstructor',
GetReferencedName: 'https://ecma-international.org/ecma-262/6.0/#sec-jobs-and-job-queues',
GetSubstitution: 'https://ecma-international.org/ecma-262/6.0/#sec-getsubstitution',
GetSuperConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-getsuperconstructor',
GetTemplateObject: 'https://ecma-international.org/ecma-262/6.0/#sec-gettemplateobject',
GetThisEnvironment: 'https://ecma-international.org/ecma-262/6.0/#sec-getthisenvironment',
GetThisValue: 'https://ecma-international.org/ecma-262/6.0/#sec-getthisvalue',
GetV: 'https://ecma-international.org/ecma-262/6.0/#sec-getv',
GetValue: 'https://ecma-international.org/ecma-262/6.0/#sec-getvalue',
GetValueFromBuffer: 'https://ecma-international.org/ecma-262/6.0/#sec-getvaluefrombuffer',
GetViewValue: 'https://ecma-international.org/ecma-262/6.0/#sec-getviewvalue',
HasOwnProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-hasownproperty',
HasPrimitiveBase: 'https://ecma-international.org/ecma-262/6.0/#sec-jobs-and-job-queues',
HasProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-hasproperty',
HostResolveImportedModule: 'sec-hostresolveimportedmodule',
HourFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-hours-minutes-second-and-milliseconds',
ImportedLocalNames: 'https://ecma-international.org/ecma-262/6.0/#sec-importedlocalnames',
InitializeHostDefinedRealm: 'https://ecma-international.org/ecma-262/6.0/#sec-initializehostdefinedrealm',
InitializeReferencedBinding: 'https://ecma-international.org/ecma-262/6.0/#sec-initializereferencedbinding',
InLeapYear: 'https://ecma-international.org/ecma-262/6.0/#sec-year-number',
InstanceofOperator: 'https://ecma-international.org/ecma-262/6.0/#sec-instanceofoperator',
IntegerIndexedElementGet: 'https://ecma-international.org/ecma-262/6.0/#sec-integerindexedelementget',
IntegerIndexedElementSet: 'https://ecma-international.org/ecma-262/6.0/#sec-integerindexedelementset',
IntegerIndexedObjectCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-integerindexedobjectcreate',
InternalizeJSONProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-internalizejsonproperty',
Invoke: 'https://ecma-international.org/ecma-262/6.0/#sec-invoke',
IsAccessorDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-isaccessordescriptor',
IsAnonymousFunctionDefinition: 'https://ecma-international.org/ecma-262/6.0/#sec-isanonymousfunctiondefinition',
IsArray: 'https://ecma-international.org/ecma-262/6.0/#sec-isarray',
IsCallable: 'https://ecma-international.org/ecma-262/6.0/#sec-iscallable',
IsCompatiblePropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-iscompatiblepropertydescriptor',
IsConcatSpreadable: 'https://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable',
IsConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-isconstructor',
IsDataDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-isdatadescriptor',
IsDetachedBuffer: 'https://ecma-international.org/ecma-262/6.0/#sec-isdetachedbuffer',
IsExtensible: 'https://ecma-international.org/ecma-262/6.0/#sec-isextensible-o',
IsGenericDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-isgenericdescriptor',
IsInTailPosition: 'https://ecma-international.org/ecma-262/6.0/#sec-isintailposition',
IsInteger: 'https://ecma-international.org/ecma-262/6.0/#sec-isinteger',
IsLabelledFunction: 'https://ecma-international.org/ecma-262/6.0/#sec-islabelledfunction',
IsPromise: 'https://ecma-international.org/ecma-262/6.0/#sec-ispromise',
IsPropertyKey: 'https://ecma-international.org/ecma-262/6.0/#sec-ispropertykey',
IsPropertyReference: 'https://ecma-international.org/ecma-262/6.0/#sec-jobs-and-job-queues',
IsRegExp: 'https://ecma-international.org/ecma-262/6.0/#sec-isregexp',
IsStrictReference: 'https://ecma-international.org/ecma-262/6.0/#sec-jobs-and-job-queues',
IsSuperReference: 'https://ecma-international.org/ecma-262/6.0/#sec-jobs-and-job-queues',
IsUnresolvableReference: 'https://ecma-international.org/ecma-262/6.0/#sec-jobs-and-job-queues',
IsWordChar: 'https://ecma-international.org/ecma-262/6.0/#sec-runtime-semantics-iswordchar-abstract-operation',
IteratorClose: 'https://ecma-international.org/ecma-262/6.0/#sec-iteratorclose',

@@ -66,11 +142,33 @@ IteratorComplete: 'https://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete',

IteratorValue: 'https://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue',
LocalTime: 'https://ecma-international.org/ecma-262/6.0/#sec-localtime',
LoopContinues: 'https://ecma-international.org/ecma-262/6.0/#sec-loopcontinues',
MakeArgGetter: 'https://ecma-international.org/ecma-262/6.0/#sec-makearggetter',
MakeArgSetter: 'https://ecma-international.org/ecma-262/6.0/#sec-makeargsetter',
MakeClassConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-makeclassconstructor',
MakeConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-makeconstructor',
MakeDate: 'https://ecma-international.org/ecma-262/6.0/#sec-makedate',
MakeDay: 'https://ecma-international.org/ecma-262/6.0/#sec-makeday',
MakeMethod: 'https://ecma-international.org/ecma-262/6.0/#sec-makemethod',
MakeSuperPropertyReference: 'https://ecma-international.org/ecma-262/6.0/#sec-makesuperpropertyreference',
MakeTime: 'https://ecma-international.org/ecma-262/6.0/#sec-maketime',
max: 'https://ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions',
min: 'https://ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions',
MinFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-hours-minutes-second-and-milliseconds',
ModuleNamespaceCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-modulenamespacecreate',
modulo: 'https://ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions',
MonthFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-month-number',
msFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-hours-minutes-second-and-milliseconds',
msPerDay: 'https://ecma-international.org/ecma-262/6.0/#sec-day-number-and-time-within-day',
NewDeclarativeEnvironment: 'https://ecma-international.org/ecma-262/6.0/#sec-newdeclarativeenvironment',
NewFunctionEnvironment: 'https://ecma-international.org/ecma-262/6.0/#sec-newfunctionenvironment',
NewGlobalEnvironment: 'https://ecma-international.org/ecma-262/6.0/#sec-newglobalenvironment',
NewModuleEnvironment: 'https://ecma-international.org/ecma-262/6.0/#sec-newmoduleenvironment',
NewObjectEnvironment: 'https://ecma-international.org/ecma-262/6.0/#sec-newobjectenvironment',
NewPromiseCapability: 'https://ecma-international.org/ecma-262/6.0/#sec-newpromisecapability',
NormalCompletion: 'https://ecma-international.org/ecma-262/6.0/#sec-normalcompletion',
ObjectCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-objectcreate',
ObjectDefineProperties: 'https://ecma-international.org/ecma-262/6.0/#sec-objectdefineproperties',
OrdinaryCallBindThis: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinarycallbindthis',
OrdinaryCallEvaluateBody: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinarycallevaluatebody',
OrdinaryCreateFromConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinarycreatefromconstructor',
OrdinaryDefineOwnProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinarydefineownproperty',

@@ -80,12 +178,42 @@ OrdinaryGetOwnProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinarygetownproperty',

OrdinaryHasProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinaryhasproperty',
ParseModule: 'https://ecma-international.org/ecma-262/6.0/#sec-parsemodule',
PerformEval: 'https://ecma-international.org/ecma-262/6.0/#sec-performeval',
PerformPromiseAll: 'https://ecma-international.org/ecma-262/6.0/#sec-performpromiseall',
PerformPromiseRace: 'https://ecma-international.org/ecma-262/6.0/#sec-performpromiserace',
PerformPromiseThen: 'https://ecma-international.org/ecma-262/6.0/#sec-performpromisethen',
PrepareForOrdinaryCall: 'https://ecma-international.org/ecma-262/6.0/#sec-prepareforordinarycall',
PrepareForTailCall: 'https://ecma-international.org/ecma-262/6.0/#sec-preparefortailcall',
ProxyCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-proxycreate',
PutValue: 'https://ecma-international.org/ecma-262/6.0/#sec-putvalue',
QuoteJSONString: 'https://ecma-international.org/ecma-262/6.0/#sec-quotejsonstring',
RegExpAlloc: 'https://ecma-international.org/ecma-262/6.0/#sec-regexpalloc',
RegExpBuiltinExec: 'https://ecma-international.org/ecma-262/6.0/#sec-regexpbuiltinexec',
RegExpCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-regexpcreate',
RegExpExec: 'https://ecma-international.org/ecma-262/6.0/#sec-regexpexec',
RegExpInitialize: 'https://ecma-international.org/ecma-262/6.0/#sec-regexpinitialize',
RejectPromise: 'https://ecma-international.org/ecma-262/6.0/#sec-rejectpromise',
RepeatMatcher: 'https://ecma-international.org/ecma-262/6.0/#sec-runtime-semantics-repeatmatcher-abstract-operation',
RequireObjectCoercible: 'https://ecma-international.org/ecma-262/6.0/#sec-requireobjectcoercible',
ResolveBinding: 'https://ecma-international.org/ecma-262/6.0/#sec-resolvebinding',
ResolveThisBinding: 'https://ecma-international.org/ecma-262/6.0/#sec-resolvethisbinding',
SameValue: 'https://ecma-international.org/ecma-262/6.0/#sec-samevalue',
SameValueZero: 'https://ecma-international.org/ecma-262/6.0/#sec-samevaluezero',
SecFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-hours-minutes-second-and-milliseconds',
SerializeJSONArray: 'https://ecma-international.org/ecma-262/6.0/#sec-serializejsonarray',
SerializeJSONObject: 'https://ecma-international.org/ecma-262/6.0/#sec-serializejsonobject',
SerializeJSONProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-serializejsonproperty',
Set: 'https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw',
SetDefaultGlobalBindings: 'https://ecma-international.org/ecma-262/6.0/#sec-setdefaultglobalbindings',
SetFunctionName: 'https://ecma-international.org/ecma-262/6.0/#sec-setfunctionname',
SetIntegrityLevel: 'https://ecma-international.org/ecma-262/6.0/#sec-setintegritylevel',
SetRealmGlobalObject: 'https://ecma-international.org/ecma-262/6.0/#sec-setrealmglobalobject',
SetValueInBuffer: 'https://ecma-international.org/ecma-262/6.0/#sec-setvalueinbuffer',
SetViewValue: 'https://ecma-international.org/ecma-262/6.0/#sec-setviewvalue',
sign: 'https://ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions',
SortCompare: 'https://ecma-international.org/ecma-262/6.0/#sec-sortcompare',
SpeciesConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor',
SplitMatch: 'https://ecma-international.org/ecma-262/6.0/#sec-splitmatch',
'Strict Equality Comparison': 'https://ecma-international.org/ecma-262/6.0/#sec-strict-equality-comparison',
StringCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-stringcreate',
StringGetIndexProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-stringgetindexproperty',
SymbolDescriptiveString: 'https://ecma-international.org/ecma-262/6.0/#sec-symboldescriptivestring',

@@ -117,3 +245,7 @@ TestIntegrityLevel: 'https://ecma-international.org/ecma-262/6.0/#sec-testintegritylevel',

ToUint8Clamp: 'https://ecma-international.org/ecma-262/6.0/#sec-touint8clamp',
Type: 'https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types',
TriggerPromiseReactions: 'https://ecma-international.org/ecma-262/6.0/#sec-triggerpromisereactions',
Type: 'https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-data-types-and-values',
TypedArrayFrom: 'https://ecma-international.org/ecma-262/6.0/#sec-typedarrayfrom',
UpdateEmpty: 'https://ecma-international.org/ecma-262/6.0/#sec-updateempty',
UTC: 'https://ecma-international.org/ecma-262/6.0/#sec-utc-t',
ValidateAndApplyPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-validateandapplypropertydescriptor',

@@ -120,0 +252,0 @@ WeekDay: 'https://ecma-international.org/ecma-262/6.0/#sec-week-day',

{
"name": "es-abstract",
"version": "1.17.5",
"version": "1.17.6",
"author": {

@@ -29,3 +29,3 @@ "name": "Jordan Harband",

"test": "npm run tests-only",
"posttest": "npx aud --production",
"posttest": "aud --production",
"tests-only": "node test",

@@ -57,27 +57,28 @@ "coverage": "nyc npm run tests-only >/dev/null",

"has-symbols": "^1.0.1",
"is-callable": "^1.1.5",
"is-regex": "^1.0.5",
"is-callable": "^1.2.0",
"is-regex": "^1.1.0",
"object-inspect": "^1.7.0",
"object-keys": "^1.1.1",
"object.assign": "^4.1.0",
"string.prototype.trimleft": "^2.1.1",
"string.prototype.trimright": "^2.1.1"
"string.prototype.trimend": "^1.0.1",
"string.prototype.trimstart": "^1.0.1"
},
"devDependencies": {
"@ljharb/eslint-config": "^16.0.0",
"@ljharb/eslint-config": "^17.1.0",
"array.prototype.indexof": "^1.0.0",
"aud": "^1.1.2",
"cheerio": "^1.0.0-rc.3",
"diff": "^4.0.2",
"eclint": "^2.8.1",
"eslint": "^6.8.0",
"eslint": "^7.2.0",
"foreach": "^2.0.5",
"functions-have-names": "^1.2.1",
"has-strict-mode": "^1.0.0",
"in-publish": "^2.0.0",
"in-publish": "^2.0.1",
"make-arrow-function": "^1.2.0",
"nyc": "^10.3.2",
"object-is": "^1.0.2",
"object-is": "^1.1.2",
"object.fromentries": "^2.0.2",
"safe-publish-latest": "^1.1.4",
"tape": "^5.0.0-next.5"
"tape": "^5.0.1"
},

@@ -84,0 +85,0 @@ "testling": {

'use strict';
var ES = require('../').ES2015;
var boundES = require('./helpers/createBoundESNamespace')(ES);
var ops = require('../operations/2015');
var expectedMissing = ['Construct', 'CreateArrayFromList', 'CreateListIterator', 'NormalCompletion', 'RegExpBuiltinExec'];
var expectedMissing = [
'abs',
'AddRestrictedFunctionProperties',
'AllocateArrayBuffer',
'AllocateTypedArray',
'BoundFunctionCreate',
'Canonicalize',
'CharacterRange',
'CharacterSetMatcher',
'CloneArrayBuffer',
'Completion',
'Construct',
'CopyDataBlockBytes',
'CreateArrayFromList',
'CreateBuiltinFunction',
'CreateByteDataBlock',
'CreateDynamicFunction',
'CreateIntrinsics',
'CreateListIterator',
'CreateMapIterator',
'CreateMappedArgumentsObject',
'CreatePerIterationEnvironment',
'CreateRealm',
'CreateSetIterator',
'CreateUnmappedArgumentsObject',
'Decode',
'DetachArrayBuffer',
'Encode',
'EnqueueJob',
'EscapeRegExpPattern',
'EvalDeclarationInstantiation',
'EvaluateCall',
'EvaluateDirectCall',
'EvaluateNew',
'floor',
'ForBodyEvaluation',
'ForIn/OfBodyEvaluation',
'ForIn/OfHeadEvaluation',
'FulfillPromise',
'FunctionAllocate',
'FunctionCreate',
'FunctionInitialize',
'GeneratorFunctionCreate',
'GeneratorResume',
'GeneratorResumeAbrupt',
'GeneratorStart',
'GeneratorValidate',
'GeneratorYield',
'GetBase',
'GetFunctionRealm',
'GetGlobalObject',
'GetIdentifierReference',
'GetModuleNamespace',
'GetNewTarget',
'GetReferencedName',
'GetSuperConstructor',
'GetTemplateObject',
'GetThisEnvironment',
'GetThisValue',
'GetValue',
'GetValueFromBuffer',
'GetViewValue',
'HasPrimitiveBase',
'HostResolveImportedModule',
'ImportedLocalNames',
'InitializeHostDefinedRealm',
'InitializeReferencedBinding',
'IntegerIndexedElementGet',
'IntegerIndexedElementSet',
'IntegerIndexedObjectCreate',
'InternalizeJSONProperty',
'IsAnonymousFunctionDefinition',
'IsCompatiblePropertyDescriptor',
'IsDetachedBuffer',
'IsInTailPosition',
'IsLabelledFunction',
'IsPropertyReference',
'IsStrictReference',
'IsSuperReference',
'IsUnresolvableReference',
'IsWordChar',
'LocalTime',
'LoopContinues',
'MakeArgGetter',
'MakeArgSetter',
'MakeClassConstructor',
'MakeConstructor',
'MakeMethod',
'MakeSuperPropertyReference',
'max',
'min',
'ModuleNamespaceCreate',
'msPerDay',
'NewDeclarativeEnvironment',
'NewFunctionEnvironment',
'NewGlobalEnvironment',
'NewModuleEnvironment',
'NewObjectEnvironment',
'NewPromiseCapability',
'NormalCompletion',
'ObjectDefineProperties',
'OrdinaryCallBindThis',
'OrdinaryCallEvaluateBody',
'OrdinaryCreateFromConstructor',
'ParseModule',
'PerformEval',
'PerformPromiseAll',
'PerformPromiseRace',
'PerformPromiseThen',
'PrepareForOrdinaryCall',
'PrepareForTailCall',
'ProxyCreate',
'PutValue',
'QuoteJSONString',
'RegExpAlloc',
'RegExpBuiltinExec',
'RegExpCreate',
'RegExpInitialize',
'RejectPromise',
'RepeatMatcher',
'ResolveBinding',
'ResolveThisBinding',
'SerializeJSONArray',
'SerializeJSONObject',
'SerializeJSONProperty',
'SetDefaultGlobalBindings',
'SetRealmGlobalObject',
'SetValueInBuffer',
'SetViewValue',
'sign',
'SortCompare',
'SplitMatch',
'StringCreate',
'StringGetIndexProperty',
'TriggerPromiseReactions',
'TypedArrayFrom',
'UpdateEmpty',
'UTC'
];
require('./tests').es2015(ES, ops, expectedMissing);
require('./tests').es2015(boundES, ops, expectedMissing);
require('./helpers/runManifestTest')(require('tape'), ES, 2015);
'use strict';
var ES = require('../').ES2016;
var boundES = require('./helpers/createBoundESNamespace')(ES);
var ops = require('../operations/2016');
var expectedMissing = ['AddRestrictedFunctionProperties', 'AllocateArrayBuffer', 'AllocateTypedArray', 'AllocateTypedArrayBuffer', 'BlockDeclarationInstantiation', 'BoundFunctionCreate', 'Canonicalize', 'CharacterRange', 'CharacterRangeOrUnion', 'CharacterSetMatcher', 'CloneArrayBuffer', 'Completion', 'Construct', 'CopyDataBlockBytes', 'CreateArrayFromList', 'CreateArrayIterator', 'CreateBuiltinFunction', 'CreateByteDataBlock', 'CreateDynamicFunction', 'CreateIntrinsics', 'CreateListIterator', 'CreateMapIterator', 'CreateMappedArgumentsObject', 'CreatePerIterationEnvironment', 'CreateRealm', 'CreateResolvingFunctions', 'CreateSetIterator', 'CreateStringIterator', 'CreateUnmappedArgumentsObject', 'Decode', 'DetachArrayBuffer', 'Encode', 'EnqueueJob', 'EnumerateObjectProperties', 'EscapeRegExpPattern', 'EvalDeclarationInstantiation', 'EvaluateCall', 'EvaluateDirectCall', 'EvaluateNew', 'ForBodyEvaluation', 'ForIn/OfBodyEvaluation', 'ForIn/OfHeadEvaluation', 'FulfillPromise', 'FunctionAllocate', 'FunctionCreate', 'FunctionDeclarationInstantiation', 'FunctionInitialize', 'GeneratorFunctionCreate', 'GeneratorResume', 'GeneratorResumeAbrupt', 'GeneratorStart', 'GeneratorValidate', 'GeneratorYield', 'GetActiveScriptOrModule', 'GetFunctionRealm', 'GetGlobalObject', 'GetIdentifierReference', 'GetModuleNamespace', 'GetNewTarget', 'GetSuperConstructor', 'GetTemplateObject', 'GetThisEnvironment', 'GetThisValue', 'GetValue', 'GetValueFromBuffer', 'GetViewValue', 'GlobalDeclarationInstantiation', 'HostPromiseRejectionTracker', 'HostReportErrors', 'HostResolveImportedModule', 'IfAbruptRejectPromise', 'ImportedLocalNames', 'InitializeBoundName', 'InitializeHostDefinedRealm', 'InitializeReferencedBinding', 'IntegerIndexedElementGet', 'IntegerIndexedElementSet', 'IntegerIndexedObjectCreate', 'InternalizeJSONProperty', 'IsAnonymousFunctionDefinition', 'IsCompatiblePropertyDescriptor', 'IsDetachedBuffer', 'IsInTailPosition', 'IsLabelledFunction', 'IsWordChar', 'LocalTime', 'LoopContinues', 'MakeArgGetter', 'MakeArgSetter', 'MakeClassConstructor', 'MakeConstructor', 'MakeMethod', 'MakeSuperPropertyReference', 'ModuleNamespaceCreate', 'NewDeclarativeEnvironment', 'NewFunctionEnvironment', 'NewGlobalEnvironment', 'NewModuleEnvironment', 'NewObjectEnvironment', 'NewPromiseCapability', 'NextJob', 'NormalCompletion', 'ObjectDefineProperties', 'OrdinaryCallBindThis', 'OrdinaryCallEvaluateBody', 'OrdinaryCreateFromConstructor', 'OrdinaryDelete', 'OrdinaryGet', 'OrdinaryIsExtensible', 'OrdinaryOwnPropertyKeys', 'OrdinaryPreventExtensions', 'OrdinarySet', 'ParseModule', 'ParseScript', 'PerformEval', 'PerformPromiseAll', 'PerformPromiseRace', 'PerformPromiseThen', 'PrepareForOrdinaryCall', 'PrepareForTailCall', 'PromiseReactionJob', 'PromiseResolveThenableJob', 'ProxyCreate', 'PutValue', 'QuoteJSONString', 'RegExpAlloc', 'RegExpBuiltinExec', 'RegExpCreate', 'RegExpInitialize', 'RejectPromise', 'RepeatMatcher', 'ResolveBinding', 'ResolveThisBinding', 'ReturnIfAbrupt', 'ScriptEvaluation', 'ScriptEvaluationJob', 'SerializeJSONArray', 'SerializeJSONObject', 'SerializeJSONProperty', 'SetDefaultGlobalBindings', 'SetRealmGlobalObject', 'SetValueInBuffer', 'SetViewValue', 'SortCompare', 'SplitMatch', 'StringCreate', 'ToString Applied to the Number Type', 'TopLevelModuleEvaluationJob', 'TriggerPromiseReactions', 'TypedArrayCreate', 'TypedArraySpeciesCreate', 'UTC', 'UTF16Decode', 'UTF16Encoding', 'UpdateEmpty', 'ValidateTypedArray', 'abs', 'floor', 'max', 'min'];
var expectedMissing = [
'abs',
'AddRestrictedFunctionProperties',
'AllocateArrayBuffer',
'AllocateTypedArray',
'AllocateTypedArrayBuffer',
'BlockDeclarationInstantiation',
'BoundFunctionCreate',
'Canonicalize',
'CharacterRange',
'CharacterRangeOrUnion',
'CharacterSetMatcher',
'CloneArrayBuffer',
'Completion',
'Construct',
'CopyDataBlockBytes',
'CreateArrayFromList',
'CreateArrayIterator',
'CreateBuiltinFunction',
'CreateByteDataBlock',
'CreateDynamicFunction',
'CreateIntrinsics',
'CreateListIterator',
'CreateMapIterator',
'CreateMappedArgumentsObject',
'CreatePerIterationEnvironment',
'CreateRealm',
'CreateResolvingFunctions',
'CreateSetIterator',
'CreateStringIterator',
'CreateUnmappedArgumentsObject',
'Decode',
'DetachArrayBuffer',
'Encode',
'EnqueueJob',
'EnumerateObjectProperties',
'EscapeRegExpPattern',
'EvalDeclarationInstantiation',
'EvaluateCall',
'EvaluateDirectCall',
'EvaluateNew',
'floor',
'ForBodyEvaluation',
'ForIn/OfBodyEvaluation',
'ForIn/OfHeadEvaluation',
'FulfillPromise',
'FunctionAllocate',
'FunctionCreate',
'FunctionDeclarationInstantiation',
'FunctionInitialize',
'GeneratorFunctionCreate',
'GeneratorResume',
'GeneratorResumeAbrupt',
'GeneratorStart',
'GeneratorValidate',
'GeneratorYield',
'GetActiveScriptOrModule',
'GetFunctionRealm',
'GetGlobalObject',
'GetIdentifierReference',
'GetModuleNamespace',
'GetNewTarget',
'GetSuperConstructor',
'GetTemplateObject',
'GetThisEnvironment',
'GetThisValue',
'GetValue',
'GetValueFromBuffer',
'GetViewValue',
'GlobalDeclarationInstantiation',
'HostPromiseRejectionTracker',
'HostReportErrors',
'HostResolveImportedModule',
'IfAbruptRejectPromise',
'ImportedLocalNames',
'InitializeBoundName',
'InitializeHostDefinedRealm',
'InitializeReferencedBinding',
'IntegerIndexedElementGet',
'IntegerIndexedElementSet',
'IntegerIndexedObjectCreate',
'InternalizeJSONProperty',
'IsAnonymousFunctionDefinition',
'IsCompatiblePropertyDescriptor',
'IsDetachedBuffer',
'IsInTailPosition',
'IsLabelledFunction',
'IsWordChar',
'LocalTime',
'LoopContinues',
'MakeArgGetter',
'MakeArgSetter',
'MakeClassConstructor',
'MakeConstructor',
'MakeMethod',
'MakeSuperPropertyReference',
'max',
'min',
'ModuleNamespaceCreate',
'NewDeclarativeEnvironment',
'NewFunctionEnvironment',
'NewGlobalEnvironment',
'NewModuleEnvironment',
'NewObjectEnvironment',
'NewPromiseCapability',
'NextJob',
'NormalCompletion',
'ObjectDefineProperties',
'OrdinaryCallBindThis',
'OrdinaryCallEvaluateBody',
'OrdinaryCreateFromConstructor',
'OrdinaryDelete',
'OrdinaryGet',
'OrdinaryIsExtensible',
'OrdinaryOwnPropertyKeys',
'OrdinaryPreventExtensions',
'OrdinarySet',
'ParseModule',
'ParseScript',
'PerformEval',
'PerformPromiseAll',
'PerformPromiseRace',
'PerformPromiseThen',
'PrepareForOrdinaryCall',
'PrepareForTailCall',
'PromiseReactionJob',
'PromiseResolveThenableJob',
'ProxyCreate',
'PutValue',
'QuoteJSONString',
'RegExpAlloc',
'RegExpBuiltinExec',
'RegExpCreate',
'RegExpInitialize',
'RejectPromise',
'RepeatMatcher',
'ResolveBinding',
'ResolveThisBinding',
'ReturnIfAbrupt',
'ScriptEvaluation',
'ScriptEvaluationJob',
'SerializeJSONArray',
'SerializeJSONObject',
'SerializeJSONProperty',
'SetDefaultGlobalBindings',
'SetRealmGlobalObject',
'SetValueInBuffer',
'SetViewValue',
'SortCompare',
'SplitMatch',
'StringCreate',
'TopLevelModuleEvaluationJob',
'ToString Applied to the Number Type',
'TriggerPromiseReactions',
'TypedArrayCreate',
'TypedArraySpeciesCreate',
'UpdateEmpty',
'UTC',
'UTF16Decode',
'UTF16Encoding',
'ValidateTypedArray'
];
require('./tests').es2016(ES, ops, expectedMissing);
require('./tests').es2016(boundES, ops, expectedMissing);
require('./helpers/runManifestTest')(require('tape'), ES, 2016);
'use strict';
var ES = require('../').ES2017;
var boundES = require('./helpers/createBoundESNamespace')(ES);
var ops = require('../operations/2017');
var expectedMissing = ['AddRestrictedFunctionProperties', 'AddWaiter', 'AgentCanSuspend', 'AgentSignifier', 'AllocateArrayBuffer', 'AllocateSharedArrayBuffer', 'AllocateTypedArray', 'AllocateTypedArrayBuffer', 'AsyncFunctionAwait', 'AsyncFunctionCreate', 'AsyncFunctionStart', 'AtomicLoad', 'AtomicReadModifyWrite', 'BlockDeclarationInstantiation', 'BoundFunctionCreate', 'Canonicalize', 'CharacterRange', 'CharacterRangeOrUnion', 'CharacterSetMatcher', 'CloneArrayBuffer', 'Completion', 'ComposeWriteEventBytes', 'Construct', 'CopyDataBlockBytes', 'CreateArrayFromList', 'CreateArrayIterator', 'CreateBuiltinFunction', 'CreateByteDataBlock', 'CreateDynamicFunction', 'CreateIntrinsics', 'CreateListIterator', 'CreateMapIterator', 'CreateMappedArgumentsObject', 'CreatePerIterationEnvironment', 'CreateRealm', 'CreateResolvingFunctions', 'CreateSetIterator', 'CreateSharedByteDataBlock', 'CreateStringIterator', 'CreateUnmappedArgumentsObject', 'Decode', 'DetachArrayBuffer', 'Encode', 'EnqueueJob', 'EnterCriticalSection', 'EnumerateObjectProperties', 'EscapeRegExpPattern', 'EvalDeclarationInstantiation', 'EvaluateCall', 'EvaluateDirectCall', 'EvaluateNew', 'EventSet', 'ForBodyEvaluation', 'ForIn/OfBodyEvaluation', 'ForIn/OfHeadEvaluation', 'FulfillPromise', 'FunctionAllocate', 'FunctionCreate', 'FunctionDeclarationInstantiation', 'FunctionInitialize', 'GeneratorFunctionCreate', 'GeneratorResume', 'GeneratorResumeAbrupt', 'GeneratorStart', 'GeneratorValidate', 'GeneratorYield', 'GetActiveScriptOrModule', 'GetBase', 'GetFunctionRealm', 'GetGlobalObject', 'GetIdentifierReference', 'GetModifySetValueInBuffer', 'GetModuleNamespace', 'GetNewTarget', 'GetReferencedName', 'GetSuperConstructor', 'GetTemplateObject', 'GetThisEnvironment', 'GetThisValue', 'GetValue', 'GetValueFromBuffer', 'GetViewValue', 'GetWaiterList', 'GlobalDeclarationInstantiation', 'HasPrimitiveBase', 'HostEnsureCanCompileStrings', 'HostEventSet', 'HostPromiseRejectionTracker', 'HostReportErrors', 'HostResolveImportedModule', 'IfAbruptRejectPromise', 'ImportedLocalNames', 'InitializeBoundName', 'InitializeHostDefinedRealm', 'InitializeReferencedBinding', 'IntegerIndexedElementGet', 'IntegerIndexedElementSet', 'IntegerIndexedObjectCreate', 'InternalizeJSONProperty', 'IsAnonymousFunctionDefinition', 'IsCompatiblePropertyDescriptor', 'IsDetachedBuffer', 'IsInTailPosition', 'IsLabelledFunction', 'IsPropertyReference', 'IsSharedArrayBuffer', 'IsStrictReference', 'IsSuperReference', 'IsUnresolvableReference', 'IsWordChar', 'LeaveCriticalSection', 'LocalTime', 'LoopContinues', 'MakeArgGetter', 'MakeArgSetter', 'MakeClassConstructor', 'MakeConstructor', 'MakeMethod', 'MakeSuperPropertyReference', 'ModuleNamespaceCreate', 'NewDeclarativeEnvironment', 'NewFunctionEnvironment', 'NewGlobalEnvironment', 'NewModuleEnvironment', 'NewObjectEnvironment', 'NewPromiseCapability', 'NormalCompletion', 'NumberToRawBytes', 'ObjectDefineProperties', 'OrdinaryCallBindThis', 'OrdinaryCallEvaluateBody', 'OrdinaryCreateFromConstructor', 'OrdinaryDelete', 'OrdinaryGet', 'OrdinaryIsExtensible', 'OrdinaryOwnPropertyKeys', 'OrdinaryPreventExtensions', 'OrdinarySet', 'OrdinaryToPrimitive', 'ParseModule', 'ParseScript', 'PerformEval', 'PerformPromiseAll', 'PerformPromiseRace', 'PerformPromiseThen', 'PrepareForOrdinaryCall', 'PrepareForTailCall', 'PromiseReactionJob', 'PromiseResolveThenableJob', 'ProxyCreate', 'PutValue', 'QuoteJSONString', 'RawBytesToNumber', 'RegExpAlloc', 'RegExpBuiltinExec', 'RegExpCreate', 'RegExpInitialize', 'RejectPromise', 'RemoveWaiter', 'RemoveWaiters', 'RepeatMatcher', 'ResolveBinding', 'ResolveThisBinding', 'ReturnIfAbrupt', 'RunJobs', 'ScriptEvaluation', 'ScriptEvaluationJob', 'SerializeJSONArray', 'SerializeJSONObject', 'SerializeJSONProperty', 'SetDefaultGlobalBindings', 'SetImmutablePrototype', 'SetRealmGlobalObject', 'SetValueInBuffer', 'SetViewValue', 'SharedDataBlockEventSet', 'SortCompare', 'SplitMatch', 'StringCreate', 'StringGetOwnProperty', 'Suspend', 'ToString Applied to the Number Type', 'TopLevelModuleEvaluationJob', 'TriggerPromiseReactions', 'TypedArrayCreate', 'TypedArraySpeciesCreate', 'UTC', 'UTF16Decode', 'UTF16Encoding', 'UpdateEmpty', 'ValidateAtomicAccess', 'ValidateSharedIntegerTypedArray', 'ValidateTypedArray', 'ValueOfReadEvent', 'WakeWaiter', 'WordCharacters', 'abs', 'agent-order', 'floor', 'happens-before', 'host-synchronizes-with', 'max', 'memory-order', 'min', 'reads-bytes-from', 'reads-from', 'synchronizes-with'];
var expectedMissing = [
'abs',
'AddWaiter',
'agent-order',
'AgentCanSuspend',
'AgentSignifier',
'AllocateArrayBuffer',
'AllocateSharedArrayBuffer',
'AllocateTypedArray',
'AllocateTypedArrayBuffer',
'AsyncFunctionAwait',
'AsyncFunctionCreate',
'AsyncFunctionStart',
'AtomicLoad',
'AtomicReadModifyWrite',
'BlockDeclarationInstantiation',
'BoundFunctionCreate',
'Canonicalize',
'CharacterRange',
'CharacterRangeOrUnion',
'CharacterSetMatcher',
'CloneArrayBuffer',
'Completion',
'ComposeWriteEventBytes',
'Construct',
'CopyDataBlockBytes',
'CreateArrayFromList',
'CreateArrayIterator',
'CreateBuiltinFunction',
'CreateByteDataBlock',
'CreateDynamicFunction',
'CreateIntrinsics',
'CreateListIterator',
'CreateMapIterator',
'CreateMappedArgumentsObject',
'CreatePerIterationEnvironment',
'CreateRealm',
'CreateResolvingFunctions',
'CreateSetIterator',
'CreateSharedByteDataBlock',
'CreateStringIterator',
'CreateUnmappedArgumentsObject',
'Decode',
'DetachArrayBuffer',
'Encode',
'EnqueueJob',
'EnterCriticalSection',
'EnumerateObjectProperties',
'EscapeRegExpPattern',
'EvalDeclarationInstantiation',
'EvaluateCall',
'EvaluateDirectCall',
'EvaluateNew',
'EventSet',
'floor',
'ForBodyEvaluation',
'ForIn/OfBodyEvaluation',
'ForIn/OfHeadEvaluation',
'FulfillPromise',
'FunctionAllocate',
'FunctionCreate',
'FunctionDeclarationInstantiation',
'FunctionInitialize',
'GeneratorFunctionCreate',
'GeneratorResume',
'GeneratorResumeAbrupt',
'GeneratorStart',
'GeneratorValidate',
'GeneratorYield',
'GetActiveScriptOrModule',
'GetBase',
'GetFunctionRealm',
'GetGlobalObject',
'GetIdentifierReference',
'GetModifySetValueInBuffer',
'GetModuleNamespace',
'GetNewTarget',
'GetReferencedName',
'GetSuperConstructor',
'GetTemplateObject',
'GetThisEnvironment',
'GetThisValue',
'GetValue',
'GetValueFromBuffer',
'GetViewValue',
'GetWaiterList',
'GlobalDeclarationInstantiation',
'happens-before',
'HasPrimitiveBase',
'host-synchronizes-with',
'HostEnsureCanCompileStrings',
'HostEventSet',
'HostPromiseRejectionTracker',
'HostReportErrors',
'HostResolveImportedModule',
'IfAbruptRejectPromise',
'ImportedLocalNames',
'InitializeBoundName',
'InitializeHostDefinedRealm',
'InitializeReferencedBinding',
'IntegerIndexedElementGet',
'IntegerIndexedElementSet',
'IntegerIndexedObjectCreate',
'InternalizeJSONProperty',
'IsAnonymousFunctionDefinition',
'IsCompatiblePropertyDescriptor',
'IsDetachedBuffer',
'IsInTailPosition',
'IsLabelledFunction',
'IsPropertyReference',
'IsSharedArrayBuffer',
'IsStrictReference',
'IsSuperReference',
'IsUnresolvableReference',
'IsWordChar',
'LeaveCriticalSection',
'LocalTime',
'LoopContinues',
'MakeArgGetter',
'MakeArgSetter',
'MakeClassConstructor',
'MakeConstructor',
'MakeMethod',
'MakeSuperPropertyReference',
'max',
'memory-order',
'min',
'ModuleNamespaceCreate',
'NewDeclarativeEnvironment',
'NewFunctionEnvironment',
'NewGlobalEnvironment',
'NewModuleEnvironment',
'NewObjectEnvironment',
'NewPromiseCapability',
'NormalCompletion',
'NumberToRawBytes',
'ObjectDefineProperties',
'OrdinaryCallBindThis',
'OrdinaryCallEvaluateBody',
'OrdinaryCreateFromConstructor',
'OrdinaryDelete',
'OrdinaryGet',
'OrdinaryIsExtensible',
'OrdinaryOwnPropertyKeys',
'OrdinaryPreventExtensions',
'OrdinarySet',
'OrdinaryToPrimitive',
'ParseModule',
'ParseScript',
'PerformEval',
'PerformPromiseAll',
'PerformPromiseRace',
'PerformPromiseThen',
'PrepareForOrdinaryCall',
'PrepareForTailCall',
'PromiseReactionJob',
'PromiseResolveThenableJob',
'ProxyCreate',
'PutValue',
'QuoteJSONString',
'RawBytesToNumber',
'reads-bytes-from',
'reads-from',
'RegExpAlloc',
'RegExpBuiltinExec',
'RegExpCreate',
'RegExpInitialize',
'RejectPromise',
'RemoveWaiter',
'RemoveWaiters',
'RepeatMatcher',
'ResolveBinding',
'ResolveThisBinding',
'ReturnIfAbrupt',
'RunJobs',
'ScriptEvaluation',
'ScriptEvaluationJob',
'SerializeJSONArray',
'SerializeJSONObject',
'SerializeJSONProperty',
'SetDefaultGlobalBindings',
'SetImmutablePrototype',
'SetRealmGlobalObject',
'SetValueInBuffer',
'SetViewValue',
'SharedDataBlockEventSet',
'SortCompare',
'SplitMatch',
'StringCreate',
'StringGetOwnProperty',
'Suspend',
'TopLevelModuleEvaluationJob',
'ToString Applied to the Number Type',
'TriggerPromiseReactions',
'TypedArrayCreate',
'TypedArraySpeciesCreate',
'UpdateEmpty',
'UTC',
'UTF16Decode',
'UTF16Encoding',
'ValidateAtomicAccess',
'ValidateSharedIntegerTypedArray',
'ValidateTypedArray',
'ValueOfReadEvent',
'WakeWaiter',
'WordCharacters',
'AddRestrictedFunctionProperties',
'synchronizes-with'
];
require('./tests').es2017(ES, ops, expectedMissing);
require('./tests').es2017(boundES, ops, expectedMissing);
require('./helpers/runManifestTest')(require('tape'), ES, 2017);
'use strict';
var ES = require('../').ES2018;
var boundES = require('./helpers/createBoundESNamespace')(ES);
var ops = require('../operations/2018');
var expectedMissing = ['abs', 'AddRestrictedFunctionProperties', 'AddWaiter', 'agent-order', 'AgentCanSuspend', 'AgentSignifier', 'AllocateArrayBuffer', 'AllocateSharedArrayBuffer', 'AllocateTypedArray', 'AllocateTypedArrayBuffer', 'AsyncFunctionStart', 'AsyncGeneratorEnqueue', 'AsyncGeneratorReject', 'AsyncGeneratorResolve', 'AsyncGeneratorResumeNext', 'AsyncGeneratorStart', 'AsyncGeneratorYield', 'AtomicLoad', 'AtomicReadModifyWrite', 'Await', 'BlockDeclarationInstantiation', 'BoundFunctionCreate', 'Canonicalize', 'CaseClauseIsSelected', 'CharacterRange', 'CharacterRangeOrUnion', 'CharacterSetMatcher', 'CloneArrayBuffer', 'Completion', 'ComposeWriteEventBytes', 'CopyDataBlockBytes', 'CreateArrayIterator', 'CreateAsyncFromSyncIterator', 'CreateBuiltinFunction', 'CreateByteDataBlock', 'CreateDynamicFunction', 'CreateIntrinsics', 'CreateMapIterator', 'CreateMappedArgumentsObject', 'CreatePerIterationEnvironment', 'CreateRealm', 'CreateResolvingFunctions', 'CreateSetIterator', 'CreateSharedByteDataBlock', 'CreateStringIterator', 'CreateUnmappedArgumentsObject', 'Decode', 'DetachArrayBuffer', 'Encode', 'EnqueueJob', 'EnterCriticalSection', 'EnumerateObjectProperties', 'EscapeRegExpPattern', 'EvalDeclarationInstantiation', 'EvaluateCall', 'EvaluateNew', 'EventSet', 'floor', 'ForBodyEvaluation', 'ForIn/OfBodyEvaluation', 'ForIn/OfHeadEvaluation', 'FulfillPromise', 'FunctionAllocate', 'FunctionCreate', 'FunctionDeclarationInstantiation', 'FunctionInitialize', 'GeneratorFunctionCreate', 'GeneratorResume', 'GeneratorResumeAbrupt', 'GeneratorStart', 'GeneratorValidate', 'GeneratorYield', 'GetActiveScriptOrModule', 'GetBase', 'GetFunctionRealm', 'GetGeneratorKind', 'GetGlobalObject', 'GetIdentifierReference', 'GetModifySetValueInBuffer', 'GetModuleNamespace', 'GetNewTarget', 'GetReferencedName', 'GetSuperConstructor', 'GetTemplateObject', 'GetThisEnvironment', 'GetThisValue', 'GetValue', 'GetValueFromBuffer', 'GetViewValue', 'GetWaiterList', 'GlobalDeclarationInstantiation', 'happens-before', 'HasPrimitiveBase', 'host-synchronizes-with', 'HostEnsureCanCompileStrings', 'HostEventSet', 'HostPromiseRejectionTracker', 'HostReportErrors', 'HostResolveImportedModule', 'IfAbruptRejectPromise', 'ImportedLocalNames', 'InitializeBoundName', 'InitializeHostDefinedRealm', 'InitializeReferencedBinding', 'InnerModuleEvaluation', 'InnerModuleInstantiation', 'IntegerIndexedElementGet', 'IntegerIndexedElementSet', 'IntegerIndexedObjectCreate', 'InternalizeJSONProperty', 'IsAnonymousFunctionDefinition', 'IsCompatiblePropertyDescriptor', 'IsDetachedBuffer', 'IsInTailPosition', 'IsLabelledFunction', 'IsPropertyReference', 'IsSharedArrayBuffer', 'IsStrictReference', 'IsSuperReference', 'IsUnresolvableReference', 'IsWordChar', 'LeaveCriticalSection', 'LocalTime', 'LoopContinues', 'MakeArgGetter', 'MakeArgSetter', 'MakeClassConstructor', 'MakeConstructor', 'MakeMethod', 'MakeSuperPropertyReference', 'max', 'memory-order', 'min', 'ModuleDeclarationEnvironmentSetup', 'ModuleExecution', 'ModuleNamespaceCreate', 'NewDeclarativeEnvironment', 'NewFunctionEnvironment', 'NewGlobalEnvironment', 'NewModuleEnvironment', 'NewObjectEnvironment', 'NewPromiseCapability', 'NumberToRawBytes', 'ObjectDefineProperties', 'OrdinaryCallBindThis', 'OrdinaryCallEvaluateBody', 'OrdinaryCreateFromConstructor', 'OrdinaryDelete', 'OrdinaryGet', 'OrdinaryIsExtensible', 'OrdinaryOwnPropertyKeys', 'OrdinaryPreventExtensions', 'OrdinaryToPrimitive', 'ParseModule', 'ParseScript', 'PerformEval', 'PerformPromiseAll', 'PerformPromiseRace', 'PerformPromiseThen', 'PrepareForOrdinaryCall', 'PrepareForTailCall', 'PromiseReactionJob', 'PromiseResolveThenableJob', 'ProxyCreate', 'PutValue', 'QuoteJSONString', 'RawBytesToNumber', 'reads-bytes-from', 'reads-from', 'RegExpAlloc', 'RegExpCreate', 'RegExpInitialize', 'RejectPromise', 'RemoveWaiter', 'RemoveWaiters', 'RepeatMatcher', 'ResolveBinding', 'ResolveThisBinding', 'ReturnIfAbrupt', 'RunJobs', 'ScriptEvaluation', 'ScriptEvaluationJob', 'SerializeJSONArray', 'SerializeJSONObject', 'SerializeJSONProperty', 'SetDefaultGlobalBindings', 'SetImmutablePrototype', 'SetRealmGlobalObject', 'SetValueInBuffer', 'SetViewValue', 'SharedDataBlockEventSet', 'SortCompare', 'SplitMatch', 'StringCreate', 'StringGetOwnProperty', 'Suspend', 'synchronizes-with', 'TimeZoneString', 'TopLevelModuleEvaluationJob', 'TriggerPromiseReactions', 'TypedArrayCreate', 'TypedArraySpeciesCreate', 'UnicodeEscape', 'UpdateEmpty', 'UTC', 'UTF16Decode', 'UTF16Encoding', 'ValidateAtomicAccess', 'ValidateSharedIntegerTypedArray', 'ValidateTypedArray', 'ValueOfReadEvent', 'WakeWaiter', 'WordCharacters', 'AsyncFunctionCreate', 'AsyncGeneratorFunctionCreate', 'AsyncIteratorClose', 'BackreferenceMatcher', 'Construct', 'CreateArrayFromList', 'CreateListIteratorRecord', 'NormalCompletion', 'OrdinarySet', 'OrdinarySetWithOwnDescriptor', 'RegExpBuiltinExec', 'SetFunctionLength', 'ThrowCompletion', 'UnicodeMatchProperty', 'UnicodeMatchPropertyValue'];
var expectedMissing = [
'abs',
'AddRestrictedFunctionProperties',
'AddWaiter',
'agent-order',
'AgentCanSuspend',
'AgentSignifier',
'AllocateArrayBuffer',
'AllocateSharedArrayBuffer',
'AllocateTypedArray',
'AllocateTypedArrayBuffer',
'AsyncFunctionCreate',
'AsyncFunctionStart',
'AsyncGeneratorEnqueue',
'AsyncGeneratorFunctionCreate',
'AsyncGeneratorReject',
'AsyncGeneratorResolve',
'AsyncGeneratorResumeNext',
'AsyncGeneratorStart',
'AsyncGeneratorYield',
'AsyncIteratorClose',
'AtomicLoad',
'AtomicReadModifyWrite',
'Await',
'BackreferenceMatcher',
'BlockDeclarationInstantiation',
'BoundFunctionCreate',
'Canonicalize',
'CaseClauseIsSelected',
'CharacterRange',
'CharacterRangeOrUnion',
'CharacterSetMatcher',
'CloneArrayBuffer',
'Completion',
'ComposeWriteEventBytes',
'Construct',
'CopyDataBlockBytes',
'CreateArrayFromList',
'CreateArrayIterator',
'CreateAsyncFromSyncIterator',
'CreateBuiltinFunction',
'CreateByteDataBlock',
'CreateDynamicFunction',
'CreateIntrinsics',
'CreateListIteratorRecord',
'CreateMapIterator',
'CreateMappedArgumentsObject',
'CreatePerIterationEnvironment',
'CreateRealm',
'CreateResolvingFunctions',
'CreateSetIterator',
'CreateSharedByteDataBlock',
'CreateStringIterator',
'CreateUnmappedArgumentsObject',
'Decode',
'DetachArrayBuffer',
'Encode',
'EnqueueJob',
'EnterCriticalSection',
'EnumerateObjectProperties',
'EscapeRegExpPattern',
'EvalDeclarationInstantiation',
'EvaluateCall',
'EvaluateNew',
'EventSet',
'floor',
'ForBodyEvaluation',
'ForIn/OfBodyEvaluation',
'ForIn/OfHeadEvaluation',
'FulfillPromise',
'FunctionAllocate',
'FunctionCreate',
'FunctionDeclarationInstantiation',
'FunctionInitialize',
'GeneratorFunctionCreate',
'GeneratorResume',
'GeneratorResumeAbrupt',
'GeneratorStart',
'GeneratorValidate',
'GeneratorYield',
'GetActiveScriptOrModule',
'GetBase',
'GetFunctionRealm',
'GetGeneratorKind',
'GetGlobalObject',
'GetIdentifierReference',
'GetModifySetValueInBuffer',
'GetModuleNamespace',
'GetNewTarget',
'GetReferencedName',
'GetSuperConstructor',
'GetTemplateObject',
'GetThisEnvironment',
'GetThisValue',
'GetValue',
'GetValueFromBuffer',
'GetViewValue',
'GetWaiterList',
'GlobalDeclarationInstantiation',
'happens-before',
'HasPrimitiveBase',
'host-synchronizes-with',
'HostEnsureCanCompileStrings',
'HostEventSet',
'HostPromiseRejectionTracker',
'HostReportErrors',
'HostResolveImportedModule',
'IfAbruptRejectPromise',
'ImportedLocalNames',
'InitializeBoundName',
'InitializeHostDefinedRealm',
'InitializeReferencedBinding',
'InnerModuleEvaluation',
'InnerModuleInstantiation',
'IntegerIndexedElementGet',
'IntegerIndexedElementSet',
'IntegerIndexedObjectCreate',
'InternalizeJSONProperty',
'IsAnonymousFunctionDefinition',
'IsCompatiblePropertyDescriptor',
'IsDetachedBuffer',
'IsInTailPosition',
'IsLabelledFunction',
'IsPropertyReference',
'IsSharedArrayBuffer',
'IsStrictReference',
'IsSuperReference',
'IsUnresolvableReference',
'IsWordChar',
'LeaveCriticalSection',
'LocalTime',
'LoopContinues',
'MakeArgGetter',
'MakeArgSetter',
'MakeClassConstructor',
'MakeConstructor',
'MakeMethod',
'MakeSuperPropertyReference',
'max',
'memory-order',
'min',
'ModuleDeclarationEnvironmentSetup',
'ModuleExecution',
'ModuleNamespaceCreate',
'NewDeclarativeEnvironment',
'NewFunctionEnvironment',
'NewGlobalEnvironment',
'NewModuleEnvironment',
'NewObjectEnvironment',
'NewPromiseCapability',
'NormalCompletion',
'NumberToRawBytes',
'ObjectDefineProperties',
'OrdinaryCallBindThis',
'OrdinaryCallEvaluateBody',
'OrdinaryCreateFromConstructor',
'OrdinaryDelete',
'OrdinaryGet',
'OrdinaryIsExtensible',
'OrdinaryOwnPropertyKeys',
'OrdinaryPreventExtensions',
'OrdinarySet',
'OrdinarySetWithOwnDescriptor',
'OrdinaryToPrimitive',
'ParseModule',
'ParseScript',
'PerformEval',
'PerformPromiseAll',
'PerformPromiseRace',
'PerformPromiseThen',
'PrepareForOrdinaryCall',
'PrepareForTailCall',
'PromiseReactionJob',
'PromiseResolveThenableJob',
'ProxyCreate',
'PutValue',
'QuoteJSONString',
'RawBytesToNumber',
'reads-bytes-from',
'reads-from',
'RegExpAlloc',
'RegExpBuiltinExec',
'RegExpCreate',
'RegExpInitialize',
'RejectPromise',
'RemoveWaiter',
'RemoveWaiters',
'RepeatMatcher',
'ResolveBinding',
'ResolveThisBinding',
'ReturnIfAbrupt',
'RunJobs',
'ScriptEvaluation',
'ScriptEvaluationJob',
'SerializeJSONArray',
'SerializeJSONObject',
'SerializeJSONProperty',
'SetDefaultGlobalBindings',
'SetFunctionLength',
'SetImmutablePrototype',
'SetRealmGlobalObject',
'SetValueInBuffer',
'SetViewValue',
'SharedDataBlockEventSet',
'SortCompare',
'SplitMatch',
'StringCreate',
'StringGetOwnProperty',
'Suspend',
'synchronizes-with',
'ThrowCompletion',
'TimeZoneString',
'TopLevelModuleEvaluationJob',
'TriggerPromiseReactions',
'TypedArrayCreate',
'TypedArraySpeciesCreate',
'UnicodeEscape',
'UnicodeMatchProperty',
'UnicodeMatchPropertyValue',
'UpdateEmpty',
'UTC',
'UTF16Decode',
'UTF16Encoding',
'ValidateAtomicAccess',
'ValidateSharedIntegerTypedArray',
'ValidateTypedArray',
'ValueOfReadEvent',
'WakeWaiter',
'WordCharacters'
];
require('./tests').es2018(ES, ops, expectedMissing);
require('./tests').es2018(boundES, ops, expectedMissing);
require('./helpers/runManifestTest')(require('tape'), ES, 2018);
'use strict';
var ES = require('../').ES2019;
var boundES = require('./helpers/createBoundESNamespace')(ES);
var ops = require('../operations/2019');
var expectedMissing = ['abs', 'AddRestrictedFunctionProperties', 'AddWaiter', 'agent-order', 'AgentCanSuspend', 'AgentSignifier', 'AllocateArrayBuffer', 'AllocateSharedArrayBuffer', 'AllocateTypedArray', 'AllocateTypedArrayBuffer', 'AsyncFunctionStart', 'AsyncGeneratorEnqueue', 'AsyncGeneratorReject', 'AsyncGeneratorResolve', 'AsyncGeneratorResumeNext', 'AsyncGeneratorStart', 'AsyncGeneratorYield', 'AtomicLoad', 'AtomicReadModifyWrite', 'Await', 'BlockDeclarationInstantiation', 'BoundFunctionCreate', 'Canonicalize', 'CaseClauseIsSelected', 'CharacterRange', 'CharacterRangeOrUnion', 'CharacterSetMatcher', 'CloneArrayBuffer', 'Completion', 'ComposeWriteEventBytes', 'CopyDataBlockBytes', 'CreateArrayIterator', 'CreateAsyncFromSyncIterator', 'CreateBuiltinFunction', 'CreateByteDataBlock', 'CreateDynamicFunction', 'CreateIntrinsics', 'CreateMapIterator', 'CreateMappedArgumentsObject', 'CreatePerIterationEnvironment', 'CreateRealm', 'CreateResolvingFunctions', 'CreateSetIterator', 'CreateSharedByteDataBlock', 'CreateStringIterator', 'CreateUnmappedArgumentsObject', 'Decode', 'DetachArrayBuffer', 'Encode', 'EnqueueJob', 'EnterCriticalSection', 'EnumerateObjectProperties', 'EscapeRegExpPattern', 'EvalDeclarationInstantiation', 'EvaluateCall', 'EvaluateNew', 'EventSet', 'floor', 'ForBodyEvaluation', 'ForIn/OfBodyEvaluation', 'ForIn/OfHeadEvaluation', 'FulfillPromise', 'FunctionAllocate', 'FunctionCreate', 'FunctionDeclarationInstantiation', 'FunctionInitialize', 'GeneratorFunctionCreate', 'GeneratorResume', 'GeneratorResumeAbrupt', 'GeneratorStart', 'GeneratorValidate', 'GeneratorYield', 'GetActiveScriptOrModule', 'GetBase', 'GetFunctionRealm', 'GetGeneratorKind', 'GetGlobalObject', 'GetIdentifierReference', 'GetModifySetValueInBuffer', 'GetModuleNamespace', 'GetNewTarget', 'GetReferencedName', 'GetSuperConstructor', 'GetTemplateObject', 'GetThisEnvironment', 'GetThisValue', 'GetValue', 'GetValueFromBuffer', 'GetViewValue', 'GetWaiterList', 'GlobalDeclarationInstantiation', 'happens-before', 'HasPrimitiveBase', 'host-synchronizes-with', 'HostEnsureCanCompileStrings', 'HostEventSet', 'HostPromiseRejectionTracker', 'HostReportErrors', 'HostResolveImportedModule', 'IfAbruptRejectPromise', 'ImportedLocalNames', 'InitializeBoundName', 'InitializeHostDefinedRealm', 'InitializeReferencedBinding', 'InnerModuleEvaluation', 'InnerModuleInstantiation', 'IntegerIndexedElementGet', 'IntegerIndexedElementSet', 'IntegerIndexedObjectCreate', 'InternalizeJSONProperty', 'IsAnonymousFunctionDefinition', 'IsCompatiblePropertyDescriptor', 'IsDetachedBuffer', 'IsInTailPosition', 'IsLabelledFunction', 'IsPropertyReference', 'IsSharedArrayBuffer', 'IsStrictReference', 'IsSuperReference', 'IsUnresolvableReference', 'IsWordChar', 'LeaveCriticalSection', 'LocalTime', 'LoopContinues', 'MakeArgGetter', 'MakeArgSetter', 'MakeClassConstructor', 'MakeConstructor', 'MakeMethod', 'MakeSuperPropertyReference', 'max', 'memory-order', 'min', 'ModuleDeclarationEnvironmentSetup', 'ModuleExecution', 'ModuleNamespaceCreate', 'NewDeclarativeEnvironment', 'NewFunctionEnvironment', 'NewGlobalEnvironment', 'NewModuleEnvironment', 'NewObjectEnvironment', 'NewPromiseCapability', 'NumberToRawBytes', 'ObjectDefineProperties', 'OrdinaryCallBindThis', 'OrdinaryCallEvaluateBody', 'OrdinaryCreateFromConstructor', 'OrdinaryDelete', 'OrdinaryGet', 'OrdinaryIsExtensible', 'OrdinaryOwnPropertyKeys', 'OrdinaryPreventExtensions', 'OrdinaryToPrimitive', 'ParseModule', 'ParseScript', 'PerformEval', 'PerformPromiseAll', 'PerformPromiseRace', 'PerformPromiseThen', 'PrepareForOrdinaryCall', 'PrepareForTailCall', 'PromiseReactionJob', 'PromiseResolveThenableJob', 'ProxyCreate', 'PutValue', 'QuoteJSONString', 'RawBytesToNumber', 'reads-bytes-from', 'reads-from', 'RegExpAlloc', 'RegExpCreate', 'RegExpInitialize', 'RejectPromise', 'RemoveWaiter', 'RemoveWaiters', 'RepeatMatcher', 'ResolveBinding', 'ResolveThisBinding', 'ReturnIfAbrupt', 'RunJobs', 'ScriptEvaluation', 'ScriptEvaluationJob', 'SerializeJSONArray', 'SerializeJSONObject', 'SerializeJSONProperty', 'SetDefaultGlobalBindings', 'SetImmutablePrototype', 'SetRealmGlobalObject', 'SetValueInBuffer', 'SetViewValue', 'SharedDataBlockEventSet', 'SortCompare', 'SplitMatch', 'StringCreate', 'StringGetOwnProperty', 'Suspend', 'synchronizes-with', 'TimeZoneString', 'TopLevelModuleEvaluationJob', 'TriggerPromiseReactions', 'TypedArrayCreate', 'TypedArraySpeciesCreate', 'UnicodeEscape', 'UpdateEmpty', 'UTC', 'UTF16Decode', 'UTF16Encoding', 'ValidateAtomicAccess', 'ValidateSharedIntegerTypedArray', 'ValidateTypedArray', 'ValueOfReadEvent', 'WakeWaiter', 'WordCharacters', 'AsyncFunctionCreate', 'AsyncGeneratorFunctionCreate', 'AsyncIteratorClose', 'BackreferenceMatcher', 'Construct', 'CreateArrayFromList', 'CreateListIteratorRecord', 'NormalCompletion', 'OrdinarySet', 'OrdinarySetWithOwnDescriptor', 'RegExpBuiltinExec', 'SetFunctionLength', 'ThrowCompletion', 'UnicodeMatchProperty', 'UnicodeMatchPropertyValue', 'AsyncFromSyncIteratorContinuation', 'ExecuteModule', 'InitializeEnvironment', 'NotifyWaiter', 'SynchronizeEventSet'];
var expectedMissing = [
'abs',
'AddRestrictedFunctionProperties',
'AddWaiter',
'agent-order',
'AgentCanSuspend',
'AgentSignifier',
'AllocateArrayBuffer',
'AllocateSharedArrayBuffer',
'AllocateTypedArray',
'AllocateTypedArrayBuffer',
'AsyncFromSyncIteratorContinuation',
'AsyncFunctionCreate',
'AsyncFunctionStart',
'AsyncGeneratorEnqueue',
'AsyncGeneratorFunctionCreate',
'AsyncGeneratorReject',
'AsyncGeneratorResolve',
'AsyncGeneratorResumeNext',
'AsyncGeneratorStart',
'AsyncGeneratorYield',
'AsyncIteratorClose',
'AtomicLoad',
'AtomicReadModifyWrite',
'Await',
'BackreferenceMatcher',
'BlockDeclarationInstantiation',
'BoundFunctionCreate',
'Canonicalize',
'CaseClauseIsSelected',
'CharacterRange',
'CharacterRangeOrUnion',
'CharacterSetMatcher',
'CloneArrayBuffer',
'Completion',
'ComposeWriteEventBytes',
'Construct',
'CopyDataBlockBytes',
'CreateArrayFromList',
'CreateArrayIterator',
'CreateAsyncFromSyncIterator',
'CreateBuiltinFunction',
'CreateByteDataBlock',
'CreateDynamicFunction',
'CreateIntrinsics',
'CreateListIteratorRecord',
'CreateMapIterator',
'CreateMappedArgumentsObject',
'CreatePerIterationEnvironment',
'CreateRealm',
'CreateResolvingFunctions',
'CreateSetIterator',
'CreateSharedByteDataBlock',
'CreateStringIterator',
'CreateUnmappedArgumentsObject',
'Decode',
'DetachArrayBuffer',
'Encode',
'EnqueueJob',
'EnterCriticalSection',
'EnumerateObjectProperties',
'EscapeRegExpPattern',
'EvalDeclarationInstantiation',
'EvaluateCall',
'EvaluateNew',
'EventSet',
'ExecuteModule',
'floor',
'ForBodyEvaluation',
'ForIn/OfBodyEvaluation',
'ForIn/OfHeadEvaluation',
'FulfillPromise',
'FunctionAllocate',
'FunctionCreate',
'FunctionDeclarationInstantiation',
'FunctionInitialize',
'GeneratorFunctionCreate',
'GeneratorResume',
'GeneratorResumeAbrupt',
'GeneratorStart',
'GeneratorValidate',
'GeneratorYield',
'GetActiveScriptOrModule',
'GetBase',
'GetFunctionRealm',
'GetGeneratorKind',
'GetGlobalObject',
'GetIdentifierReference',
'GetModifySetValueInBuffer',
'GetModuleNamespace',
'GetNewTarget',
'GetReferencedName',
'GetSuperConstructor',
'GetTemplateObject',
'GetThisEnvironment',
'GetThisValue',
'GetValue',
'GetValueFromBuffer',
'GetViewValue',
'GetWaiterList',
'GlobalDeclarationInstantiation',
'happens-before',
'HasPrimitiveBase',
'host-synchronizes-with',
'HostEnsureCanCompileStrings',
'HostEventSet',
'HostPromiseRejectionTracker',
'HostReportErrors',
'HostResolveImportedModule',
'IfAbruptRejectPromise',
'ImportedLocalNames',
'InitializeBoundName',
'InitializeEnvironment',
'InitializeHostDefinedRealm',
'InitializeReferencedBinding',
'InnerModuleEvaluation',
'InnerModuleInstantiation',
'IntegerIndexedElementGet',
'IntegerIndexedElementSet',
'IntegerIndexedObjectCreate',
'InternalizeJSONProperty',
'IsAnonymousFunctionDefinition',
'IsCompatiblePropertyDescriptor',
'IsDetachedBuffer',
'IsInTailPosition',
'IsLabelledFunction',
'IsPropertyReference',
'IsSharedArrayBuffer',
'IsStrictReference',
'IsSuperReference',
'IsUnresolvableReference',
'IsWordChar',
'LeaveCriticalSection',
'LocalTime',
'LoopContinues',
'MakeArgGetter',
'MakeArgSetter',
'MakeClassConstructor',
'MakeConstructor',
'MakeMethod',
'MakeSuperPropertyReference',
'max',
'memory-order',
'min',
'ModuleDeclarationEnvironmentSetup',
'ModuleExecution',
'ModuleNamespaceCreate',
'NewDeclarativeEnvironment',
'NewFunctionEnvironment',
'NewGlobalEnvironment',
'NewModuleEnvironment',
'NewObjectEnvironment',
'NewPromiseCapability',
'NormalCompletion',
'NotifyWaiter',
'NumberToRawBytes',
'ObjectDefineProperties',
'OrdinaryCallBindThis',
'OrdinaryCallEvaluateBody',
'OrdinaryCreateFromConstructor',
'OrdinaryDelete',
'OrdinaryGet',
'OrdinaryIsExtensible',
'OrdinaryOwnPropertyKeys',
'OrdinaryPreventExtensions',
'OrdinarySet',
'OrdinarySetWithOwnDescriptor',
'OrdinaryToPrimitive',
'ParseModule',
'ParseScript',
'PerformEval',
'PerformPromiseAll',
'PerformPromiseRace',
'PerformPromiseThen',
'PrepareForOrdinaryCall',
'PrepareForTailCall',
'PromiseReactionJob',
'PromiseResolveThenableJob',
'ProxyCreate',
'PutValue',
'QuoteJSONString',
'RawBytesToNumber',
'reads-bytes-from',
'reads-from',
'RegExpAlloc',
'RegExpBuiltinExec',
'RegExpCreate',
'RegExpInitialize',
'RejectPromise',
'RemoveWaiter',
'RemoveWaiters',
'RepeatMatcher',
'ResolveBinding',
'ResolveThisBinding',
'ReturnIfAbrupt',
'RunJobs',
'ScriptEvaluation',
'ScriptEvaluationJob',
'SerializeJSONArray',
'SerializeJSONObject',
'SerializeJSONProperty',
'SetDefaultGlobalBindings',
'SetFunctionLength',
'SetImmutablePrototype',
'SetRealmGlobalObject',
'SetValueInBuffer',
'SetViewValue',
'SharedDataBlockEventSet',
'SortCompare',
'SplitMatch',
'StringCreate',
'StringGetOwnProperty',
'Suspend',
'SynchronizeEventSet',
'synchronizes-with',
'ThrowCompletion',
'TimeZoneString',
'TopLevelModuleEvaluationJob',
'TriggerPromiseReactions',
'TypedArrayCreate',
'TypedArraySpeciesCreate',
'UnicodeEscape',
'UnicodeMatchProperty',
'UnicodeMatchPropertyValue',
'UpdateEmpty',
'UTC',
'UTF16Decode',
'UTF16Encoding',
'ValidateAtomicAccess',
'ValidateSharedIntegerTypedArray',
'ValidateTypedArray',
'ValueOfReadEvent',
'WakeWaiter',
'WordCharacters'
];
require('./tests').es2019(ES, ops, expectedMissing);
require('./tests').es2019(boundES, ops, expectedMissing);
require('./helpers/runManifestTest')(require('tape'), ES, 2019);

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

ES = require('./helpers/createBoundESNamespace')(ES);
test('ToPrimitive', function (t) {

@@ -16,0 +18,0 @@ t.test('primitives', function (st) {

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

var forEach = require('foreach');
var has = require('has');

@@ -43,11 +44,22 @@ var v = require('./values');

var desc = pair[1];
st.equal(getSymbolDescription(sym), desc, debug(sym) + ' yields ' + debug(desc));
st.equal(getSymbolDescription(sym), desc, debug(sym) + ' description is ' + debug(desc));
}
);
st.test('only possible when inference is supported', { skip: !getInferredName }, function (s2t) {
s2t.equal(getSymbolDescription(Symbol('')), '', 'Symbol("") description is empty string');
st.test('only possible when inference or native `Symbol.prototype.description` is supported', {
skip: !getInferredName && !has(Symbol.prototype, 'description')
}, function (s2t) {
s2t.equal(getSymbolDescription(Symbol('')), '', 'Symbol("") description is ""');
s2t.end();
});
st.test('only possible when global symbols are supported', {
skip: !has(Symbol, 'for') || !has(Symbol, 'keyFor')
}, function (s2t) {
// eslint-disable-next-line no-restricted-properties
s2t.equal(getSymbolDescription(Symbol['for']('')), '', 'Symbol.for("") description is ""');
s2t.end();
});
st.end();

@@ -54,0 +66,0 @@ });

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc