nav tabs on admin dashboard

This commit is contained in:
2019-03-07 00:20:34 -06:00
parent f73d6ae228
commit e4f473f376
11661 changed files with 216240 additions and 1544253 deletions
+7 -2
View File
@@ -3,6 +3,10 @@
"extends": "@ljharb",
"env": {
"es6": true,
},
"rules": {
"array-bracket-newline": 0,
"array-element-newline": 0,
@@ -10,14 +14,15 @@
"eqeqeq": [2, "allow-null"],
"func-name-matching": 0,
"id-length": [2, { "min": 1, "max": 30 }],
"max-lines": [2, 700],
"max-lines": [2, 800],
"max-params": [2, 4],
"max-statements": [2, 24],
"max-statements-per-line": [2, { "max": 2 }],
"multiline-comment-style": 1,
"no-magic-numbers": 0,
"new-cap": 0,
"no-extra-parens": 1,
"operator-linebreak": [2, "before"],
"sort-keys": 0
"sort-keys": 0,
}
}
-174
View File
@@ -1,174 +0,0 @@
{
"es3": true,
"additionalRules": [],
"requireSemicolons": true,
"disallowMultipleSpaces": true,
"disallowIdentifierNames": [],
"requireCurlyBraces": {
"allExcept": [],
"keywords": ["if", "else", "for", "while", "do", "try", "catch"]
},
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
"disallowSpaceAfterKeywords": [],
"disallowSpaceBeforeComma": true,
"disallowSpaceAfterComma": false,
"disallowSpaceBeforeSemicolon": true,
"disallowNodeTypes": [
"DebuggerStatement",
"ForInStatement",
"LabeledStatement",
"SwitchCase",
"SwitchStatement",
"WithStatement"
],
"requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
"requireSpaceBetweenArguments": true,
"disallowSpacesInsideParentheses": true,
"disallowSpacesInsideArrayBrackets": true,
"disallowQuotedKeysInObjects": { "allExcept": ["reserved"] },
"disallowSpaceAfterObjectKeys": true,
"requireCommaBeforeLineBreak": true,
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
"requireSpaceAfterPrefixUnaryOperators": [],
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
"requireSpaceBeforePostfixUnaryOperators": [],
"disallowSpaceBeforeBinaryOperators": [],
"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
"disallowSpaceAfterBinaryOperators": [],
"disallowImplicitTypeConversion": ["binary", "string"],
"disallowKeywords": ["with", "eval"],
"requireKeywordsOnNewLine": [],
"disallowKeywordsOnNewLine": ["else"],
"requireLineFeedAtFileEnd": true,
"disallowTrailingWhitespace": true,
"disallowTrailingComma": true,
"excludeFiles": ["node_modules/**", "vendor/**"],
"disallowMultipleLineStrings": true,
"requireDotNotation": { "allExcept": ["keywords"] },
"requireParenthesesAroundIIFE": true,
"validateLineBreaks": "LF",
"validateQuoteMarks": {
"escape": true,
"mark": "'"
},
"disallowOperatorBeforeLineBreak": [],
"requireSpaceBeforeKeywords": [
"do",
"for",
"if",
"else",
"switch",
"case",
"try",
"catch",
"finally",
"while",
"with",
"return"
],
"validateAlignedFunctionParameters": {
"lineBreakAfterOpeningBraces": true,
"lineBreakBeforeClosingBraces": true
},
"requirePaddingNewLinesBeforeExport": true,
"validateNewlineAfterArrayElements": {
"maximum": 9
},
"requirePaddingNewLinesAfterUseStrict": true,
"disallowArrowFunctions": true,
"disallowMultiLineTernary": false,
"validateOrderInObjectKeys": false,
"disallowIdenticalDestructuringNames": true,
"disallowNestedTernaries": { "maxLevel": 1 },
"requireSpaceAfterComma": { "allExcept": ["trailing"] },
"requireAlignedMultilineParams": false,
"requireSpacesInGenerator": {
"afterStar": true
},
"disallowSpacesInGenerator": {
"beforeStar": true
},
"disallowVar": false,
"requireArrayDestructuring": false,
"requireEnhancedObjectLiterals": false,
"requireObjectDestructuring": false,
"requireEarlyReturn": false,
"requireCapitalizedConstructorsNew": false,
"requireImportAlphabetized": false,
"requireSpaceBeforeObjectValues": true,
"requireSpaceBeforeDestructuredValues": true,
"disallowSpacesInsideTemplateStringPlaceholders": true,
"disallowArrayDestructuringReturn": false,
"requireNewlineBeforeSingleStatementsInIf": false,
"disallowUnusedVariables": true,
"requireSpacesInsideImportedObjectBraces": true,
"requireUseStrict": true
}
+2 -2
View File
@@ -2,8 +2,8 @@
"all": true,
"check-coverage": true,
"reporter": ["text-summary", "text", "html", "json"],
"lines": 87.03,
"statements": 86.87,
"lines": 86.99,
"statements": 86.86,
"functions": 82.43,
"branches": 76.06,
"exclude": [
+54 -3
View File
@@ -2,11 +2,12 @@ language: node_js
os:
- linux
node_js:
- "10.2"
- "11.6"
- "10.15"
- "9.11"
- "8.11"
- "8.15"
- "7.10"
- "6.14"
- "6.16"
- "5.12"
- "4.9"
- "iojs-v3.3"
@@ -51,6 +52,44 @@ matrix:
env: COVERAGE=true
- node_js: "8"
env: COVERAGE=true
- node_js: "11.5"
env: TEST=true ALLOW_FAILURE=true
- node_js: "11.4"
env: TEST=true ALLOW_FAILURE=true
- node_js: "11.3"
env: TEST=true ALLOW_FAILURE=true
- node_js: "11.2"
env: TEST=true ALLOW_FAILURE=true
- node_js: "11.1"
env: TEST=true ALLOW_FAILURE=true
- node_js: "11.0"
env: TEST=true ALLOW_FAILURE=true
- node_js: "10.14"
env: TEST=true ALLOW_FAILURE=true
- node_js: "10.13"
env: TEST=true ALLOW_FAILURE=true
- node_js: "10.12"
env: TEST=true ALLOW_FAILURE=true
- node_js: "10.11"
env: TEST=true ALLOW_FAILURE=true
- node_js: "10.10"
env: TEST=true ALLOW_FAILURE=true
- node_js: "10.9"
env: TEST=true ALLOW_FAILURE=true
- node_js: "10.8"
env: TEST=true ALLOW_FAILURE=true
- node_js: "10.7"
env: TEST=true ALLOW_FAILURE=true
- node_js: "10.6"
env: TEST=true ALLOW_FAILURE=true
- node_js: "10.5"
env: TEST=true ALLOW_FAILURE=true
- node_js: "10.4"
env: TEST=true ALLOW_FAILURE=true
- node_js: "10.3"
env: TEST=true ALLOW_FAILURE=true
- node_js: "10.2"
env: TEST=true ALLOW_FAILURE=true
- node_js: "10.1"
env: TEST=true ALLOW_FAILURE=true
- node_js: "10.0"
@@ -77,6 +116,14 @@ matrix:
env: TEST=true ALLOW_FAILURE=true
- node_js: "9.0"
env: TEST=true ALLOW_FAILURE=true
- node_js: "8.14"
env: TEST=true ALLOW_FAILURE=true
- node_js: "8.13"
env: TEST=true ALLOW_FAILURE=true
- node_js: "8.12"
env: TEST=true ALLOW_FAILURE=true
- node_js: "8.11"
env: TEST=true ALLOW_FAILURE=true
- node_js: "8.10"
env: TEST=true ALLOW_FAILURE=true
- node_js: "8.9"
@@ -119,6 +166,10 @@ matrix:
env: TEST=true ALLOW_FAILURE=true
- node_js: "7.0"
env: TEST=true ALLOW_FAILURE=true
- node_js: "6.15"
env: TEST=true ALLOW_FAILURE=true
- node_js: "6.14"
env: TEST=true ALLOW_FAILURE=true
- node_js: "6.13"
env: TEST=true ALLOW_FAILURE=true
- node_js: "6.12"
+15
View File
@@ -1,3 +1,18 @@
1.13.0 / 2019-01-02
=================
* [New] add ES2018
* [New] add ES2015/ES2016: EnumerableOwnNames; ES2017: EnumerableOwnProperties
* [New] `ES2015+`: add `thisBooleanValue`, `thisNumberValue`, `thisStringValue`, `thisTimeValue`
* [New] `ES2015+`: add `DefinePropertyOrThrow`, `DeletePropertyOrThrow`, `CreateMethodProperty`
* [New] add `assertRecord` helper
* [Deps] update `is-callable`, `has`, `object-keys`, `es-to-primitive`
* [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`, `semver`, `safe-publish-latest`, `replace`
* [Tests] use `npm audit` instead of `nsp`
* [Tests] remove `jscs`
* [Tests] up to `node` `v11.6`, `v10.15`, `v8.15`, `v6.16`
* [Tests] move descriptor factories to `values` helper
* [Tests] add `getOps` to programmatically fetch abstract operation names
1.12.0 / 2018-05-31
=================
* [New] add `GetIntrinsic` entry point
+1 -1
View File
@@ -12,7 +12,7 @@
ECMAScript spec abstract operations.
When different versions of the spec conflict, the default export will be the latest version of the abstract operation.
All abstract operations will also be available under an `es5`/`es2015`/`es2016` entry point, and exported property, if you require a specific version.
All abstract operations will also be available under an `es5`/`es2015`/`es2016`/`es2017`/`es2018` entry point, and exported property, if you require a specific version.
## Example
+101 -4
View File
@@ -2,6 +2,7 @@
var has = require('has');
var toPrimitive = require('es-to-primitive/es6');
var keys = require('object-keys');
var GetIntrinsic = require('./GetIntrinsic');
@@ -16,6 +17,7 @@ var $RegExp = GetIntrinsic('%RegExp%');
var hasSymbols = !!$Symbol;
var assertRecord = require('./helpers/assertRecord');
var $isNaN = require('./helpers/isNaN');
var $isFinite = require('./helpers/isFinite');
var MAX_SAFE_INTEGER = $Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;
@@ -40,6 +42,11 @@ var $charCodeAt = bind.call(Function.call, $String.prototype.charCodeAt);
var toStr = bind.call(Function.call, Object.prototype.toString);
var $NumberValueOf = bind.call(Function.call, GetIntrinsic('%NumberPrototype%').valueOf);
var $BooleanValueOf = bind.call(Function.call, GetIntrinsic('%BooleanPrototype%').valueOf);
var $StringValueOf = bind.call(Function.call, GetIntrinsic('%StringPrototype%').valueOf);
var $DateValueOf = bind.call(Function.call, GetIntrinsic('%DatePrototype%').valueOf);
var $floor = Math.floor;
var $abs = Math.abs;
@@ -48,6 +55,8 @@ var $gOPD = $Object.getOwnPropertyDescriptor;
var $isExtensible = $Object.isExtensible;
var $defineProperty = $Object.defineProperty;
// whitespace from: http://es5.github.io/#x15.5.4.20
// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324
var ws = [
@@ -353,9 +362,7 @@ var ES6 = assign(assign({}, ES5), {
// https://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor
CompletePropertyDescriptor: function CompletePropertyDescriptor(Desc) {
if (!this.IsPropertyDescriptor(Desc)) {
throw new $TypeError('Desc must be a Property Descriptor');
}
assertRecord(this, 'Property Descriptor', 'Desc', Desc);
if (this.IsGenericDescriptor(Desc) || this.IsDataDescriptor(Desc)) {
if (!has(Desc, '[[Value]]')) {
@@ -619,7 +626,7 @@ var ES6 = assign(assign({}, ES5), {
value: V,
writable: true
};
Object.defineProperty(O, P, newDesc);
$defineProperty(O, P, newDesc);
return true;
},
@@ -685,6 +692,96 @@ var ES6 = assign(assign({}, ES5), {
}
return index + 2;
},
// https://www.ecma-international.org/ecma-262/6.0/#sec-createmethodproperty
CreateMethodProperty: function CreateMethodProperty(O, P, V) {
if (this.Type(O) !== 'Object') {
throw new $TypeError('Assertion failed: Type(O) is not Object');
}
if (!this.IsPropertyKey(P)) {
throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
}
var newDesc = {
configurable: true,
enumerable: false,
value: V,
writable: true
};
return !!$defineProperty(O, P, newDesc);
},
// https://www.ecma-international.org/ecma-262/6.0/#sec-definepropertyorthrow
DefinePropertyOrThrow: function DefinePropertyOrThrow(O, P, desc) {
if (this.Type(O) !== 'Object') {
throw new $TypeError('Assertion failed: Type(O) is not Object');
}
if (!this.IsPropertyKey(P)) {
throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
}
return !!$defineProperty(O, P, desc);
},
// https://www.ecma-international.org/ecma-262/6.0/#sec-deletepropertyorthrow
DeletePropertyOrThrow: function DeletePropertyOrThrow(O, P) {
if (this.Type(O) !== 'Object') {
throw new $TypeError('Assertion failed: Type(O) is not Object');
}
if (!this.IsPropertyKey(P)) {
throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
}
var success = delete O[P];
if (!success) {
throw new TypeError('Attempt to delete property failed.');
}
return success;
},
// https://www.ecma-international.org/ecma-262/6.0/#sec-enumerableownnames
EnumerableOwnNames: function EnumerableOwnNames(O) {
if (this.Type(O) !== 'Object') {
throw new $TypeError('Assertion failed: Type(O) is not Object');
}
return keys(O);
},
// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-number-prototype-object
thisNumberValue: function thisNumberValue(value) {
if (this.Type(value) === 'Number') {
return value;
}
return $NumberValueOf(value);
},
// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-boolean-prototype-object
thisBooleanValue: function thisBooleanValue(value) {
if (this.Type(value) === 'Boolean') {
return value;
}
return $BooleanValueOf(value);
},
// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-string-prototype-object
thisStringValue: function thisStringValue(value) {
if (this.Type(value) === 'String') {
return value;
}
return $StringValueOf(value);
},
// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-date-prototype-object
thisTimeValue: function thisTimeValue(value) {
return $DateValueOf(value);
}
});
+29
View File
@@ -1,7 +1,16 @@
'use strict';
var bind = require('function-bind');
var ES2016 = require('./es2016');
var assign = require('./helpers/assign');
var forEach = require('./helpers/forEach');
var GetIntrinsic = require('./GetIntrinsic');
var $TypeError = GetIntrinsic('%TypeError%');
var $isEnumerable = bind.call(Function.call, GetIntrinsic('%ObjectPrototype%').propertyIsEnumerable);
var $pushApply = bind.call(Function.apply, GetIntrinsic('%ArrayPrototype%').push);
var ES2017 = assign(assign({}, ES2016), {
ToIndex: function ToIndex(value) {
@@ -17,6 +26,26 @@ var ES2017 = assign(assign({}, ES2016), {
throw new RangeError('index must be >= 0 and < 2 ** 53 - 1');
}
return index;
},
// https://www.ecma-international.org/ecma-262/8.0/#sec-enumerableownproperties
EnumerableOwnProperties: function EnumerableOwnProperties(O, kind) {
var keys = ES2016.EnumerableOwnNames(O);
if (kind === 'key') {
return keys;
}
if (kind === 'value' || kind === 'key+value') {
var results = [];
forEach(keys, function (key) {
if ($isEnumerable(O, key)) {
$pushApply(results, [
kind === 'value' ? O[key] : [key, O[key]]
]);
}
});
return results;
}
throw new $TypeError('Assertion failed: "kind" is not "key", "value", or "key+value": ' + kind);
}
});
+7 -14
View File
@@ -6,6 +6,7 @@ var $Object = GetIntrinsic('%Object%');
var $TypeError = GetIntrinsic('%TypeError%');
var $String = GetIntrinsic('%String%');
var assertRecord = require('./helpers/assertRecord');
var $isNaN = require('./helpers/isNaN');
var $isFinite = require('./helpers/isFinite');
@@ -103,13 +104,13 @@ var ES5 = {
'[[Value]]': true,
'[[Writable]]': true
};
// jscs:disable
for (var key in Desc) { // eslint-disable-line
if (has(Desc, key) && !allowed[key]) {
return false;
}
}
// jscs:enable
var isData = has(Desc, '[[Value]]');
var IsAccessor = has(Desc, '[[Get]]') || has(Desc, '[[Set]]');
if (isData && IsAccessor) {
@@ -124,9 +125,7 @@ var ES5 = {
return false;
}
if (!this.IsPropertyDescriptor(Desc)) {
throw new $TypeError('Desc must be a Property Descriptor');
}
assertRecord(this, 'Property Descriptor', 'Desc', Desc);
if (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) {
return false;
@@ -141,9 +140,7 @@ var ES5 = {
return false;
}
if (!this.IsPropertyDescriptor(Desc)) {
throw new $TypeError('Desc must be a Property Descriptor');
}
assertRecord(this, 'Property Descriptor', 'Desc', Desc);
if (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) {
return false;
@@ -158,9 +155,7 @@ var ES5 = {
return false;
}
if (!this.IsPropertyDescriptor(Desc)) {
throw new $TypeError('Desc must be a Property Descriptor');
}
assertRecord(this, 'Property Descriptor', 'Desc', Desc);
if (!this.IsAccessorDescriptor(Desc) && !this.IsDataDescriptor(Desc)) {
return true;
@@ -175,9 +170,7 @@ var ES5 = {
return Desc;
}
if (!this.IsPropertyDescriptor(Desc)) {
throw new $TypeError('Desc must be a Property Descriptor');
}
assertRecord(this, 'Property Descriptor', 'Desc', Desc);
if (this.IsDataDescriptor(Desc)) {
return {
+3 -1
View File
@@ -6,6 +6,7 @@ var ES5 = require('./es5');
var ES2015 = require('./es2015');
var ES2016 = require('./es2016');
var ES2017 = require('./es2017');
var ES2018 = require('./es2018');
var ES = {
ES5: ES5,
@@ -13,7 +14,8 @@ var ES = {
ES2015: ES2015,
ES7: ES2016,
ES2016: ES2016,
ES2017: ES2017
ES2017: ES2017,
ES2018: ES2018
};
assign(ES, ES5);
delete ES.CheckObjectCoercible; // renamed in ES6 to RequireObjectCoercible
+1
View File
@@ -64,6 +64,7 @@ module.exports = {
CreateIterResultObject: 'https://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject',
CreateListIterator: 'https://ecma-international.org/ecma-262/6.0/#sec-createlistiterator',
Type: 'https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types',
thisBooleanValue: 'https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-boolean-prototype-object',
thisNumberValue: 'https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-number-prototype-object',
thisTimeValue: 'https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-date-prototype-object',
thisStringValue: 'https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-string-prototype-object',
+268 -65
View File
@@ -1,80 +1,283 @@
'use strict';
module.exports = {
IsPropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-property-descriptor-specification-type',
IsAccessorDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-isaccessordescriptor',
IsDataDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-isdatadescriptor',
IsGenericDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-isgenericdescriptor',
FromPropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-frompropertydescriptor',
ToPropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-topropertydescriptor',
CompletePropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-completepropertydescriptor',
ToPrimitive: 'https://ecma-international.org/ecma-262/7.0/#sec-toprimitive',
ToBoolean: 'https://ecma-international.org/ecma-262/7.0/#sec-toboolean',
ToNumber: 'https://ecma-international.org/ecma-262/7.0/#sec-tonumber',
ToInteger: 'https://ecma-international.org/ecma-262/7.0/#sec-tointeger',
ToInt32: 'https://ecma-international.org/ecma-262/7.0/#sec-toint32',
ToUint32: 'https://ecma-international.org/ecma-262/7.0/#sec-touint32',
ToInt16: 'https://ecma-international.org/ecma-262/7.0/#sec-toint16',
ToUint16: 'https://ecma-international.org/ecma-262/7.0/#sec-touint16',
ToInt8: 'https://ecma-international.org/ecma-262/7.0/#sec-toint8',
ToUint8: 'https://ecma-international.org/ecma-262/7.0/#sec-touint8',
ToUint8Clamp: 'https://ecma-international.org/ecma-262/7.0/#sec-touint8clamp',
ToString: 'https://ecma-international.org/ecma-262/7.0/#sec-tostring',
ToObject: 'https://ecma-international.org/ecma-262/7.0/#sec-toobject',
ToPropertyKey: 'https://ecma-international.org/ecma-262/7.0/#sec-topropertykey',
ToLength: 'https://ecma-international.org/ecma-262/7.0/#sec-tolength',
IsPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type', // not actually an abstract op
abs: 'https://ecma-international.org/ecma-262/7.0/#sec-algorithm-conventions',
'Abstract Equality Comparison': 'https://ecma-international.org/ecma-262/7.0/#sec-abstract-equality-comparison',
'Abstract Relational Comparison': 'https://ecma-international.org/ecma-262/7.0/#sec-abstract-relational-comparison',
AddRestrictedFunctionProperties: 'https://ecma-international.org/ecma-262/7.0/#sec-addrestrictedfunctionproperties',
AdvanceStringIndex: 'https://ecma-international.org/ecma-262/7.0/#sec-advancestringindex',
AllocateArrayBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-allocatearraybuffer',
AllocateTypedArray: 'https://ecma-international.org/ecma-262/7.0/#sec-allocatetypedarray',
AllocateTypedArrayBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-allocatetypedarraybuffer',
ArrayCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-arraycreate',
ArraySetLength: 'https://ecma-international.org/ecma-262/7.0/#sec-arraysetlength',
ArraySpeciesCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-arrayspeciescreate',
BlockDeclarationInstantiation: 'https://ecma-international.org/ecma-262/7.0/#sec-blockdeclarationinstantiation',
BoundFunctionCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-boundfunctioncreate',
Call: 'https://ecma-international.org/ecma-262/7.0/#sec-call',
Canonicalize: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-canonicalize-ch',
CanonicalNumericIndexString: 'https://ecma-international.org/ecma-262/7.0/#sec-canonicalnumericindexstring',
RequireObjectCoercible: 'https://ecma-international.org/ecma-262/7.0/#sec-requireobjectcoercible',
IsArray: 'https://ecma-international.org/ecma-262/7.0/#sec-isarray',
IsCallable: 'https://ecma-international.org/ecma-262/7.0/#sec-iscallable',
IsConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-isconstructor',
IsExtensible: 'https://ecma-international.org/ecma-262/7.0/#sec-isextensible-o',
IsInteger: 'https://ecma-international.org/ecma-262/7.0/#sec-isinteger',
IsPropertyKey: 'https://ecma-international.org/ecma-262/7.0/#sec-ispropertykey',
IsRegExp: 'https://ecma-international.org/ecma-262/7.0/#sec-isregexp',
SameValue: 'https://ecma-international.org/ecma-262/7.0/#sec-samevalue',
SameValueZero: 'https://ecma-international.org/ecma-262/7.0/#sec-samevaluezero',
SameValueNonNumber: 'https://ecma-international.org/ecma-262/7.0/#sec-samevaluenonnumber',
Get: 'https://ecma-international.org/ecma-262/7.0/#sec-get-o-p',
GetV: 'https://ecma-international.org/ecma-262/7.0/#sec-getv',
Set: 'https://ecma-international.org/ecma-262/7.0/#sec-set-o-p-v-throw',
CharacterRange: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-characterrange-abstract-operation',
CharacterRangeOrUnion: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-characterrangeorunion-abstract-operation',
CharacterSetMatcher: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-charactersetmatcher-abstract-operation',
CloneArrayBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-clonearraybuffer',
CompletePropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-completepropertydescriptor',
Completion: 'https://ecma-international.org/ecma-262/7.0/#sec-completion-record-specification-type',
Construct: 'https://ecma-international.org/ecma-262/7.0/#sec-construct',
CopyDataBlockBytes: 'https://ecma-international.org/ecma-262/7.0/#sec-copydatablockbytes',
CreateArrayFromList: 'https://ecma-international.org/ecma-262/7.0/#sec-createarrayfromlist',
CreateArrayIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createarrayiterator',
CreateBuiltinFunction: 'https://ecma-international.org/ecma-262/7.0/#sec-createbuiltinfunction',
CreateByteDataBlock: 'https://ecma-international.org/ecma-262/7.0/#sec-createbytedatablock',
CreateDataProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-createdataproperty',
CreateMethodProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-createmethodproperty',
CreateDataPropertyOrThrow: 'https://ecma-international.org/ecma-262/7.0/#sec-createdatapropertyorthrow',
CreateDynamicFunction: 'https://ecma-international.org/ecma-262/7.0/#sec-createdynamicfunction',
CreateHTML: 'https://ecma-international.org/ecma-262/7.0/#sec-createhtml',
CreateIntrinsics: 'https://ecma-international.org/ecma-262/7.0/#sec-createintrinsics',
CreateIterResultObject: 'https://ecma-international.org/ecma-262/7.0/#sec-createiterresultobject',
CreateListFromArrayLike: 'https://ecma-international.org/ecma-262/7.0/#sec-createlistfromarraylike',
CreateListIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createlistiterator',
CreateMapIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createmapiterator',
CreateMappedArgumentsObject: 'https://ecma-international.org/ecma-262/7.0/#sec-createmappedargumentsobject',
CreateMethodProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-createmethodproperty',
CreatePerIterationEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-createperiterationenvironment',
CreateRealm: 'https://ecma-international.org/ecma-262/7.0/#sec-createrealm',
CreateResolvingFunctions: 'https://ecma-international.org/ecma-262/7.0/#sec-createresolvingfunctions',
CreateSetIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createsetiterator',
CreateStringIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createstringiterator',
CreateUnmappedArgumentsObject: 'https://ecma-international.org/ecma-262/7.0/#sec-createunmappedargumentsobject',
DateFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-date-number',
Day: 'https://ecma-international.org/ecma-262/7.0/#sec-day-number-and-time-within-day',
DayFromYear: 'https://ecma-international.org/ecma-262/7.0/#sec-year-number',
DaysInYear: 'https://ecma-international.org/ecma-262/7.0/#sec-year-number',
DayWithinYear: 'https://ecma-international.org/ecma-262/7.0/#sec-month-number',
Decode: 'https://ecma-international.org/ecma-262/7.0/#sec-decode',
DefinePropertyOrThrow: 'https://ecma-international.org/ecma-262/7.0/#sec-definepropertyorthrow',
DeletePropertyOrThrow: 'https://ecma-international.org/ecma-262/7.0/#sec-deletepropertyorthrow',
GetMethod: 'https://ecma-international.org/ecma-262/7.0/#sec-getmethod',
HasProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-hasproperty',
HasOwnProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-hasownproperty',
Call: 'https://ecma-international.org/ecma-262/7.0/#sec-call',
Construct: 'https://ecma-international.org/ecma-262/7.0/#sec-construct',
SetIntegrityLevel: 'https://ecma-international.org/ecma-262/7.0/#sec-setintegritylevel',
TestIntegrityLevel: 'https://ecma-international.org/ecma-262/7.0/#sec-testintegritylevel',
CreateArrayFromList: 'https://ecma-international.org/ecma-262/7.0/#sec-createarrayfromlist',
CreateListFromArrayLike: 'https://ecma-international.org/ecma-262/7.0/#sec-createlistfromarraylike',
Invoke: 'https://ecma-international.org/ecma-262/7.0/#sec-invoke',
OrdinaryHasInstance: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryhasinstance',
SpeciesConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-speciesconstructor',
DetachArrayBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-detacharraybuffer',
Encode: 'https://ecma-international.org/ecma-262/7.0/#sec-encode',
EnqueueJob: 'https://ecma-international.org/ecma-262/7.0/#sec-enqueuejob',
EnumerableOwnNames: 'https://ecma-international.org/ecma-262/7.0/#sec-enumerableownnames',
EnumerateObjectProperties: 'https://ecma-international.org/ecma-262/7.0/#sec-enumerate-object-properties',
EscapeRegExpPattern: 'https://ecma-international.org/ecma-262/7.0/#sec-escaperegexppattern',
EvalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/7.0/#sec-evaldeclarationinstantiation',
EvaluateCall: 'https://ecma-international.org/ecma-262/7.0/#sec-evaluatecall',
EvaluateDirectCall: 'https://ecma-international.org/ecma-262/7.0/#sec-evaluatedirectcall',
EvaluateNew: 'https://ecma-international.org/ecma-262/7.0/#sec-evaluatenew',
floor: 'https://ecma-international.org/ecma-262/7.0/#sec-algorithm-conventions',
ForBodyEvaluation: 'https://ecma-international.org/ecma-262/7.0/#sec-forbodyevaluation',
'ForIn/OfBodyEvaluation': 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset',
'ForIn/OfHeadEvaluation': 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-forin-div-ofheadevaluation-tdznames-expr-iterationkind',
FromPropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-frompropertydescriptor',
FulfillPromise: 'https://ecma-international.org/ecma-262/7.0/#sec-fulfillpromise',
FunctionAllocate: 'https://ecma-international.org/ecma-262/7.0/#sec-functionallocate',
FunctionCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-functioncreate',
FunctionDeclarationInstantiation: 'https://ecma-international.org/ecma-262/7.0/#sec-functiondeclarationinstantiation',
FunctionInitialize: 'https://ecma-international.org/ecma-262/7.0/#sec-functioninitialize',
GeneratorFunctionCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-generatorfunctioncreate',
GeneratorResume: 'https://ecma-international.org/ecma-262/7.0/#sec-generatorresume',
GeneratorResumeAbrupt: 'https://ecma-international.org/ecma-262/7.0/#sec-generatorresumeabrupt',
GeneratorStart: 'https://ecma-international.org/ecma-262/7.0/#sec-generatorstart',
GeneratorValidate: 'https://ecma-international.org/ecma-262/7.0/#sec-generatorvalidate',
GeneratorYield: 'https://ecma-international.org/ecma-262/7.0/#sec-generatoryield',
Get: 'https://ecma-international.org/ecma-262/7.0/#sec-get-o-p',
GetActiveScriptOrModule: 'https://ecma-international.org/ecma-262/7.0/#sec-getactivescriptormodule',
GetFunctionRealm: 'https://ecma-international.org/ecma-262/7.0/#sec-getfunctionrealm',
GetGlobalObject: 'https://ecma-international.org/ecma-262/7.0/#sec-getglobalobject',
GetIdentifierReference: 'https://ecma-international.org/ecma-262/7.0/#sec-getidentifierreference',
GetIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-getiterator',
IteratorNext: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratornext',
IteratorComplete: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorcomplete',
IteratorValue: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorvalue',
IteratorStep: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorstep',
IteratorClose: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorclose',
CreateIterResultObject: 'https://ecma-international.org/ecma-262/7.0/#sec-createiterresultobject',
CreateListIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createlistiterator',
Type: 'https://ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types',
thisNumberValue: 'https://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-number-prototype-object',
thisTimeValue: 'https://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-date-prototype-object',
thisStringValue: 'https://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-string-prototype-object',
RegExpExec: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpexec',
RegExpBuiltinExec: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpbuiltinexec',
GetMethod: 'https://ecma-international.org/ecma-262/7.0/#sec-getmethod',
GetModuleNamespace: 'https://ecma-international.org/ecma-262/7.0/#sec-getmodulenamespace',
GetNewTarget: 'https://ecma-international.org/ecma-262/7.0/#sec-getnewtarget',
GetOwnPropertyKeys: 'https://ecma-international.org/ecma-262/7.0/#sec-getownpropertykeys',
GetPrototypeFromConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-getprototypefromconstructor',
GetSubstitution: 'https://ecma-international.org/ecma-262/7.0/#sec-getsubstitution',
GetSuperConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-getsuperconstructor',
GetTemplateObject: 'https://ecma-international.org/ecma-262/7.0/#sec-gettemplateobject',
GetThisEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-getthisenvironment',
GetThisValue: 'https://ecma-international.org/ecma-262/7.0/#sec-getthisvalue',
GetV: 'https://ecma-international.org/ecma-262/7.0/#sec-getv',
GetValue: 'https://ecma-international.org/ecma-262/7.0/#sec-getvalue',
GetValueFromBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-getvaluefrombuffer',
GetViewValue: 'https://ecma-international.org/ecma-262/7.0/#sec-getviewvalue',
GlobalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/7.0/#sec-globaldeclarationinstantiation',
HasOwnProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-hasownproperty',
HasProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-hasproperty',
HostPromiseRejectionTracker: 'https://ecma-international.org/ecma-262/7.0/#sec-host-promise-rejection-tracker',
HostReportErrors: 'https://ecma-international.org/ecma-262/7.0/#sec-host-report-errors',
HostResolveImportedModule: 'https://ecma-international.org/ecma-262/7.0/#sec-hostresolveimportedmodule',
HourFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds',
HoursPerDay: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds',
IfAbruptRejectPromise: 'https://ecma-international.org/ecma-262/7.0/#sec-ifabruptrejectpromise',
ImportedLocalNames: 'https://ecma-international.org/ecma-262/7.0/#sec-importedlocalnames',
InitializeBoundName: 'https://ecma-international.org/ecma-262/7.0/#sec-initializeboundname',
InitializeHostDefinedRealm: 'https://ecma-international.org/ecma-262/7.0/#sec-initializehostdefinedrealm',
InitializeReferencedBinding: 'https://ecma-international.org/ecma-262/7.0/#sec-initializereferencedbinding',
InLeapYear: 'https://ecma-international.org/ecma-262/7.0/#sec-year-number',
InstanceofOperator: 'https://ecma-international.org/ecma-262/7.0/#sec-instanceofoperator',
IntegerIndexedElementGet: 'https://ecma-international.org/ecma-262/7.0/#sec-integerindexedelementget',
IntegerIndexedElementSet: 'https://ecma-international.org/ecma-262/7.0/#sec-integerindexedelementset',
IntegerIndexedObjectCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-integerindexedobjectcreate',
InternalizeJSONProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-internalizejsonproperty',
Invoke: 'https://ecma-international.org/ecma-262/7.0/#sec-invoke',
IsAccessorDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-isaccessordescriptor',
IsAnonymousFunctionDefinition: 'https://ecma-international.org/ecma-262/7.0/#sec-isanonymousfunctiondefinition',
IsArray: 'https://ecma-international.org/ecma-262/7.0/#sec-isarray',
IsCallable: 'https://ecma-international.org/ecma-262/7.0/#sec-iscallable',
IsCompatiblePropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-iscompatiblepropertydescriptor',
IsConcatSpreadable: 'https://ecma-international.org/ecma-262/7.0/#sec-isconcatspreadable',
IsConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-isconstructor',
IsDataDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-isdatadescriptor',
IsDetachedBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-isdetachedbuffer',
IsExtensible: 'https://ecma-international.org/ecma-262/7.0/#sec-isextensible-o',
IsGenericDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-isgenericdescriptor',
IsInTailPosition: 'https://ecma-international.org/ecma-262/7.0/#sec-isintailposition',
IsInteger: 'https://ecma-international.org/ecma-262/7.0/#sec-isinteger',
IsLabelledFunction: 'https://ecma-international.org/ecma-262/7.0/#sec-islabelledfunction',
IsPromise: 'https://ecma-international.org/ecma-262/7.0/#sec-ispromise',
ArraySpeciesCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-arrayspeciescreate',
IsPropertyKey: 'https://ecma-international.org/ecma-262/7.0/#sec-ispropertykey',
IsRegExp: 'https://ecma-international.org/ecma-262/7.0/#sec-isregexp',
IsWordChar: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-iswordchar-abstract-operation',
IterableToArrayLike: 'https://ecma-international.org/ecma-262/7.0/#sec-iterabletoarraylike',
IteratorClose: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorclose',
IteratorComplete: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorcomplete',
IteratorNext: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratornext',
IteratorStep: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorstep',
IteratorValue: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorvalue',
LocalTime: 'https://ecma-international.org/ecma-262/7.0/#sec-localtime',
LoopContinues: 'https://ecma-international.org/ecma-262/7.0/#sec-loopcontinues',
MakeArgGetter: 'https://ecma-international.org/ecma-262/7.0/#sec-makearggetter',
MakeArgSetter: 'https://ecma-international.org/ecma-262/7.0/#sec-makeargsetter',
MakeClassConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-makeclassconstructor',
MakeConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-makeconstructor',
MakeDate: 'https://ecma-international.org/ecma-262/7.0/#sec-makedate',
MakeDay: 'https://ecma-international.org/ecma-262/7.0/#sec-makeday',
MakeMethod: 'https://ecma-international.org/ecma-262/7.0/#sec-makemethod',
MakeSuperPropertyReference: 'https://ecma-international.org/ecma-262/7.0/#sec-makesuperpropertyreference',
MakeTime: 'https://ecma-international.org/ecma-262/7.0/#sec-maketime',
max: 'https://ecma-international.org/ecma-262/7.0/#sec-algorithm-conventions',
min: 'https://ecma-international.org/ecma-262/7.0/#sec-algorithm-conventions',
MinFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds',
MinutesPerHour: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds',
ModuleNamespaceCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-modulenamespacecreate',
modulo: 'https://ecma-international.org/ecma-262/7.0/#sec-algorithm-conventions',
MonthFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-month-number',
msFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds',
msPerDay: 'https://ecma-international.org/ecma-262/7.0/#sec-day-number-and-time-within-day',
msPerHour: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds',
msPerMinute: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds',
msPerSecond: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds',
NewDeclarativeEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-newdeclarativeenvironment',
NewFunctionEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-newfunctionenvironment',
NewGlobalEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-newglobalenvironment',
NewModuleEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-newmoduleenvironment',
NewObjectEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-newobjectenvironment',
NewPromiseCapability: 'https://ecma-international.org/ecma-262/7.0/#sec-newpromisecapability',
NextJob: 'https://ecma-international.org/ecma-262/7.0/#sec-nextjob-result',
NormalCompletion: 'https://ecma-international.org/ecma-262/7.0/#sec-normalcompletion',
ObjectCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-objectcreate',
AdvanceStringIndex: 'https://ecma-international.org/ecma-262/7.0/#sec-advancestringindex',
ObjectDefineProperties: 'https://ecma-international.org/ecma-262/7.0/#sec-objectdefineproperties',
OrdinaryCallBindThis: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarycallbindthis',
OrdinaryCallEvaluateBody: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarycallevaluatebody',
OrdinaryCreateFromConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarycreatefromconstructor',
OrdinaryDefineOwnProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarydefineownproperty',
OrdinaryDelete: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarydelete',
OrdinaryGet: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryget',
OrdinaryGetOwnProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarygetownproperty',
OrdinaryGetPrototypeOf: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarygetprototypeof',
OrdinaryHasInstance: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryhasinstance',
OrdinaryHasProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryhasproperty',
OrdinaryIsExtensible: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryisextensible',
OrdinaryOwnPropertyKeys: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryownpropertykeys',
OrdinaryPreventExtensions: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarypreventextensions',
OrdinarySet: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryset',
NormalCompletion: 'https://ecma-international.org/ecma-262/7.0/#sec-normalcompletion'
OrdinarySetPrototypeOf: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarysetprototypeof',
ParseModule: 'https://ecma-international.org/ecma-262/7.0/#sec-parsemodule',
ParseScript: 'https://ecma-international.org/ecma-262/7.0/#sec-parse-script',
PerformEval: 'https://ecma-international.org/ecma-262/7.0/#sec-performeval',
PerformPromiseAll: 'https://ecma-international.org/ecma-262/7.0/#sec-performpromiseall',
PerformPromiseRace: 'https://ecma-international.org/ecma-262/7.0/#sec-performpromiserace',
PerformPromiseThen: 'https://ecma-international.org/ecma-262/7.0/#sec-performpromisethen',
PrepareForOrdinaryCall: 'https://ecma-international.org/ecma-262/7.0/#sec-prepareforordinarycall',
PrepareForTailCall: 'https://ecma-international.org/ecma-262/7.0/#sec-preparefortailcall',
PromiseReactionJob: 'https://ecma-international.org/ecma-262/7.0/#sec-promisereactionjob',
PromiseResolveThenableJob: 'https://ecma-international.org/ecma-262/7.0/#sec-promiseresolvethenablejob',
ProxyCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-proxycreate',
PutValue: 'https://ecma-international.org/ecma-262/7.0/#sec-putvalue',
QuoteJSONString: 'https://ecma-international.org/ecma-262/7.0/#sec-quotejsonstring',
RegExpAlloc: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpalloc',
RegExpBuiltinExec: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpbuiltinexec',
RegExpCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpcreate',
RegExpExec: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpexec',
RegExpInitialize: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpinitialize',
RejectPromise: 'https://ecma-international.org/ecma-262/7.0/#sec-rejectpromise',
RepeatMatcher: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-repeatmatcher-abstract-operation',
RequireObjectCoercible: 'https://ecma-international.org/ecma-262/7.0/#sec-requireobjectcoercible',
ResolveBinding: 'https://ecma-international.org/ecma-262/7.0/#sec-resolvebinding',
ResolveThisBinding: 'https://ecma-international.org/ecma-262/7.0/#sec-resolvethisbinding',
ReturnIfAbrupt: 'https://ecma-international.org/ecma-262/7.0/#sec-returnifabrupt',
SameValue: 'https://ecma-international.org/ecma-262/7.0/#sec-samevalue',
SameValueNonNumber: 'https://ecma-international.org/ecma-262/7.0/#sec-samevaluenonnumber',
SameValueZero: 'https://ecma-international.org/ecma-262/7.0/#sec-samevaluezero',
ScriptEvaluation: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-scriptevaluation',
ScriptEvaluationJob: 'https://ecma-international.org/ecma-262/7.0/#sec-scriptevaluationjob',
SecFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds',
SecondsPerMinute: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds',
SerializeJSONArray: 'https://ecma-international.org/ecma-262/7.0/#sec-serializejsonarray',
SerializeJSONObject: 'https://ecma-international.org/ecma-262/7.0/#sec-serializejsonobject',
SerializeJSONProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-serializejsonproperty',
Set: 'https://ecma-international.org/ecma-262/7.0/#sec-set-o-p-v-throw',
SetDefaultGlobalBindings: 'https://ecma-international.org/ecma-262/7.0/#sec-setdefaultglobalbindings',
SetFunctionName: 'https://ecma-international.org/ecma-262/7.0/#sec-setfunctionname',
SetIntegrityLevel: 'https://ecma-international.org/ecma-262/7.0/#sec-setintegritylevel',
SetRealmGlobalObject: 'https://ecma-international.org/ecma-262/7.0/#sec-setrealmglobalobject',
SetValueInBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-setvalueinbuffer',
SetViewValue: 'https://ecma-international.org/ecma-262/7.0/#sec-setviewvalue',
SortCompare: 'https://ecma-international.org/ecma-262/7.0/#sec-sortcompare',
SpeciesConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-speciesconstructor',
SplitMatch: 'https://ecma-international.org/ecma-262/7.0/#sec-splitmatch',
'Strict Equality Comparison': 'https://ecma-international.org/ecma-262/7.0/#sec-strict-equality-comparison',
StringCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-stringcreate',
SymbolDescriptiveString: 'https://ecma-international.org/ecma-262/7.0/#sec-symboldescriptivestring',
TestIntegrityLevel: 'https://ecma-international.org/ecma-262/7.0/#sec-testintegritylevel',
thisBooleanValue: 'https://ecma-international.org/ecma-262/7.0/#sec-thisbooleanvalue',
thisNumberValue: 'https://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-number-prototype-object',
thisStringValue: 'https://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-string-prototype-object',
thisTimeValue: 'https://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-date-prototype-object',
TimeClip: 'https://ecma-international.org/ecma-262/7.0/#sec-timeclip',
TimeFromYear: 'https://ecma-international.org/ecma-262/7.0/#sec-year-number',
TimeWithinDay: 'https://ecma-international.org/ecma-262/7.0/#sec-day-number-and-time-within-day',
ToBoolean: 'https://ecma-international.org/ecma-262/7.0/#sec-toboolean',
ToDateString: 'https://ecma-international.org/ecma-262/7.0/#sec-todatestring',
ToInt16: 'https://ecma-international.org/ecma-262/7.0/#sec-toint16',
ToInt32: 'https://ecma-international.org/ecma-262/7.0/#sec-toint32',
ToInt8: 'https://ecma-international.org/ecma-262/7.0/#sec-toint8',
ToInteger: 'https://ecma-international.org/ecma-262/7.0/#sec-tointeger',
ToLength: 'https://ecma-international.org/ecma-262/7.0/#sec-tolength',
ToNumber: 'https://ecma-international.org/ecma-262/7.0/#sec-tonumber',
ToObject: 'https://ecma-international.org/ecma-262/7.0/#sec-toobject',
TopLevelModuleEvaluationJob: 'https://ecma-international.org/ecma-262/7.0/#sec-toplevelmoduleevaluationjob',
ToPrimitive: 'https://ecma-international.org/ecma-262/7.0/#sec-toprimitive',
ToPropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-topropertydescriptor',
ToPropertyKey: 'https://ecma-international.org/ecma-262/7.0/#sec-topropertykey',
ToString: 'https://ecma-international.org/ecma-262/7.0/#sec-tostring',
'ToString Applied to the Number Type': 'https://ecma-international.org/ecma-262/7.0/#sec-tostring-applied-to-the-number-type',
ToUint16: 'https://ecma-international.org/ecma-262/7.0/#sec-touint16',
ToUint32: 'https://ecma-international.org/ecma-262/7.0/#sec-touint32',
ToUint8: 'https://ecma-international.org/ecma-262/7.0/#sec-touint8',
ToUint8Clamp: 'https://ecma-international.org/ecma-262/7.0/#sec-touint8clamp',
TriggerPromiseReactions: 'https://ecma-international.org/ecma-262/7.0/#sec-triggerpromisereactions',
Type: 'https://ecma-international.org/ecma-262/7.0/#sec-ecmascript-data-types-and-values',
TypedArrayCreate: 'https://ecma-international.org/ecma-262/7.0/#typedarray-create',
TypedArraySpeciesCreate: 'https://ecma-international.org/ecma-262/7.0/#typedarray-species-create',
UpdateEmpty: 'https://ecma-international.org/ecma-262/7.0/#sec-updateempty',
UTC: 'https://ecma-international.org/ecma-262/7.0/#sec-utc-t',
UTF16Decode: 'https://ecma-international.org/ecma-262/7.0/#sec-utf16decode',
UTF16Encoding: 'https://ecma-international.org/ecma-262/7.0/#sec-utf16encoding',
ValidateAndApplyPropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-validateandapplypropertydescriptor',
ValidateTypedArray: 'https://ecma-international.org/ecma-262/7.0/#sec-validatetypedarray',
WeekDay: 'https://ecma-international.org/ecma-262/7.0/#sec-week-day',
YearFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-year-number'
};
+317 -68
View File
@@ -1,82 +1,331 @@
'use strict';
module.exports = {
IsPropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-property-descriptor-specification-type',
IsAccessorDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-isaccessordescriptor',
IsDataDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-isdatadescriptor',
IsGenericDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-isgenericdescriptor',
FromPropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-frompropertydescriptor',
ToPropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-topropertydescriptor',
CompletePropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-completepropertydescriptor',
ToPrimitive: 'https://ecma-international.org/ecma-262/8.0/#sec-toprimitive',
ToBoolean: 'https://ecma-international.org/ecma-262/8.0/#sec-toboolean',
ToNumber: 'https://ecma-international.org/ecma-262/8.0/#sec-tonumber',
ToInteger: 'https://ecma-international.org/ecma-262/8.0/#sec-tointeger',
ToInt32: 'https://ecma-international.org/ecma-262/8.0/#sec-toint32',
ToUint32: 'https://ecma-international.org/ecma-262/8.0/#sec-touint32',
ToInt16: 'https://ecma-international.org/ecma-262/8.0/#sec-toint16',
ToUint16: 'https://ecma-international.org/ecma-262/8.0/#sec-touint16',
ToInt8: 'https://ecma-international.org/ecma-262/8.0/#sec-toint8',
ToUint8: 'https://ecma-international.org/ecma-262/8.0/#sec-touint8',
ToUint8Clamp: 'https://ecma-international.org/ecma-262/8.0/#sec-touint8clamp',
ToString: 'https://ecma-international.org/ecma-262/8.0/#sec-tostring',
ToObject: 'https://ecma-international.org/ecma-262/8.0/#sec-toobject',
ToPropertyKey: 'https://ecma-international.org/ecma-262/8.0/#sec-topropertykey',
ToLength: 'https://ecma-international.org/ecma-262/8.0/#sec-tolength',
IsPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type', // not actually an abstract op
abs: 'https://ecma-international.org/ecma-262/8.0/#eqn-abs',
'Abstract Equality Comparison': 'https://ecma-international.org/ecma-262/8.0/#sec-abstract-equality-comparison',
'Abstract Relational Comparison': 'https://ecma-international.org/ecma-262/8.0/#sec-abstract-relational-comparison',
AddRestrictedFunctionProperties: 'https://ecma-international.org/ecma-262/8.0/#sec-addrestrictedfunctionproperties',
AddWaiter: 'https://ecma-international.org/ecma-262/8.0/#sec-addwaiter',
AdvanceStringIndex: 'https://ecma-international.org/ecma-262/8.0/#sec-advancestringindex',
'agent-order': 'https://ecma-international.org/ecma-262/8.0/#sec-agent-order',
AgentCanSuspend: 'https://ecma-international.org/ecma-262/8.0/#sec-agentcansuspend',
AgentSignifier: 'https://ecma-international.org/ecma-262/8.0/#sec-agentsignifier',
AllocateArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-allocatearraybuffer',
AllocateSharedArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-allocatesharedarraybuffer',
AllocateTypedArray: 'https://ecma-international.org/ecma-262/8.0/#sec-allocatetypedarray',
AllocateTypedArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-allocatetypedarraybuffer',
ArrayCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-arraycreate',
ArraySetLength: 'https://ecma-international.org/ecma-262/8.0/#sec-arraysetlength',
ArraySpeciesCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-arrayspeciescreate',
AsyncFunctionAwait: 'https://ecma-international.org/ecma-262/8.0/#sec-async-functions-abstract-operations-async-function-await',
AsyncFunctionCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-async-functions-abstract-operations-async-function-create',
AsyncFunctionStart: 'https://ecma-international.org/ecma-262/8.0/#sec-async-functions-abstract-operations-async-function-start',
AtomicLoad: 'https://ecma-international.org/ecma-262/8.0/#sec-atomicload',
AtomicReadModifyWrite: 'https://ecma-international.org/ecma-262/8.0/#sec-atomicreadmodifywrite',
BlockDeclarationInstantiation: 'https://ecma-international.org/ecma-262/8.0/#sec-blockdeclarationinstantiation',
BoundFunctionCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-boundfunctioncreate',
Call: 'https://ecma-international.org/ecma-262/8.0/#sec-call',
Canonicalize: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-canonicalize-ch',
CanonicalNumericIndexString: 'https://ecma-international.org/ecma-262/8.0/#sec-canonicalnumericindexstring',
ToIndex: 'https://ecma-international.org/ecma-262/8.0/#sec-toindex',
RequireObjectCoercible: 'https://ecma-international.org/ecma-262/8.0/#sec-requireobjectcoercible',
IsArray: 'https://ecma-international.org/ecma-262/8.0/#sec-isarray',
IsCallable: 'https://ecma-international.org/ecma-262/8.0/#sec-iscallable',
IsConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-isconstructor',
IsExtensible: 'https://ecma-international.org/ecma-262/8.0/#sec-isextensible-o',
IsInteger: 'https://ecma-international.org/ecma-262/8.0/#sec-isinteger',
IsPropertyKey: 'https://ecma-international.org/ecma-262/8.0/#sec-ispropertykey',
IsRegExp: 'https://ecma-international.org/ecma-262/8.0/#sec-isregexp',
SameValue: 'https://ecma-international.org/ecma-262/8.0/#sec-samevalue',
SameValueZero: 'https://ecma-international.org/ecma-262/8.0/#sec-samevaluezero',
SameValueNonNumber: 'https://ecma-international.org/ecma-262/8.0/#sec-samevaluenonnumber',
Get: 'https://ecma-international.org/ecma-262/8.0/#sec-get-o-p',
GetV: 'https://ecma-international.org/ecma-262/8.0/#sec-getv',
Set: 'https://ecma-international.org/ecma-262/8.0/#sec-set-o-p-v-throw',
CharacterRange: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-characterrange-abstract-operation',
CharacterRangeOrUnion: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-characterrangeorunion-abstract-operation',
CharacterSetMatcher: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-charactersetmatcher-abstract-operation',
CloneArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-clonearraybuffer',
CompletePropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-completepropertydescriptor',
Completion: 'https://ecma-international.org/ecma-262/8.0/#sec-completion-record-specification-type',
ComposeWriteEventBytes: 'https://ecma-international.org/ecma-262/8.0/#sec-composewriteeventbytes',
Construct: 'https://ecma-international.org/ecma-262/8.0/#sec-construct',
CopyDataBlockBytes: 'https://ecma-international.org/ecma-262/8.0/#sec-copydatablockbytes',
CreateArrayFromList: 'https://ecma-international.org/ecma-262/8.0/#sec-createarrayfromlist',
CreateArrayIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createarrayiterator',
CreateBuiltinFunction: 'https://ecma-international.org/ecma-262/8.0/#sec-createbuiltinfunction',
CreateByteDataBlock: 'https://ecma-international.org/ecma-262/8.0/#sec-createbytedatablock',
CreateDataProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-createdataproperty',
CreateMethodProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-createmethodproperty',
CreateDataPropertyOrThrow: 'https://ecma-international.org/ecma-262/8.0/#sec-createdatapropertyorthrow',
CreateDynamicFunction: 'https://ecma-international.org/ecma-262/8.0/#sec-createdynamicfunction',
CreateHTML: 'https://ecma-international.org/ecma-262/8.0/#sec-createhtml',
CreateIntrinsics: 'https://ecma-international.org/ecma-262/8.0/#sec-createintrinsics',
CreateIterResultObject: 'https://ecma-international.org/ecma-262/8.0/#sec-createiterresultobject',
CreateListFromArrayLike: 'https://ecma-international.org/ecma-262/8.0/#sec-createlistfromarraylike',
CreateListIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createlistiterator',
CreateMapIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createmapiterator',
CreateMappedArgumentsObject: 'https://ecma-international.org/ecma-262/8.0/#sec-createmappedargumentsobject',
CreateMethodProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-createmethodproperty',
CreatePerIterationEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-createperiterationenvironment',
CreateRealm: 'https://ecma-international.org/ecma-262/8.0/#sec-createrealm',
CreateResolvingFunctions: 'https://ecma-international.org/ecma-262/8.0/#sec-createresolvingfunctions',
CreateSetIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createsetiterator',
CreateSharedByteDataBlock: 'https://ecma-international.org/ecma-262/8.0/#sec-createsharedbytedatablock',
CreateStringIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createstringiterator',
CreateUnmappedArgumentsObject: 'https://ecma-international.org/ecma-262/8.0/#sec-createunmappedargumentsobject',
DateFromTime: 'https://ecma-international.org/ecma-262/8.0/#sec-date-number',
Day: 'https://ecma-international.org/ecma-262/8.0/#eqn-Day',
DayFromYear: 'https://ecma-international.org/ecma-262/8.0/#eqn-DaysFromYear',
DaysInYear: 'https://ecma-international.org/ecma-262/8.0/#eqn-DaysInYear',
DayWithinYear: 'https://ecma-international.org/ecma-262/8.0/#eqn-DayWithinYear',
Decode: 'https://ecma-international.org/ecma-262/8.0/#sec-decode',
DefinePropertyOrThrow: 'https://ecma-international.org/ecma-262/8.0/#sec-definepropertyorthrow',
DeletePropertyOrThrow: 'https://ecma-international.org/ecma-262/8.0/#sec-deletepropertyorthrow',
GetMethod: 'https://ecma-international.org/ecma-262/8.0/#sec-getmethod',
HasProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-hasproperty',
HasOwnProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-hasownproperty',
Call: 'https://ecma-international.org/ecma-262/8.0/#sec-call',
Construct: 'https://ecma-international.org/ecma-262/8.0/#sec-construct',
SetIntegrityLevel: 'https://ecma-international.org/ecma-262/8.0/#sec-setintegritylevel',
TestIntegrityLevel: 'https://ecma-international.org/ecma-262/8.0/#sec-testintegritylevel',
CreateArrayFromList: 'https://ecma-international.org/ecma-262/8.0/#sec-createarrayfromlist',
CreateListFromArrayLike: 'https://ecma-international.org/ecma-262/8.0/#sec-createlistfromarraylike',
Invoke: 'https://ecma-international.org/ecma-262/8.0/#sec-invoke',
OrdinaryHasInstance: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryhasinstance',
SpeciesConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-speciesconstructor',
DetachArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-detacharraybuffer',
Encode: 'https://ecma-international.org/ecma-262/8.0/#sec-encode',
EnqueueJob: 'https://ecma-international.org/ecma-262/8.0/#sec-enqueuejob',
EnterCriticalSection: 'https://ecma-international.org/ecma-262/8.0/#sec-entercriticalsection',
EnumerableOwnProperties: 'https://ecma-international.org/ecma-262/8.0/#sec-enumerableownproperties',
EnumerateObjectProperties: 'https://ecma-international.org/ecma-262/8.0/#sec-enumerate-object-properties',
EscapeRegExpPattern: 'https://ecma-international.org/ecma-262/8.0/#sec-escaperegexppattern',
EvalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/8.0/#sec-evaldeclarationinstantiation',
EvaluateCall: 'https://ecma-international.org/ecma-262/8.0/#sec-evaluatecall',
EvaluateDirectCall: 'https://ecma-international.org/ecma-262/8.0/#sec-evaluatedirectcall',
EvaluateNew: 'https://ecma-international.org/ecma-262/8.0/#sec-evaluatenew',
EventSet: 'https://ecma-international.org/ecma-262/8.0/#sec-event-set',
floor: 'https://ecma-international.org/ecma-262/8.0/#eqn-floor',
ForBodyEvaluation: 'https://ecma-international.org/ecma-262/8.0/#sec-forbodyevaluation',
'ForIn/OfBodyEvaluation': 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset',
'ForIn/OfHeadEvaluation': 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-forin-div-ofheadevaluation-tdznames-expr-iterationkind',
FromPropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-frompropertydescriptor',
FulfillPromise: 'https://ecma-international.org/ecma-262/8.0/#sec-fulfillpromise',
FunctionAllocate: 'https://ecma-international.org/ecma-262/8.0/#sec-functionallocate',
FunctionCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-functioncreate',
FunctionDeclarationInstantiation: 'https://ecma-international.org/ecma-262/8.0/#sec-functiondeclarationinstantiation',
FunctionInitialize: 'https://ecma-international.org/ecma-262/8.0/#sec-functioninitialize',
GeneratorFunctionCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-generatorfunctioncreate',
GeneratorResume: 'https://ecma-international.org/ecma-262/8.0/#sec-generatorresume',
GeneratorResumeAbrupt: 'https://ecma-international.org/ecma-262/8.0/#sec-generatorresumeabrupt',
GeneratorStart: 'https://ecma-international.org/ecma-262/8.0/#sec-generatorstart',
GeneratorValidate: 'https://ecma-international.org/ecma-262/8.0/#sec-generatorvalidate',
GeneratorYield: 'https://ecma-international.org/ecma-262/8.0/#sec-generatoryield',
Get: 'https://ecma-international.org/ecma-262/8.0/#sec-get-o-p',
GetActiveScriptOrModule: 'https://ecma-international.org/ecma-262/8.0/#sec-getactivescriptormodule',
GetBase: 'https://ecma-international.org/ecma-262/8.0/#ao-getbase',
GetFunctionRealm: 'https://ecma-international.org/ecma-262/8.0/#sec-getfunctionrealm',
GetGlobalObject: 'https://ecma-international.org/ecma-262/8.0/#sec-getglobalobject',
GetIdentifierReference: 'https://ecma-international.org/ecma-262/8.0/#sec-getidentifierreference',
GetIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-getiterator',
IteratorNext: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratornext',
IteratorComplete: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorcomplete',
IteratorValue: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorvalue',
IteratorStep: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorstep',
IteratorClose: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorclose',
CreateIterResultObject: 'https://ecma-international.org/ecma-262/8.0/#sec-createiterresultobject',
CreateListIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createlistiterator',
Type: 'https://ecma-international.org/ecma-262/8.0/#sec-ecmascript-language-types',
thisNumberValue: 'https://ecma-international.org/ecma-262/8.0/#sec-properties-of-the-number-prototype-object',
thisTimeValue: 'https://ecma-international.org/ecma-262/8.0/#sec-properties-of-the-date-prototype-object',
thisStringValue: 'https://ecma-international.org/ecma-262/8.0/#sec-properties-of-the-string-prototype-object',
RegExpExec: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpexec',
RegExpBuiltinExec: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpbuiltinexec',
GetMethod: 'https://ecma-international.org/ecma-262/8.0/#sec-getmethod',
GetModifySetValueInBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-getmodifysetvalueinbuffer',
GetModuleNamespace: 'https://ecma-international.org/ecma-262/8.0/#sec-getmodulenamespace',
GetNewTarget: 'https://ecma-international.org/ecma-262/8.0/#sec-getnewtarget',
GetOwnPropertyKeys: 'https://ecma-international.org/ecma-262/8.0/#sec-getownpropertykeys',
GetPrototypeFromConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-getprototypefromconstructor',
GetReferencedName: 'https://ecma-international.org/ecma-262/8.0/#ao-getreferencedname',
GetSubstitution: 'https://ecma-international.org/ecma-262/8.0/#sec-getsubstitution',
GetSuperConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-getsuperconstructor',
GetTemplateObject: 'https://ecma-international.org/ecma-262/8.0/#sec-gettemplateobject',
GetThisEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-getthisenvironment',
GetThisValue: 'https://ecma-international.org/ecma-262/8.0/#sec-getthisvalue',
GetV: 'https://ecma-international.org/ecma-262/8.0/#sec-getv',
GetValue: 'https://ecma-international.org/ecma-262/8.0/#sec-getvalue',
GetValueFromBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-getvaluefrombuffer',
GetViewValue: 'https://ecma-international.org/ecma-262/8.0/#sec-getviewvalue',
GetWaiterList: 'https://ecma-international.org/ecma-262/8.0/#sec-getwaiterlist',
GlobalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/8.0/#sec-globaldeclarationinstantiation',
'happens-before': 'https://ecma-international.org/ecma-262/8.0/#sec-happens-before',
HasOwnProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-hasownproperty',
HasPrimitiveBase: 'https://ecma-international.org/ecma-262/8.0/#ao-hasprimitivebase',
HasProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-hasproperty',
'host-synchronizes-with': 'https://ecma-international.org/ecma-262/8.0/#sec-host-synchronizes-with',
HostEnsureCanCompileStrings: 'https://ecma-international.org/ecma-262/8.0/#sec-hostensurecancompilestrings',
HostEventSet: 'https://ecma-international.org/ecma-262/8.0/#sec-hosteventset',
HostPromiseRejectionTracker: 'https://ecma-international.org/ecma-262/8.0/#sec-host-promise-rejection-tracker',
HostReportErrors: 'https://ecma-international.org/ecma-262/8.0/#sec-host-report-errors',
HostResolveImportedModule: 'https://ecma-international.org/ecma-262/8.0/#sec-hostresolveimportedmodule',
HourFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-HourFromTime',
HoursPerDay: 'https://ecma-international.org/ecma-262/8.0/#eqn-HoursPerDay',
IfAbruptRejectPromise: 'https://ecma-international.org/ecma-262/8.0/#sec-ifabruptrejectpromise',
ImportedLocalNames: 'https://ecma-international.org/ecma-262/8.0/#sec-importedlocalnames',
InitializeBoundName: 'https://ecma-international.org/ecma-262/8.0/#sec-initializeboundname',
InitializeHostDefinedRealm: 'https://ecma-international.org/ecma-262/8.0/#sec-initializehostdefinedrealm',
InitializeReferencedBinding: 'https://ecma-international.org/ecma-262/8.0/#sec-initializereferencedbinding',
InLeapYear: 'https://ecma-international.org/ecma-262/8.0/#eqn-InLeapYear',
InstanceofOperator: 'https://ecma-international.org/ecma-262/8.0/#sec-instanceofoperator',
IntegerIndexedElementGet: 'https://ecma-international.org/ecma-262/8.0/#sec-integerindexedelementget',
IntegerIndexedElementSet: 'https://ecma-international.org/ecma-262/8.0/#sec-integerindexedelementset',
IntegerIndexedObjectCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-integerindexedobjectcreate',
InternalizeJSONProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-internalizejsonproperty',
Invoke: 'https://ecma-international.org/ecma-262/8.0/#sec-invoke',
IsAccessorDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-isaccessordescriptor',
IsAnonymousFunctionDefinition: 'https://ecma-international.org/ecma-262/8.0/#sec-isanonymousfunctiondefinition',
IsArray: 'https://ecma-international.org/ecma-262/8.0/#sec-isarray',
IsCallable: 'https://ecma-international.org/ecma-262/8.0/#sec-iscallable',
IsCompatiblePropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-iscompatiblepropertydescriptor',
IsConcatSpreadable: 'https://ecma-international.org/ecma-262/8.0/#sec-isconcatspreadable',
IsConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-isconstructor',
IsDataDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-isdatadescriptor',
IsDetachedBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-isdetachedbuffer',
IsExtensible: 'https://ecma-international.org/ecma-262/8.0/#sec-isextensible-o',
IsGenericDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-isgenericdescriptor',
IsInTailPosition: 'https://ecma-international.org/ecma-262/8.0/#sec-isintailposition',
IsInteger: 'https://ecma-international.org/ecma-262/8.0/#sec-isinteger',
IsLabelledFunction: 'https://ecma-international.org/ecma-262/8.0/#sec-islabelledfunction',
IsPromise: 'https://ecma-international.org/ecma-262/8.0/#sec-ispromise',
ArraySpeciesCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-arrayspeciescreate',
ObjectCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-objectcreate',
AdvanceStringIndex: 'https://ecma-international.org/ecma-262/8.0/#sec-advancestringindex',
OrdinarySet: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryset',
NormalCompletion: 'https://ecma-international.org/ecma-262/8.0/#sec-normalcompletion',
IsPropertyKey: 'https://ecma-international.org/ecma-262/8.0/#sec-ispropertykey',
IsPropertyReference: 'https://ecma-international.org/ecma-262/8.0/#ao-ispropertyreference',
IsRegExp: 'https://ecma-international.org/ecma-262/8.0/#sec-isregexp',
IsSharedArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-issharedarraybuffer',
IsStrictReference: 'https://ecma-international.org/ecma-262/8.0/#ao-isstrictreference',
IsSuperReference: 'https://ecma-international.org/ecma-262/8.0/#ao-issuperreference',
IsUnresolvableReference: 'https://ecma-international.org/ecma-262/8.0/#ao-isunresolvablereference',
IsWordChar: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-iswordchar-abstract-operation',
IterableToList: 'https://ecma-international.org/ecma-262/8.0/#sec-iterabletolist',
IteratorClose: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorclose',
IteratorComplete: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorcomplete',
IteratorNext: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratornext',
IteratorStep: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorstep',
IteratorValue: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorvalue',
LeaveCriticalSection: 'https://ecma-international.org/ecma-262/8.0/#sec-leavecriticalsection',
LocalTime: 'https://ecma-international.org/ecma-262/8.0/#sec-localtime',
LoopContinues: 'https://ecma-international.org/ecma-262/8.0/#sec-loopcontinues',
MakeArgGetter: 'https://ecma-international.org/ecma-262/8.0/#sec-makearggetter',
MakeArgSetter: 'https://ecma-international.org/ecma-262/8.0/#sec-makeargsetter',
MakeClassConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-makeclassconstructor',
MakeConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-makeconstructor',
MakeDate: 'https://ecma-international.org/ecma-262/8.0/#sec-makedate',
MakeDay: 'https://ecma-international.org/ecma-262/8.0/#sec-makeday',
MakeMethod: 'https://ecma-international.org/ecma-262/8.0/#sec-makemethod',
MakeSuperPropertyReference: 'https://ecma-international.org/ecma-262/8.0/#sec-makesuperpropertyreference',
MakeTime: 'https://ecma-international.org/ecma-262/8.0/#sec-maketime',
max: 'https://ecma-international.org/ecma-262/8.0/#eqn-max',
'memory-order': 'https://ecma-international.org/ecma-262/8.0/#sec-memory-order',
min: 'https://ecma-international.org/ecma-262/8.0/#eqn-min',
MinFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-MinFromTime',
MinutesPerHour: 'https://ecma-international.org/ecma-262/8.0/#eqn-MinutesPerHour',
ModuleNamespaceCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-modulenamespacecreate',
modulo: 'https://ecma-international.org/ecma-262/8.0/#eqn-modulo',
MonthFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-MonthFromTime',
msFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-msFromTime',
msPerDay: 'https://ecma-international.org/ecma-262/8.0/#eqn-msPerDay',
msPerHour: 'https://ecma-international.org/ecma-262/8.0/#eqn-msPerHour',
msPerMinute: 'https://ecma-international.org/ecma-262/8.0/#eqn-msPerMinute',
msPerSecond: 'https://ecma-international.org/ecma-262/8.0/#eqn-msPerSecond',
NewDeclarativeEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-newdeclarativeenvironment',
NewFunctionEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-newfunctionenvironment',
NewGlobalEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-newglobalenvironment',
NewModuleEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-newmoduleenvironment',
NewObjectEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-newobjectenvironment',
NewPromiseCapability: 'https://ecma-international.org/ecma-262/8.0/#sec-newpromisecapability',
NormalCompletion: 'https://ecma-international.org/ecma-262/8.0/#sec-normalcompletion',
NumberToRawBytes: 'https://ecma-international.org/ecma-262/8.0/#sec-numbertorawbytes',
ObjectCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-objectcreate',
ObjectDefineProperties: 'https://ecma-international.org/ecma-262/8.0/#sec-objectdefineproperties',
OrdinaryCallBindThis: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarycallbindthis',
OrdinaryCallEvaluateBody: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarycallevaluatebody',
OrdinaryCreateFromConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarycreatefromconstructor',
OrdinaryDefineOwnProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarydefineownproperty',
OrdinaryDelete: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarydelete',
OrdinaryGet: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryget',
OrdinaryGetOwnProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarygetownproperty',
OrdinaryGetPrototypeOf: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarygetprototypeof',
OrdinaryHasInstance: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryhasinstance',
OrdinaryHasProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryhasproperty',
OrdinaryIsExtensible: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryisextensible',
OrdinaryOwnPropertyKeys: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryownpropertykeys',
OrdinaryPreventExtensions: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarypreventextensions',
OrdinarySet: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryset',
OrdinarySetPrototypeOf: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarysetprototypeof',
OrdinaryToPrimitive: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarytoprimitive',
ParseModule: 'https://ecma-international.org/ecma-262/8.0/#sec-parsemodule',
ParseScript: 'https://ecma-international.org/ecma-262/8.0/#sec-parse-script',
PerformEval: 'https://ecma-international.org/ecma-262/8.0/#sec-performeval',
PerformPromiseAll: 'https://ecma-international.org/ecma-262/8.0/#sec-performpromiseall',
PerformPromiseRace: 'https://ecma-international.org/ecma-262/8.0/#sec-performpromiserace',
PerformPromiseThen: 'https://ecma-international.org/ecma-262/8.0/#sec-performpromisethen',
PrepareForOrdinaryCall: 'https://ecma-international.org/ecma-262/8.0/#sec-prepareforordinarycall',
PrepareForTailCall: 'https://ecma-international.org/ecma-262/8.0/#sec-preparefortailcall',
PromiseReactionJob: 'https://ecma-international.org/ecma-262/8.0/#sec-promisereactionjob',
PromiseResolveThenableJob: 'https://ecma-international.org/ecma-262/8.0/#sec-promiseresolvethenablejob',
ProxyCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-proxycreate',
PutValue: 'https://ecma-international.org/ecma-262/8.0/#sec-putvalue',
QuoteJSONString: 'https://ecma-international.org/ecma-262/8.0/#sec-quotejsonstring',
RawBytesToNumber: 'https://ecma-international.org/ecma-262/8.0/#sec-rawbytestonumber',
'reads-bytes-from': 'https://ecma-international.org/ecma-262/8.0/#sec-reads-bytes-from',
'reads-from': 'https://ecma-international.org/ecma-262/8.0/#sec-reads-from',
RegExpAlloc: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpalloc',
RegExpBuiltinExec: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpbuiltinexec',
RegExpCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpcreate',
RegExpExec: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpexec',
RegExpInitialize: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpinitialize',
RejectPromise: 'https://ecma-international.org/ecma-262/8.0/#sec-rejectpromise',
RemoveWaiter: 'https://ecma-international.org/ecma-262/8.0/#sec-removewaiter',
RemoveWaiters: 'https://ecma-international.org/ecma-262/8.0/#sec-removewaiters',
RepeatMatcher: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-repeatmatcher-abstract-operation',
RequireObjectCoercible: 'https://ecma-international.org/ecma-262/8.0/#sec-requireobjectcoercible',
ResolveBinding: 'https://ecma-international.org/ecma-262/8.0/#sec-resolvebinding',
ResolveThisBinding: 'https://ecma-international.org/ecma-262/8.0/#sec-resolvethisbinding',
ReturnIfAbrupt: 'https://ecma-international.org/ecma-262/8.0/#sec-returnifabrupt',
RunJobs: 'https://ecma-international.org/ecma-262/8.0/#sec-runjobs',
SameValue: 'https://ecma-international.org/ecma-262/8.0/#sec-samevalue',
SameValueNonNumber: 'https://ecma-international.org/ecma-262/8.0/#sec-samevaluenonnumber',
SameValueZero: 'https://ecma-international.org/ecma-262/8.0/#sec-samevaluezero',
ScriptEvaluation: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-scriptevaluation',
ScriptEvaluationJob: 'https://ecma-international.org/ecma-262/8.0/#sec-scriptevaluationjob',
SecFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-SecFromTime',
SecondsPerMinute: 'https://ecma-international.org/ecma-262/8.0/#eqn-SecondsPerMinute',
SerializeJSONArray: 'https://ecma-international.org/ecma-262/8.0/#sec-serializejsonarray',
SerializeJSONObject: 'https://ecma-international.org/ecma-262/8.0/#sec-serializejsonobject',
SerializeJSONProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-serializejsonproperty',
Set: 'https://ecma-international.org/ecma-262/8.0/#sec-set-o-p-v-throw',
SetDefaultGlobalBindings: 'https://ecma-international.org/ecma-262/8.0/#sec-setdefaultglobalbindings',
SetFunctionName: 'https://ecma-international.org/ecma-262/8.0/#sec-setfunctionname',
SetImmutablePrototype: 'https://ecma-international.org/ecma-262/8.0/#sec-set-immutable-prototype',
SetIntegrityLevel: 'https://ecma-international.org/ecma-262/8.0/#sec-setintegritylevel',
SetRealmGlobalObject: 'https://ecma-international.org/ecma-262/8.0/#sec-setrealmglobalobject',
SetValueInBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-setvalueinbuffer',
SetViewValue: 'https://ecma-international.org/ecma-262/8.0/#sec-setviewvalue',
SharedDataBlockEventSet: 'https://ecma-international.org/ecma-262/8.0/#sec-sharedatablockeventset',
SortCompare: 'https://ecma-international.org/ecma-262/8.0/#sec-sortcompare',
SpeciesConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-speciesconstructor',
SplitMatch: 'https://ecma-international.org/ecma-262/8.0/#sec-splitmatch',
'Strict Equality Comparison': 'https://ecma-international.org/ecma-262/8.0/#sec-strict-equality-comparison',
StringCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-stringcreate',
StringGetOwnProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-stringgetownproperty',
Suspend: 'https://ecma-international.org/ecma-262/8.0/#sec-suspend',
SymbolDescriptiveString: 'https://ecma-international.org/ecma-262/8.0/#sec-symboldescriptivestring',
'synchronizes-with': 'https://ecma-international.org/ecma-262/8.0/#sec-synchronizes-with',
TestIntegrityLevel: 'https://ecma-international.org/ecma-262/8.0/#sec-testintegritylevel',
thisBooleanValue: 'https://ecma-international.org/ecma-262/8.0/#sec-thisbooleanvalue',
thisNumberValue: 'https://ecma-international.org/ecma-262/8.0/#sec-thisnumbervalue',
thisStringValue: 'https://ecma-international.org/ecma-262/8.0/#sec-thisstringvalue',
thisTimeValue: 'https://ecma-international.org/ecma-262/8.0/#sec-thistimevalue',
TimeClip: 'https://ecma-international.org/ecma-262/8.0/#sec-timeclip',
TimeFromYear: 'https://ecma-international.org/ecma-262/8.0/#eqn-TimeFromYear',
TimeWithinDay: 'https://ecma-international.org/ecma-262/8.0/#eqn-TimeWithinDay',
ToBoolean: 'https://ecma-international.org/ecma-262/8.0/#sec-toboolean',
ToDateString: 'https://ecma-international.org/ecma-262/8.0/#sec-todatestring',
ToIndex: 'https://ecma-international.org/ecma-262/8.0/#sec-toindex',
ToInt16: 'https://ecma-international.org/ecma-262/8.0/#sec-toint16',
ToInt32: 'https://ecma-international.org/ecma-262/8.0/#sec-toint32',
ToInt8: 'https://ecma-international.org/ecma-262/8.0/#sec-toint8',
ToInteger: 'https://ecma-international.org/ecma-262/8.0/#sec-tointeger',
ToLength: 'https://ecma-international.org/ecma-262/8.0/#sec-tolength',
ToNumber: 'https://ecma-international.org/ecma-262/8.0/#sec-tonumber',
ToObject: 'https://ecma-international.org/ecma-262/8.0/#sec-toobject',
TopLevelModuleEvaluationJob: 'https://ecma-international.org/ecma-262/8.0/#sec-toplevelmoduleevaluationjob',
ToPrimitive: 'https://ecma-international.org/ecma-262/8.0/#sec-toprimitive',
ToPropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-topropertydescriptor',
ToPropertyKey: 'https://ecma-international.org/ecma-262/8.0/#sec-topropertykey',
ToString: 'https://ecma-international.org/ecma-262/8.0/#sec-tostring',
'ToString Applied to the Number Type': 'https://ecma-international.org/ecma-262/8.0/#sec-tostring-applied-to-the-number-type',
ToUint16: 'https://ecma-international.org/ecma-262/8.0/#sec-touint16',
ToUint32: 'https://ecma-international.org/ecma-262/8.0/#sec-touint32',
ToUint8: 'https://ecma-international.org/ecma-262/8.0/#sec-touint8',
ToUint8Clamp: 'https://ecma-international.org/ecma-262/8.0/#sec-touint8clamp',
TriggerPromiseReactions: 'https://ecma-international.org/ecma-262/8.0/#sec-triggerpromisereactions',
Type: 'https://ecma-international.org/ecma-262/8.0/#sec-ecmascript-data-types-and-values',
TypedArrayCreate: 'https://ecma-international.org/ecma-262/8.0/#typedarray-create',
TypedArraySpeciesCreate: 'https://ecma-international.org/ecma-262/8.0/#typedarray-species-create',
UpdateEmpty: 'https://ecma-international.org/ecma-262/8.0/#sec-updateempty',
UTC: 'https://ecma-international.org/ecma-262/8.0/#sec-utc-t',
UTF16Decode: 'https://ecma-international.org/ecma-262/8.0/#sec-utf16decode',
UTF16Encoding: 'https://ecma-international.org/ecma-262/8.0/#sec-utf16encoding',
ValidateAndApplyPropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-validateandapplypropertydescriptor',
ValidateAtomicAccess: 'https://ecma-international.org/ecma-262/8.0/#sec-validateatomicaccess',
ValidateSharedIntegerTypedArray: 'https://ecma-international.org/ecma-262/8.0/#sec-validatesharedintegertypedarray',
ValidateTypedArray: 'https://ecma-international.org/ecma-262/8.0/#sec-validatetypedarray',
ValueOfReadEvent: 'https://ecma-international.org/ecma-262/8.0/#sec-valueofreadevent',
WakeWaiter: 'https://ecma-international.org/ecma-262/8.0/#sec-wakewaiter',
WeekDay: 'https://ecma-international.org/ecma-262/8.0/#sec-week-day',
WordCharacters: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-wordcharacters-abstract-operation',
YearFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-YearFromTime'
};
-1
View File
@@ -1,7 +1,6 @@
'use strict';
module.exports = {
IsPropertyDescriptor: 'https://ecma-international.org/ecma-262/5.1/#sec-8.10',
IsAccessorDescriptor: 'https://ecma-international.org/ecma-262/5.1/#sec-8.10.1',
IsDataDescriptor: 'https://ecma-international.org/ecma-262/5.1/#sec-8.10.2',
IsGenericDescriptor: 'https://ecma-international.org/ecma-262/5.1/#sec-8.10.3',
+31 -29
View File
@@ -1,27 +1,28 @@
{
"_from": "es-abstract@^1.7.0",
"_id": "es-abstract@1.12.0",
"_from": "es-abstract@^1.5.1",
"_id": "es-abstract@1.13.0",
"_inBundle": false,
"_integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
"_integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
"_location": "/es-abstract",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "es-abstract@^1.7.0",
"raw": "es-abstract@^1.5.1",
"name": "es-abstract",
"escapedName": "es-abstract",
"rawSpec": "^1.7.0",
"rawSpec": "^1.5.1",
"saveSpec": null,
"fetchSpec": "^1.7.0"
"fetchSpec": "^1.5.1"
},
"_requiredBy": [
"/array-includes"
"/object.getownpropertydescriptors",
"/object.values"
],
"_resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
"_shasum": "9dbbdd27c6856f0001421ca18782d786bf8a6165",
"_spec": "es-abstract@^1.7.0",
"_where": "C:\\xampp\\htdocs\\w4rpservices\\node_modules\\array-includes",
"_resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
"_shasum": "ac86145fdd5099d8dd49558ccba2eaf9b88e24e9",
"_spec": "es-abstract@^1.5.1",
"_where": "C:\\xampp\\htdocs\\w4rpservices\\node_modules\\object.getownpropertydescriptors",
"author": {
"name": "Jordan Harband",
"email": "ljharb@gmail.com",
@@ -39,29 +40,30 @@
}
],
"dependencies": {
"es-to-primitive": "^1.1.1",
"es-to-primitive": "^1.2.0",
"function-bind": "^1.1.1",
"has": "^1.0.1",
"is-callable": "^1.1.3",
"is-regex": "^1.0.4"
"has": "^1.0.3",
"is-callable": "^1.1.4",
"is-regex": "^1.0.4",
"object-keys": "^1.0.12"
},
"deprecated": false,
"description": "ECMAScript spec abstract operations.",
"devDependencies": {
"@ljharb/eslint-config": "^12.2.1",
"@ljharb/eslint-config": "^13.1.1",
"cheerio": "^1.0.0-rc.2",
"editorconfig-tools": "^0.1.1",
"eslint": "^4.19.1",
"eslint": "^5.11.1",
"foreach": "^2.0.5",
"jscs": "^3.0.7",
"nsp": "^3.2.1",
"nyc": "^10.3.2",
"object-inspect": "^1.6.0",
"object-is": "^1.0.1",
"object.assign": "^4.1.0",
"replace": "^1.0.0",
"safe-publish-latest": "^1.1.1",
"semver": "^5.5.0",
"tape": "^4.9.0"
"object.fromentries": "^2.0.0",
"replace": "^1.0.1",
"safe-publish-latest": "^1.1.2",
"semver": "^5.6.0",
"tape": "^4.9.2"
},
"engines": {
"node": ">= 0.4"
@@ -92,16 +94,16 @@
"url": "git://github.com/ljharb/es-abstract.git"
},
"scripts": {
"audit": "npm audit",
"coverage": "nyc npm run --silent tests-only >/dev/null",
"eccheck": "editorconfig-tools check *.js **/*.js > /dev/null",
"eslint": "eslint test/*.js *.js",
"jscs": "jscs test/*.js *.js",
"lint": "npm run --silent jscs && npm run --silent eslint",
"lint": "eslint test/*.js *.js",
"postaudit": "rm package-lock.json",
"postcoverage": "nyc report",
"posttest": "npm run --silent security",
"posttest": "npm run audit",
"preaudit": "npm install --package-lock --package-lock-only",
"prepublish": "safe-publish-latest",
"pretest": "npm run --silent lint",
"security": "nsp check",
"test": "npm run tests-only",
"tests-only": "node test"
},
@@ -123,5 +125,5 @@
"android-browser/4.2"
]
},
"version": "1.12.0"
"version": "1.13.0"
}
+5 -3
View File
@@ -2,10 +2,12 @@
"rules": {
"id-length": 0,
"max-lines": 0,
"max-lines-per-function": 0,
"max-statements-per-line": [2, { "max": 3 }],
"max-nested-callbacks": [2, 3],
"max-nested-callbacks": [2, 4],
"max-statements": 0,
"no-implicit-coercion": [1],
"no-invalid-this": [1]
"no-implicit-coercion": 1,
"no-invalid-this": 1,
"object-curly-newline": 0,
}
}
+3 -1
View File
@@ -12,10 +12,12 @@ module.exports = function diffOperations(actual, expected, expectedMissing) {
forEach(actualKeys, function (op) {
if (!(op in expected)) {
extra.push(op);
} else if (expectedMissing.indexOf(op) !== -1) {
extra.push(op);
}
});
forEach(expectedKeys, function (op) {
if (!(op in actual) && expectedMissing.indexOf(op) === -1) {
if (typeof actual[op] !== 'function' && expectedMissing.indexOf(op) === -1) {
missing.push(op);
}
});
+1 -3
View File
@@ -4,8 +4,6 @@ var ES = require('../').ES2015;
var ops = require('../operations/2015');
// jscs:disable
var expectedMissing = ['CreateMethodProperty', 'DefinePropertyOrThrow', 'DeletePropertyOrThrow', 'Construct', 'SetIntegrityLevel', 'TestIntegrityLevel', 'CreateArrayFromList', 'CreateListFromArrayLike', 'OrdinaryHasInstance', 'EnumerableOwnNames', 'GetIterator', 'IteratorNext', 'IteratorComplete', 'IteratorValue', 'IteratorStep', 'IteratorClose', 'CreateListIterator', 'thisNumberValue', 'thisTimeValue', 'thisStringValue', 'RegExpBuiltinExec', 'IsPromise', 'NormalCompletion'];
// jscs:enable
var expectedMissing = ['Construct', 'SetIntegrityLevel', 'TestIntegrityLevel', 'CreateArrayFromList', 'CreateListFromArrayLike', 'OrdinaryHasInstance', 'CreateListIterator', 'RegExpBuiltinExec', 'IsPromise', 'NormalCompletion'];
require('./tests').es2015(ES, ops, expectedMissing);
+1 -3
View File
@@ -4,8 +4,6 @@ var ES = require('../').ES2016;
var ops = require('../operations/2016');
// jscs:disable
var expectedMissing = ['CreateMethodProperty', 'DefinePropertyOrThrow', 'DeletePropertyOrThrow', 'Construct', 'SetIntegrityLevel', 'TestIntegrityLevel', 'CreateArrayFromList', 'CreateListFromArrayLike', 'OrdinaryHasInstance', 'EnumerableOwnNames', 'GetIterator', 'IteratorNext', 'IteratorComplete', 'IteratorValue', 'IteratorStep', 'IteratorClose', 'CreateListIterator', 'thisNumberValue', 'thisTimeValue', 'thisStringValue', 'RegExpBuiltinExec', 'IsPromise', 'OrdinarySet', 'NormalCompletion'];
// jscs:enable
var expectedMissing = ['Abstract Equality Comparison', 'Abstract Relational Comparison', 'AddRestrictedFunctionProperties', 'AllocateArrayBuffer', 'AllocateTypedArray', 'AllocateTypedArrayBuffer', 'ArrayCreate', 'ArraySetLength', 'BlockDeclarationInstantiation', 'BoundFunctionCreate', 'Canonicalize', 'CharacterRange', 'CharacterRangeOrUnion', 'CharacterSetMatcher', 'CloneArrayBuffer', 'Completion', 'Construct', 'CopyDataBlockBytes', 'CreateArrayFromList', 'CreateArrayIterator', 'CreateBuiltinFunction', 'CreateByteDataBlock', 'CreateDynamicFunction', 'CreateHTML', 'CreateIntrinsics', 'CreateListFromArrayLike', 'CreateListIterator', 'CreateMapIterator', 'CreateMappedArgumentsObject', 'CreatePerIterationEnvironment', 'CreateRealm', 'CreateResolvingFunctions', 'CreateSetIterator', 'CreateStringIterator', 'CreateUnmappedArgumentsObject', 'DateFromTime', 'Day', 'DayFromYear', 'DayWithinYear', 'DaysInYear', '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', 'GetOwnPropertyKeys', 'GetPrototypeFromConstructor', 'GetSubstitution', 'GetSuperConstructor', 'GetTemplateObject', 'GetThisEnvironment', 'GetThisValue', 'GetValue', 'GetValueFromBuffer', 'GetViewValue', 'GlobalDeclarationInstantiation', 'HostPromiseRejectionTracker', 'HostReportErrors', 'HostResolveImportedModule', 'HourFromTime', 'HoursPerDay', 'IfAbruptRejectPromise', 'ImportedLocalNames', 'InLeapYear', 'InitializeBoundName', 'InitializeHostDefinedRealm', 'InitializeReferencedBinding', 'InstanceofOperator', 'IntegerIndexedElementGet', 'IntegerIndexedElementSet', 'IntegerIndexedObjectCreate', 'InternalizeJSONProperty', 'IsAnonymousFunctionDefinition', 'IsCompatiblePropertyDescriptor', 'IsDetachedBuffer', 'IsInTailPosition', 'IsLabelledFunction', 'IsPromise', 'IsWordChar', 'IterableToArrayLike', 'LocalTime', 'LoopContinues', 'MakeArgGetter', 'MakeArgSetter', 'MakeClassConstructor', 'MakeConstructor', 'MakeDate', 'MakeDay', 'MakeMethod', 'MakeSuperPropertyReference', 'MakeTime', 'MinFromTime', 'MinutesPerHour', 'ModuleNamespaceCreate', 'MonthFromTime', 'NewDeclarativeEnvironment', 'NewFunctionEnvironment', 'NewGlobalEnvironment', 'NewModuleEnvironment', 'NewObjectEnvironment', 'NewPromiseCapability', 'NextJob', 'NormalCompletion', 'ObjectDefineProperties', 'OrdinaryCallBindThis', 'OrdinaryCallEvaluateBody', 'OrdinaryCreateFromConstructor', 'OrdinaryDefineOwnProperty', 'OrdinaryDelete', 'OrdinaryGet', 'OrdinaryGetOwnProperty', 'OrdinaryGetPrototypeOf', 'OrdinaryHasInstance', 'OrdinaryHasProperty', 'OrdinaryIsExtensible', 'OrdinaryOwnPropertyKeys', 'OrdinaryPreventExtensions', 'OrdinarySet', 'OrdinarySetPrototypeOf', 'ParseModule', 'ParseScript', 'PerformEval', 'PerformPromiseAll', 'PerformPromiseRace', 'PerformPromiseThen', 'PrepareForOrdinaryCall', 'PrepareForTailCall', 'PromiseReactionJob', 'PromiseResolveThenableJob', 'ProxyCreate', 'PutValue', 'QuoteJSONString', 'RegExpAlloc', 'RegExpBuiltinExec', 'RegExpCreate', 'RegExpInitialize', 'RejectPromise', 'RepeatMatcher', 'ResolveBinding', 'ResolveThisBinding', 'ReturnIfAbrupt', 'ScriptEvaluation', 'ScriptEvaluationJob', 'SecFromTime', 'SecondsPerMinute', 'SerializeJSONArray', 'SerializeJSONObject', 'SerializeJSONProperty', 'SetDefaultGlobalBindings', 'SetFunctionName', 'SetIntegrityLevel', 'SetRealmGlobalObject', 'SetValueInBuffer', 'SetViewValue', 'SortCompare', 'SplitMatch', 'Strict Equality Comparison', 'StringCreate', 'SymbolDescriptiveString', 'TestIntegrityLevel', 'TimeClip', 'TimeFromYear', 'TimeWithinDay', 'ToDateString', 'ToString Applied to the Number Type', 'TopLevelModuleEvaluationJob', 'TriggerPromiseReactions', 'TypedArrayCreate', 'TypedArraySpeciesCreate', 'UTC', 'UTF16Decode', 'UTF16Encoding', 'UpdateEmpty', 'ValidateAndApplyPropertyDescriptor', 'ValidateTypedArray', 'WeekDay', 'YearFromTime', 'abs', 'floor', 'max', 'min', 'modulo', 'msFromTime', 'msPerDay', 'msPerHour', 'msPerMinute', 'msPerSecond'];
require('./tests').es2016(ES, ops, expectedMissing);
+1 -3
View File
File diff suppressed because one or more lines are too long
+34 -3
View File
@@ -9,8 +9,8 @@ var uncoercibleObject = { valueOf: function () { return {}; }, toString: functio
var objects = [{}, coercibleObject, toStringOnlyObject, valueOfOnlyObject];
var nullPrimitives = [undefined, null];
var nonIntegerNumbers = [-1.3, 0.2, 1.8, 1 / 3];
var numbers = [0, -0, Infinity, -Infinity, 42];
var strings = ['', 'foo'];
var numbers = [0, -0, Infinity, -Infinity, 42].concat(nonIntegerNumbers);
var strings = ['', 'foo', 'a\uD83D\uDCA9c'];
var booleans = [true, false];
var symbols = hasSymbols ? [Symbol.iterator, Symbol('foo')] : [];
var nonSymbolPrimitives = [].concat(nullPrimitives, booleans, strings, numbers);
@@ -24,6 +24,7 @@ var propertyKeys = [].concat(strings, symbols);
var nonBooleans = [].concat(nullPrimitives, strings, symbols, numbers, objects);
var falsies = [].concat(nullPrimitives, false, '', 0, -0, NaN);
var truthies = [].concat(true, 'foo', 42, symbols, objects);
var timestamps = [].concat(0, 946713600000, 1546329600000);
module.exports = {
coercibleObject: coercibleObject,
@@ -49,5 +50,35 @@ module.exports = {
propertyKeys: propertyKeys,
nonBooleans: nonBooleans,
falsies: falsies,
truthies: truthies
truthies: truthies,
timestamps: timestamps,
bothDescriptor: function () {
return { '[[Get]]': function () {}, '[[Value]]': true };
},
accessorDescriptor: function () {
return {
'[[Get]]': function () {},
'[[Enumerable]]': true,
'[[Configurable]]': true
};
},
mutatorDescriptor: function () {
return {
'[[Set]]': function () {},
'[[Enumerable]]': true,
'[[Configurable]]': true
};
},
dataDescriptor: function () {
return {
'[[Value]]': 42,
'[[Writable]]': false
};
},
genericDescriptor: function () {
return {
'[[Configurable]]': true,
'[[Enumerable]]': false
};
}
};
+2 -1
View File
@@ -7,7 +7,7 @@ var ESkeys = Object.keys(ES).sort();
var ES6keys = Object.keys(ES.ES6).sort();
test('exposed properties', function (t) {
t.deepEqual(ESkeys, ES6keys.concat(['ES2017', 'ES7', 'ES2016', 'ES6', 'ES2015', 'ES5']).sort(), 'main ES object keys match ES6 keys');
t.deepEqual(ESkeys, ES6keys.concat(['ES2018', 'ES2017', 'ES7', 'ES2016', 'ES6', 'ES2015', 'ES5']).sort(), 'main ES object keys match ES6 keys');
t.end();
});
@@ -26,3 +26,4 @@ require('./es2015');
require('./es7');
require('./es2016');
require('./es2017');
require('./es2018');
+593 -67
View File
@@ -6,7 +6,10 @@ var forEach = require('foreach');
var is = require('object-is');
var debug = require('object-inspect');
var assign = require('object.assign');
var keys = require('object-keys');
var has = require('has');
var assertRecordTests = require('./helpers/assertRecord');
var v = require('./helpers/values');
var diffOps = require('./diffOps');
@@ -33,7 +36,44 @@ var groups = function groups(matchObject) {
return hasGroups ? assign(matchObject, { groups: matchObject.groups }) : matchObject;
};
var es2015 = function ES2015(ES, ops, expectedMissing) {
var testEnumerableOwnNames = function (t, enumerableOwnNames) {
forEach(v.primitives, function (nonObject) {
t['throws'](
function () { enumerableOwnNames(nonObject); },
debug(nonObject) + ' is not an Object'
);
});
var Child = function Child() {
this.own = {};
};
Child.prototype = {
inherited: {}
};
var obj = new Child();
t.equal('own' in obj, true, 'has "own"');
t.equal(has(obj, 'own'), true, 'has own "own"');
t.equal(Object.prototype.propertyIsEnumerable.call(obj, 'own'), true, 'has enumerable "own"');
t.equal('inherited' in obj, true, 'has "inherited"');
t.equal(has(obj, 'inherited'), false, 'has non-own "inherited"');
t.equal(has(Child.prototype, 'inherited'), true, 'Child.prototype has own "inherited"');
t.equal(Child.prototype.inherited, obj.inherited, 'Child.prototype.inherited === obj.inherited');
t.equal(Object.prototype.propertyIsEnumerable.call(Child.prototype, 'inherited'), true, 'has enumerable "inherited"');
t.equal('toString' in obj, true, 'has "toString"');
t.equal(has(obj, 'toString'), false, 'has non-own "toString"');
t.equal(has(Object.prototype, 'toString'), true, 'Object.prototype has own "toString"');
t.equal(Object.prototype.toString, obj.toString, 'Object.prototype.toString === obj.toString');
// eslint-disable-next-line no-useless-call
t.equal(Object.prototype.propertyIsEnumerable.call(Object.prototype, 'toString'), false, 'has non-enumerable "toString"');
return obj;
};
var es2015 = function ES2015(ES, ops, expectedMissing, skips) {
test('has expected operations', function (t) {
var diff = diffOps(ES, ops, expectedMissing);
@@ -649,37 +689,7 @@ var es2015 = function ES2015(ES, ops, expectedMissing) {
t.end();
});
var bothDescriptor = function () {
return { '[[Get]]': function () {}, '[[Value]]': true };
};
var accessorDescriptor = function () {
return {
'[[Get]]': function () {},
'[[Enumerable]]': true,
'[[Configurable]]': true
};
};
var mutatorDescriptor = function () {
return {
'[[Set]]': function () {},
'[[Enumerable]]': true,
'[[Configurable]]': true
};
};
var dataDescriptor = function () {
return {
'[[Value]]': 42,
'[[Writable]]': false
};
};
var genericDescriptor = function () {
return {
'[[Configurable]]': true,
'[[Enumerable]]': false
};
};
test('IsPropertyDescriptor', function (t) {
test('IsPropertyDescriptor', { skip: skips && skips.IsPropertyDescriptor }, function (t) {
forEach(v.nonUndefinedPrimitives, function (primitive) {
t.equal(
ES.IsPropertyDescriptor(primitive),
@@ -692,18 +702,20 @@ var es2015 = function ES2015(ES, ops, expectedMissing) {
t.equal(ES.IsPropertyDescriptor({}), true, 'empty object is an incomplete Property Descriptor');
t.equal(ES.IsPropertyDescriptor(accessorDescriptor()), true, 'accessor descriptor is a Property Descriptor');
t.equal(ES.IsPropertyDescriptor(mutatorDescriptor()), true, 'mutator descriptor is a Property Descriptor');
t.equal(ES.IsPropertyDescriptor(dataDescriptor()), true, 'data descriptor is a Property Descriptor');
t.equal(ES.IsPropertyDescriptor(genericDescriptor()), true, 'generic descriptor is a Property Descriptor');
t.equal(ES.IsPropertyDescriptor(v.accessorDescriptor()), true, 'accessor descriptor is a Property Descriptor');
t.equal(ES.IsPropertyDescriptor(v.mutatorDescriptor()), true, 'mutator descriptor is a Property Descriptor');
t.equal(ES.IsPropertyDescriptor(v.dataDescriptor()), true, 'data descriptor is a Property Descriptor');
t.equal(ES.IsPropertyDescriptor(v.genericDescriptor()), true, 'generic descriptor is a Property Descriptor');
t['throws'](function () {
ES.IsPropertyDescriptor(bothDescriptor());
ES.IsPropertyDescriptor(v.bothDescriptor());
}, TypeError, 'a Property Descriptor can not be both a Data and an Accessor Descriptor');
t.end();
});
assertRecordTests(ES, test);
test('IsAccessorDescriptor', function (t) {
forEach(v.nonUndefinedPrimitives, function (primitive) {
t['throws'](
@@ -716,10 +728,10 @@ var es2015 = function ES2015(ES, ops, expectedMissing) {
t.equal(ES.IsAccessorDescriptor(), false, 'no value is not an Accessor Descriptor');
t.equal(ES.IsAccessorDescriptor(undefined), false, 'undefined value is not an Accessor Descriptor');
t.equal(ES.IsAccessorDescriptor(accessorDescriptor()), true, 'accessor descriptor is an Accessor Descriptor');
t.equal(ES.IsAccessorDescriptor(mutatorDescriptor()), true, 'mutator descriptor is an Accessor Descriptor');
t.equal(ES.IsAccessorDescriptor(dataDescriptor()), false, 'data descriptor is not an Accessor Descriptor');
t.equal(ES.IsAccessorDescriptor(genericDescriptor()), false, 'generic descriptor is not an Accessor Descriptor');
t.equal(ES.IsAccessorDescriptor(v.accessorDescriptor()), true, 'accessor descriptor is an Accessor Descriptor');
t.equal(ES.IsAccessorDescriptor(v.mutatorDescriptor()), true, 'mutator descriptor is an Accessor Descriptor');
t.equal(ES.IsAccessorDescriptor(v.dataDescriptor()), false, 'data descriptor is not an Accessor Descriptor');
t.equal(ES.IsAccessorDescriptor(v.genericDescriptor()), false, 'generic descriptor is not an Accessor Descriptor');
t.end();
});
@@ -736,10 +748,10 @@ var es2015 = function ES2015(ES, ops, expectedMissing) {
t.equal(ES.IsDataDescriptor(), false, 'no value is not a Data Descriptor');
t.equal(ES.IsDataDescriptor(undefined), false, 'undefined value is not a Data Descriptor');
t.equal(ES.IsDataDescriptor(accessorDescriptor()), false, 'accessor descriptor is not a Data Descriptor');
t.equal(ES.IsDataDescriptor(mutatorDescriptor()), false, 'mutator descriptor is not a Data Descriptor');
t.equal(ES.IsDataDescriptor(dataDescriptor()), true, 'data descriptor is a Data Descriptor');
t.equal(ES.IsDataDescriptor(genericDescriptor()), false, 'generic descriptor is not a Data Descriptor');
t.equal(ES.IsDataDescriptor(v.accessorDescriptor()), false, 'accessor descriptor is not a Data Descriptor');
t.equal(ES.IsDataDescriptor(v.mutatorDescriptor()), false, 'mutator descriptor is not a Data Descriptor');
t.equal(ES.IsDataDescriptor(v.dataDescriptor()), true, 'data descriptor is a Data Descriptor');
t.equal(ES.IsDataDescriptor(v.genericDescriptor()), false, 'generic descriptor is not a Data Descriptor');
t.end();
});
@@ -756,11 +768,11 @@ var es2015 = function ES2015(ES, ops, expectedMissing) {
t.equal(ES.IsGenericDescriptor(), false, 'no value is not a Data Descriptor');
t.equal(ES.IsGenericDescriptor(undefined), false, 'undefined value is not a Data Descriptor');
t.equal(ES.IsGenericDescriptor(accessorDescriptor()), false, 'accessor descriptor is not a generic Descriptor');
t.equal(ES.IsGenericDescriptor(mutatorDescriptor()), false, 'mutator descriptor is not a generic Descriptor');
t.equal(ES.IsGenericDescriptor(dataDescriptor()), false, 'data descriptor is not a generic Descriptor');
t.equal(ES.IsGenericDescriptor(v.accessorDescriptor()), false, 'accessor descriptor is not a generic Descriptor');
t.equal(ES.IsGenericDescriptor(v.mutatorDescriptor()), false, 'mutator descriptor is not a generic Descriptor');
t.equal(ES.IsGenericDescriptor(v.dataDescriptor()), false, 'data descriptor is not a generic Descriptor');
t.equal(ES.IsGenericDescriptor(genericDescriptor()), true, 'generic descriptor is a generic Descriptor');
t.equal(ES.IsGenericDescriptor(v.genericDescriptor()), true, 'generic descriptor is a generic Descriptor');
t.end();
});
@@ -777,7 +789,7 @@ var es2015 = function ES2015(ES, ops, expectedMissing) {
);
});
var accessor = accessorDescriptor();
var accessor = v.accessorDescriptor();
t.deepEqual(ES.FromPropertyDescriptor(accessor), {
get: accessor['[[Get]]'],
set: accessor['[[Set]]'],
@@ -785,14 +797,14 @@ var es2015 = function ES2015(ES, ops, expectedMissing) {
configurable: !!accessor['[[Configurable]]']
});
var mutator = mutatorDescriptor();
var mutator = v.mutatorDescriptor();
t.deepEqual(ES.FromPropertyDescriptor(mutator), {
get: mutator['[[Get]]'],
set: mutator['[[Set]]'],
enumerable: !!mutator['[[Enumerable]]'],
configurable: !!mutator['[[Configurable]]']
});
var data = dataDescriptor();
var data = v.dataDescriptor();
t.deepEqual(ES.FromPropertyDescriptor(data), {
value: data['[[Value]]'],
writable: data['[[Writable]]'],
@@ -801,7 +813,7 @@ var es2015 = function ES2015(ES, ops, expectedMissing) {
});
t['throws'](
function () { ES.FromPropertyDescriptor(genericDescriptor()); },
function () { ES.FromPropertyDescriptor(v.genericDescriptor()); },
TypeError,
'a complete Property Descriptor is required'
);
@@ -818,28 +830,28 @@ var es2015 = function ES2015(ES, ops, expectedMissing) {
);
});
var accessor = accessorDescriptor();
var accessor = v.accessorDescriptor();
t.deepEqual(ES.ToPropertyDescriptor({
get: accessor['[[Get]]'],
enumerable: !!accessor['[[Enumerable]]'],
configurable: !!accessor['[[Configurable]]']
}), accessor);
var mutator = mutatorDescriptor();
var mutator = v.mutatorDescriptor();
t.deepEqual(ES.ToPropertyDescriptor({
set: mutator['[[Set]]'],
enumerable: !!mutator['[[Enumerable]]'],
configurable: !!mutator['[[Configurable]]']
}), mutator);
var data = dataDescriptor();
var data = v.dataDescriptor();
t.deepEqual(ES.ToPropertyDescriptor({
value: data['[[Value]]'],
writable: data['[[Writable]]'],
configurable: !!data['[[Configurable]]']
}), assign(data, { '[[Configurable]]': false }));
var both = bothDescriptor();
var both = v.bothDescriptor();
t['throws'](
function () {
ES.FromPropertyDescriptor({ get: both['[[Get]]'], value: both['[[Value]]'] });
@@ -860,7 +872,7 @@ var es2015 = function ES2015(ES, ops, expectedMissing) {
);
});
var generic = genericDescriptor();
var generic = v.genericDescriptor();
t.deepEqual(ES.CompletePropertyDescriptor(generic), {
'[[Configurable]]': !!generic['[[Configurable]]'],
'[[Enumerable]]': !!generic['[[Enumerable]]'],
@@ -868,7 +880,7 @@ var es2015 = function ES2015(ES, ops, expectedMissing) {
'[[Writable]]': false
}, 'completes a Generic Descriptor');
var data = dataDescriptor();
var data = v.dataDescriptor();
t.deepEqual(ES.CompletePropertyDescriptor(data), {
'[[Configurable]]': !!data['[[Configurable]]'],
'[[Enumerable]]': false,
@@ -876,7 +888,7 @@ var es2015 = function ES2015(ES, ops, expectedMissing) {
'[[Writable]]': !!data['[[Writable]]']
}, 'completes a Data Descriptor');
var accessor = accessorDescriptor();
var accessor = v.accessorDescriptor();
t.deepEqual(ES.CompletePropertyDescriptor(accessor), {
'[[Get]]': accessor['[[Get]]'],
'[[Enumerable]]': !!accessor['[[Enumerable]]'],
@@ -884,7 +896,7 @@ var es2015 = function ES2015(ES, ops, expectedMissing) {
'[[Set]]': undefined
}, 'completes an Accessor Descriptor');
var mutator = mutatorDescriptor();
var mutator = v.mutatorDescriptor();
t.deepEqual(ES.CompletePropertyDescriptor(mutator), {
'[[Set]]': mutator['[[Set]]'],
'[[Enumerable]]': !!mutator['[[Enumerable]]'],
@@ -893,7 +905,7 @@ var es2015 = function ES2015(ES, ops, expectedMissing) {
}, 'completes a mutator Descriptor');
t['throws'](
function () { ES.CompletePropertyDescriptor(bothDescriptor()); },
function () { ES.CompletePropertyDescriptor(v.bothDescriptor()); },
TypeError,
'data and accessor descriptors are mutually exclusive'
);
@@ -1560,10 +1572,284 @@ var es2015 = function ES2015(ES, ops, expectedMissing) {
t.end();
});
test('CreateMethodProperty', function (t) {
forEach(v.primitives, function (primitive) {
t['throws'](
function () { ES.CreateMethodProperty(primitive, 'key'); },
TypeError,
'O must be an Object'
);
});
forEach(v.nonPropertyKeys, function (nonPropertyKey) {
t['throws'](
function () { ES.CreateMethodProperty({}, nonPropertyKey); },
TypeError,
debug(nonPropertyKey) + ' is not a Property Key'
);
});
t.test('defines correctly', function (st) {
var obj = {};
var key = 'the key';
var value = { foo: 'bar' };
st.equal(ES.CreateMethodProperty(obj, key, value), true, 'defines property successfully');
st.test('property descriptor', { skip: !Object.getOwnPropertyDescriptor }, function (s2t) {
s2t.deepEqual(
Object.getOwnPropertyDescriptor(obj, key),
{
configurable: true,
enumerable: false,
value: value,
writable: true
},
'sets the correct property descriptor'
);
s2t.end();
});
st.equal(obj[key], value, 'sets the correct value');
st.end();
});
t.test('fails as expected on a frozen object', { skip: !Object.freeze }, function (st) {
var obj = Object.freeze({ foo: 'bar' });
st['throws'](
function () { ES.CreateMethodProperty(obj, 'foo', { value: 'baz' }); },
TypeError,
'nonconfigurable key can not be defined'
);
st.end();
});
var hasNonConfigurableFunctionName = !Object.getOwnPropertyDescriptor
|| !Object.getOwnPropertyDescriptor(function () {}, 'name').configurable;
t.test('fails as expected on a function with a nonconfigurable name', { skip: !hasNonConfigurableFunctionName }, function (st) {
st['throws'](
function () { ES.CreateMethodProperty(function () {}, 'name', { value: 'baz' }); },
TypeError,
'nonconfigurable function name can not be defined'
);
st.end();
});
t.end();
});
test('DefinePropertyOrThrow', function (t) {
forEach(v.primitives, function (primitive) {
t['throws'](
function () { ES.DefinePropertyOrThrow(primitive, 'key', {}); },
TypeError,
'O must be an Object'
);
});
forEach(v.nonPropertyKeys, function (nonPropertyKey) {
t['throws'](
function () { ES.DefinePropertyOrThrow({}, nonPropertyKey, {}); },
TypeError,
debug(nonPropertyKey) + ' is not a Property Key'
);
});
t.test('defines correctly', function (st) {
var obj = {};
var key = 'the key';
var descriptor = {
configurable: true,
enumerable: false,
value: { foo: 'bar' },
writable: true
};
st.equal(ES.DefinePropertyOrThrow(obj, key, descriptor), true, 'defines property successfully');
st.test('property descriptor', { skip: !Object.getOwnPropertyDescriptor }, function (s2t) {
s2t.deepEqual(
Object.getOwnPropertyDescriptor(obj, key),
descriptor,
'sets the correct property descriptor'
);
s2t.end();
});
st.deepEqual(obj[key], descriptor.value, 'sets the correct value');
st.end();
});
t.test('fails as expected on a frozen object', { skip: !Object.freeze }, function (st) {
var obj = Object.freeze({ foo: 'bar' });
st['throws'](
function () {
ES.DefinePropertyOrThrow(obj, 'foo', { configurable: true, value: 'baz' });
},
TypeError,
'nonconfigurable key can not be defined'
);
st.end();
});
var hasNonConfigurableFunctionName = !Object.getOwnPropertyDescriptor
|| !Object.getOwnPropertyDescriptor(function () {}, 'name').configurable;
t.test('fails as expected on a function with a nonconfigurable name', { skip: !hasNonConfigurableFunctionName }, function (st) {
st['throws'](
function () {
ES.DefinePropertyOrThrow(function () {}, 'name', { configurable: true, value: 'baz' });
},
TypeError,
'nonconfigurable function name can not be defined'
);
st.end();
});
t.end();
});
test('DeletePropertyOrThrow', function (t) {
forEach(v.primitives, function (primitive) {
t['throws'](
function () { ES.DeletePropertyOrThrow(primitive, 'key', {}); },
TypeError,
'O must be an Object'
);
});
forEach(v.nonPropertyKeys, function (nonPropertyKey) {
t['throws'](
function () { ES.DeletePropertyOrThrow({}, nonPropertyKey, {}); },
TypeError,
debug(nonPropertyKey) + ' is not a Property Key'
);
});
t.test('defines correctly', function (st) {
var obj = { 'the key': 42 };
var key = 'the key';
st.equal(ES.DeletePropertyOrThrow(obj, key), true, 'deletes property successfully');
st.equal(key in obj, false, 'key is no longer in the object');
st.end();
});
t.test('fails as expected on a frozen object', { skip: !Object.freeze }, function (st) {
var obj = Object.freeze({ foo: 'bar' });
st['throws'](
function () { ES.DeletePropertyOrThrow(obj, 'foo'); },
TypeError,
'nonconfigurable key can not be deleted'
);
st.end();
});
var hasNonConfigurableFunctionName = !Object.getOwnPropertyDescriptor
|| !Object.getOwnPropertyDescriptor(function () {}, 'name').configurable;
t.test('fails as expected on a function with a nonconfigurable name', { skip: !hasNonConfigurableFunctionName }, function (st) {
st['throws'](
function () { ES.DeletePropertyOrThrow(function () {}, 'name'); },
TypeError,
'nonconfigurable function name can not be deleted'
);
st.end();
});
t.end();
});
test('EnumerableOwnNames', { skip: skips && skips.EnumerableOwnNames }, function (t) {
var obj = testEnumerableOwnNames(t, function (O) { return ES.EnumerableOwnNames(O); });
t.deepEqual(
ES.EnumerableOwnNames(obj),
['own'],
'returns enumerable own names'
);
t.end();
});
test('thisNumberValue', function (t) {
forEach(v.nonNumbers, function (nonNumber) {
t['throws'](
function () { ES.thisNumberValue(nonNumber); },
TypeError,
debug(nonNumber) + ' is not a Number'
);
});
forEach(v.numbers, function (number) {
t.equal(ES.thisNumberValue(number), number, debug(number) + ' is its own thisNumberValue');
var obj = Object(number);
t.equal(ES.thisNumberValue(obj), number, debug(obj) + ' is the boxed thisNumberValue');
});
t.end();
});
test('thisBooleanValue', function (t) {
forEach(v.nonBooleans, function (nonBoolean) {
t['throws'](
function () { ES.thisBooleanValue(nonBoolean); },
TypeError,
debug(nonBoolean) + ' is not a Boolean'
);
});
forEach(v.booleans, function (boolean) {
t.equal(ES.thisBooleanValue(boolean), boolean, debug(boolean) + ' is its own thisBooleanValue');
var obj = Object(boolean);
t.equal(ES.thisBooleanValue(obj), boolean, debug(obj) + ' is the boxed thisBooleanValue');
});
t.end();
});
test('thisStringValue', function (t) {
forEach(v.nonStrings, function (nonString) {
t['throws'](
function () { ES.thisStringValue(nonString); },
TypeError,
debug(nonString) + ' is not a String'
);
});
forEach(v.strings, function (string) {
t.equal(ES.thisStringValue(string), string, debug(string) + ' is its own thisStringValue');
var obj = Object(string);
t.equal(ES.thisStringValue(obj), string, debug(obj) + ' is the boxed thisStringValue');
});
t.end();
});
test('thisTimeValue', function (t) {
forEach(v.primitives.concat(v.objects), function (nonDate) {
t['throws'](
function () { ES.thisTimeValue(nonDate); },
TypeError,
debug(nonDate) + ' is not a Date'
);
});
forEach(v.timestamps, function (timestamp) {
var date = new Date(timestamp);
t.equal(ES.thisTimeValue(date), timestamp, debug(date) + ' is its own thisTimeValue');
});
t.end();
});
};
var es2016 = function ES2016(ES, ops, expectedMissing) {
es2015(ES, ops, expectedMissing);
var es2016 = function ES2016(ES, ops, expectedMissing, skips) {
es2015(ES, ops, expectedMissing, skips);
test('SameValueNonNumber', function (t) {
var willThrow = [
@@ -1585,8 +1871,10 @@ var es2016 = function ES2016(ES, ops, expectedMissing) {
});
};
var es2017 = function E2017(ES, ops, expectedMissing) {
es2016(ES, ops, expectedMissing);
var es2017 = function ES2017(ES, ops, expectedMissing, skips) {
es2016(ES, ops, expectedMissing, assign({}, skips, {
EnumerableOwnNames: true
}));
test('ToIndex', function (t) {
t.ok(is(ES.ToIndex(), 0), 'no value gives 0');
@@ -1601,10 +1889,248 @@ var es2017 = function E2017(ES, ops, expectedMissing) {
t.end();
});
test('EnumerableOwnProperties', { skip: skips && skips.EnumerableOwnProperties }, function (t) {
var obj = testEnumerableOwnNames(t, function (O) {
return ES.EnumerableOwnProperties(O, 'key');
});
t.deepEqual(
ES.EnumerableOwnProperties(obj, 'value'),
[obj.own],
'returns enumerable own values'
);
t.deepEqual(
ES.EnumerableOwnProperties(obj, 'key+value'),
[['own', obj.own]],
'returns enumerable own entries'
);
t.end();
});
};
var es2018 = function ES2018(ES, ops, expectedMissing, skips) {
es2017(ES, ops, expectedMissing, assign({}, skips, {
EnumerableOwnProperties: true,
IsPropertyDescriptor: true
}));
test('thisSymbolValue', function (t) {
forEach(v.nonSymbolPrimitives.concat(v.objects), function (nonSymbol) {
t['throws'](
function () { ES.thisSymbolValue(nonSymbol); },
v.hasSymbols ? TypeError : SyntaxError,
debug(nonSymbol) + ' is not a Symbol'
);
});
t.test('no native Symbols', { skip: v.hasSymbols }, function (st) {
forEach(v.objects.concat(v.primitives), function (value) {
st['throws'](
function () { ES.thisSymbolValue(value); },
SyntaxError,
'Symbols are not supported'
);
});
st.end();
});
t.test('symbol values', { skip: !v.hasSymbols }, function (st) {
forEach(v.symbols, function (symbol) {
st.equal(ES.thisSymbolValue(symbol), symbol, 'Symbol value of ' + debug(symbol) + ' is same symbol');
st.equal(
ES.thisSymbolValue(Object(symbol)),
symbol,
'Symbol value of ' + debug(Object(symbol)) + ' is ' + debug(symbol)
);
});
st.end();
});
t.end();
});
test('IsStringPrefix', function (t) {
forEach(v.nonStrings, function (nonString) {
t['throws'](
function () { ES.IsStringPrefix(nonString, 'a'); },
TypeError,
'first arg: ' + debug(nonString) + ' is not a string'
);
t['throws'](
function () { ES.IsStringPrefix('a', nonString); },
TypeError,
'second arg: ' + debug(nonString) + ' is not a string'
);
});
forEach(v.strings, function (string) {
t.equal(ES.IsStringPrefix(string, string), true, debug(string) + ' is a prefix of itself');
t.equal(ES.IsStringPrefix('', string), true, 'the empty string is a prefix of everything');
});
t.equal(ES.IsStringPrefix('abc', 'abcd'), true, '"abc" is a prefix of "abcd"');
t.equal(ES.IsStringPrefix('abcd', 'abc'), false, '"abcd" is not a prefix of "abc"');
t.equal(ES.IsStringPrefix('a', 'bc'), false, '"a" is not a prefix of "bc"');
t.end();
});
test('NumberToString', function (t) {
forEach(v.nonNumbers, function (nonNumber) {
t['throws'](
function () { ES.NumberToString(nonNumber); },
TypeError,
debug(nonNumber) + ' is not a Number'
);
});
forEach(v.numbers, function (number) {
t.equal(ES.NumberToString(number), String(number), debug(number) + ' stringifies to ' + number);
});
t.end();
});
test('CopyDataProperties', function (t) {
t.test('first argument: target', function (st) {
forEach(v.primitives, function (primitive) {
st['throws'](
function () { ES.CopyDataProperties(primitive, {}, []); },
TypeError,
debug(primitive) + ' is not an Object'
);
});
st.end();
});
t.test('second argument: source', function (st) {
var frozenTarget = Object.freeze ? Object.freeze({}) : {};
forEach(v.nullPrimitives, function (nullish) {
st.equal(
ES.CopyDataProperties(frozenTarget, nullish, []),
frozenTarget,
debug(nullish) + ' "source" yields identical, unmodified target'
);
});
forEach(v.nonNullPrimitives, function (objectCoercible) {
var target = {};
var result = ES.CopyDataProperties(target, objectCoercible, []);
st.equal(result, target, 'result === target');
st.deepEqual(keys(result), keys(Object(objectCoercible)), 'target ends up with keys of ' + debug(objectCoercible));
});
st.end();
});
t.test('third argument: excludedItems', function (st) {
forEach(v.objects.concat(v.primitives), function (nonArray) {
st['throws'](
function () { ES.CopyDataProperties({}, {}, nonArray); },
TypeError,
debug(nonArray) + ' is not an Array'
);
});
forEach(v.nonPropertyKeys, function (nonPropertyKey) {
st['throws'](
function () { ES.CopyDataProperties({}, {}, [nonPropertyKey]); },
TypeError,
debug(nonPropertyKey) + ' is not a Property Key'
);
});
var result = ES.CopyDataProperties({}, { a: 1, b: 2, c: 3 }, ['b']);
st.deepEqual(keys(result), ['a', 'c'], 'excluded string keys are excluded');
st.test('excluding symbols', { skip: !v.hasSymbols }, function (s2t) {
var source = {};
forEach(v.symbols, function (symbol) {
source[symbol] = true;
});
var includedSymbols = v.symbols.slice(1);
var excludedSymbols = v.symbols.slice(0, 1);
var target = ES.CopyDataProperties({}, source, excludedSymbols);
forEach(includedSymbols, function (symbol) {
s2t.equal(has(target, symbol), true, debug(symbol) + ' is included');
});
forEach(excludedSymbols, function (symbol) {
s2t.equal(has(target, symbol), false, debug(symbol) + ' is excluded');
});
s2t.end();
});
st.end();
});
t.end();
});
test('PromiseResolve', function (t) {
t.test('Promises unsupported', { skip: typeof Promise === 'function' }, function (st) {
st['throws'](
function () { ES.PromiseResolve(); },
SyntaxError,
'Promises are not supported'
);
st.end();
});
t.test('Promises supported', { skip: typeof Promise !== 'function' }, function (st) {
st.plan(2);
var a = {};
var b = {};
var fulfilled = Promise.resolve(a);
var rejected = Promise.reject(b);
ES.PromiseResolve(Promise, fulfilled).then(function (x) {
st.equal(x, a, 'fulfilled promise resolves to fulfilled');
});
ES.PromiseResolve(Promise, rejected)['catch'](function (e) {
st.equal(e, b, 'rejected promise resolves to rejected');
});
});
t.end();
});
test('EnumerableOwnPropertyNames', { skip: skips && skips.EnumerableOwnPropertyNames }, function (t) {
var obj = testEnumerableOwnNames(t, function (O) {
return ES.EnumerableOwnPropertyNames(O, 'key');
});
t.deepEqual(
ES.EnumerableOwnPropertyNames(obj, 'value'),
[obj.own],
'returns enumerable own values'
);
t.deepEqual(
ES.EnumerableOwnPropertyNames(obj, 'key+value'),
[['own', obj.own]],
'returns enumerable own entries'
);
t.end();
});
};
module.exports = {
es2015: es2015,
es2016: es2016,
es2017: es2017
es2017: es2017,
es2018: es2018
};