diff --git a/index.html b/index.html
index 9fbc0476e..e3861482b 100644
--- a/index.html
+++ b/index.html
@@ -504,8 +504,14 @@
99% complete99% complete
- 18.20.4
+ | 18.20.5
(these versions have identical results)
+
+
+ 18.20.5 |
+ v8 10.2.154.26-node.37 |
+
+
18.20.4 |
@@ -60735,8 +60741,14 @@
100% complete100% complete
|
- 18.20.4
+ | 18.20.5
(these versions have identical results)
+
+
+ 18.20.5 |
+ v8 10.2.154.26-node.37 |
+
+
18.20.4 |
@@ -65327,8 +65339,14 @@
100% complete100% complete
|
- 18.20.4
+ | 18.20.5
(these versions have identical results)
+
+
+ 18.20.5 |
+ v8 10.2.154.26-node.37 |
+
+
18.20.4 |
@@ -73910,8 +73928,14 @@
85% complete85% complete
|
- 18.20.4
+ | 18.20.5
(these versions have identical results)
+
+
+ 18.20.5 |
+ v8 10.2.154.26-node.37 |
+
+
18.20.4 |
@@ -79070,8 +79094,14 @@
95% complete95% complete
|
- 18.20.4
+ | 18.20.5
(these versions have identical results)
+
+
+ 18.20.5 |
+ v8 10.2.154.26-node.37 |
+
+
18.20.4 |
@@ -84385,8 +84415,14 @@
100% complete100% complete
|
- 18.20.4
+ | 18.20.5
(these versions have identical results)
+
+
+ 18.20.5 |
+ v8 10.2.154.26-node.37 |
+
+
18.20.4 |
@@ -89283,8 +89319,14 @@
100% complete100% complete
|
- 18.20.4
+ | 18.20.5
(these versions have identical results)
+
+
+ 18.20.5 |
+ v8 10.2.154.26-node.37 |
+
+
18.20.4 |
@@ -93864,8 +93906,14 @@
97% complete97% complete
|
- 18.20.4
+ | 18.20.5
(these versions have identical results)
+
+
+ 18.20.5 |
+ v8 10.2.154.26-node.37 |
+
+
18.20.4 |
@@ -100466,8 +100514,14 @@
30% complete30% complete
|
- 18.20.4
+ | 18.20.5
(these versions have identical results)
+
+
+ 18.20.5 |
+ v8 10.2.154.26-node.37 |
+
+
18.20.4 |
@@ -104607,8 +104661,14 @@
8% complete0% complete
|
- 18.20.4
+ | 18.20.5
(these versions have identical results)
+
+
+ 18.20.5 |
+ v8 10.2.154.26-node.37 |
+
+
18.20.4 |
@@ -108925,8 +108985,14 @@
0% complete0% complete
|
- 18.20.4
+ | 18.20.5
(these versions have identical results)
+
+
+ 18.20.5 |
+ v8 10.2.154.26-node.37 |
+
+
18.20.4 |
@@ -114405,8 +114471,14 @@
5% complete5% complete
|
- 18.20.4
+ | 18.20.5
(these versions have identical results)
+
+
+ 18.20.5 |
+ v8 10.2.154.26-node.37 |
+
+
18.20.4 |
diff --git a/results/v8/18.20.5--harmony.json b/results/v8/18.20.5--harmony.json
new file mode 100644
index 000000000..d51f7913b
--- /dev/null
+++ b/results/v8/18.20.5--harmony.json
@@ -0,0 +1,1044 @@
+{
+ "_version": "18.20.5--harmony",
+ "_engine": "v8 10.2.154.26-node.37",
+ "ESNEXT": {
+ "_successful": 2,
+ "_count": 36,
+ "_percent": 0.05555555555555555,
+ "Stage 3›Class and Property Decorators›class decorators": "Invalid or unexpected token",
+ "Stage 3›Legacy RegExp features in JavaScript›RegExp \"lastMatch\"": true,
+ "Stage 3›Legacy RegExp features in JavaScript›RegExp.$1-$9": true,
+ "Stage 3›RegExp Escaping": "RegExp.escape is not a function",
+ "Stage 3›Uint8Array to/from base64 and hex›Uint8Array.toBase64()": "arr.toBase64 is not a function",
+ "Stage 3›Uint8Array to/from base64 and hex›Uint8Array.fromBase64()": "Uint8Array.fromBase64 is not a function",
+ "Stage 3›Uint8Array to/from base64 and hex›Uint8Array.setFromBase64()": "arr2.setFromBase64 is not a function",
+ "Stage 3›Uint8Array to/from base64 and hex›Uint8Array.toHex()": "arr.toHex is not a function",
+ "Stage 3›Uint8Array to/from base64 and hex›Uint8Array.fromHex()": "Uint8Array.fromHex is not a function",
+ "Stage 3›Uint8Array to/from base64 and hex›Uint8Array.setFromHex()": "arr2.setFromHex is not a function",
+ "Stage 2.7›ShadowRealm": false,
+ "Stage 2›Generator function.sent Meta Property": "Unexpected token '.'",
+ "Stage 2›throw expressions›logical": "Unexpected token 'throw'",
+ "Stage 2›throw expressions›parameter initializers": "Unexpected token 'throw'",
+ "Stage 2›throw expressions›arrow function bodies": "Unexpected token 'throw'",
+ "Stage 2›throw expressions›conditionals": "Unexpected token 'throw'",
+ "Stage 2›Map.prototype.upsert›Map.prototype.upsert": "map.upsert is not a function",
+ "Stage 2›Map.prototype.upsert›WeakMap.prototype.upsert": "map.upsert is not a function",
+ "Stage 2›Array.isTemplateObject": "Array.isTemplateObject is not a function",
+ "Stage 2›Async Iterator Helpers›instanceof AsyncIterator": "AsyncIterator is not defined",
+ "Stage 2›Async Iterator Helpers›extends AsyncIterator": "AsyncIterator is not defined",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.from, async iterable": "AsyncIterator is not defined",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.from, iterable": "AsyncIterator is not defined",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.from, iterator": "AsyncIterator is not defined",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.drop": "(intermediate value)(...).drop is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.every": "(intermediate value)(...).every is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.filter": "(intermediate value)(...).filter is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.find": "(intermediate value)(...).find is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.flatMap": "(intermediate value)(...).flatMap is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.forEach": "(intermediate value)(...).forEach is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.map": "(intermediate value)(...).map is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.reduce": "(intermediate value)(...).reduce is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.some": "(intermediate value)(...).some is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.take": "(intermediate value)(...).take is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.toArray": "(intermediate value)(...).toArray is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype[@@toStringTag]": "AsyncIterator is not defined"
+ },
+ "ES2025": {
+ "_successful": 0,
+ "_count": 28,
+ "_percent": 0,
+ "features›Duplicate named capturing groups": "Invalid regular expression: /(?[0-9]{4})-[0-9]{2}|[0-9]{2}-(?[0-9]{4})/: Duplicate capture group name",
+ "features›Set methods›Set.prototype.intersection()": "(intermediate value).intersection is not a function",
+ "features›Set methods›Set.prototype.union()": "(intermediate value).union is not a function",
+ "features›Set methods›Set.prototype.difference()": "(intermediate value).difference is not a function",
+ "features›Set methods›Set.prototype.symmetricDifference()": "(intermediate value).symmetricDifference is not a function",
+ "features›Set methods›Set.prototype.isDisjointFrom()": "(intermediate value).isDisjointFrom is not a function",
+ "features›Set methods›Set.prototype.isSubsetOf()": "(intermediate value).isSubsetOf is not a function",
+ "features›Set methods›Set.prototype.isSupersetOf()": "(intermediate value).isSupersetOf is not a function",
+ "features›RegExp Pattern Modifiers›i flag": "Invalid regular expression: /^[a-z](?-i:[a-z])$/: Invalid group",
+ "features›RegExp Pattern Modifiers›m flag": "Invalid regular expression: /^a|(?m:^b)/: Invalid group",
+ "features›RegExp Pattern Modifiers›s flag": "Invalid regular expression: /.(?-s:.)/: Invalid group",
+ "features›Iterator Helpers›instanceof Iterator": "Iterator is not defined",
+ "features›Iterator Helpers›extends Iterator": "Iterator is not defined",
+ "features›Iterator Helpers›Iterator.from, iterable": "Iterator is not defined",
+ "features›Iterator Helpers›Iterator.from, iterator": "Iterator is not defined",
+ "features›Iterator Helpers›Iterator.prototype.drop": "[1,2,3].values(...).drop is not a function",
+ "features›Iterator Helpers›Iterator.prototype.every": "[1,2,3].values(...).every is not a function",
+ "features›Iterator Helpers›Iterator.prototype.filter": "[1,2,3].values(...).filter is not a function",
+ "features›Iterator Helpers›Iterator.prototype.find": "[1,2,3].values(...).find is not a function",
+ "features›Iterator Helpers›Iterator.prototype.flatMap": "[1,2,3].values(...).flatMap is not a function",
+ "features›Iterator Helpers›Iterator.prototype.forEach": "[1,2,3].values(...).forEach is not a function",
+ "features›Iterator Helpers›Iterator.prototype.map": "[1,2,3].values(...).map is not a function",
+ "features›Iterator Helpers›Iterator.prototype.reduce": "[1,2,3].values(...).reduce is not a function",
+ "features›Iterator Helpers›Iterator.prototype.some": "[1,2,3].values(...).some is not a function",
+ "features›Iterator Helpers›Iterator.prototype.take": "[1,2,3].values(...).take is not a function",
+ "features›Iterator Helpers›Iterator.prototype.toArray": "[1,2,3].values(...).toArray is not a function",
+ "features›Iterator Helpers›Iterator.prototype[@@toStringTag]": "Iterator is not defined",
+ "features›Promise.try": "Promise.try is not a function"
+ },
+ "ES2024": {
+ "_successful": 0,
+ "_count": 12,
+ "_percent": 0,
+ "features›RegExp `v` flag›set notations": "Invalid regular expression flags",
+ "features›RegExp `v` flag›properties of Strings": "Invalid regular expression flags",
+ "features›RegExp `v` flag›constructor supports it": "Invalid flags supplied to RegExp constructor 'v'",
+ "features›RegExp `v` flag›shows up in flags": false,
+ "features›RegExp `v` flag›Unicode 15.1": "Invalid regular expression flags",
+ "features›RegExp `v` flag›Unicode 16.0": "Invalid regular expression flags",
+ "features›ArrayBuffer.prototype.transfer›ArrayBuffer.prototype.transfer()": "buffer1.transfer is not a function",
+ "features›ArrayBuffer.prototype.transfer›ArrayBuffer.prototype.transferToFixedLength()": "buffer1.transferToFixedLength is not a function",
+ "features›ArrayBuffer.prototype.transfer›ArrayBuffer.prototype.detached": "buffer1.transfer is not a function",
+ "features›Promise.withResolvers": "Promise.withResolvers is not a function",
+ "features›Array Grouping›Object.groupBy()": "Object.groupBy is not a function",
+ "features›Array Grouping›Map.groupBy()": "Map.groupBy is not a function"
+ },
+ "ES2023": {
+ "_successful": 3,
+ "_count": 10,
+ "_percent": 0.3,
+ "features›Array find from last›Array.prototype.findLast": true,
+ "features›Array find from last›Array.prototype.findLastIndex": true,
+ "features›Hashbang Grammar": true,
+ "features›Change Array by copy›Array.prototype.toReversed()": "arr.toReversed is not a function",
+ "features›Change Array by copy›Array.prototype.toSorted()": "arr.toSorted is not a function",
+ "features›Change Array by copy›Array.prototype.toSpliced()": "arr.toSpliced is not a function",
+ "features›Change Array by copy›Array.prototype.with()": "arr.with is not a function",
+ "features›Change Array by copy›TypedArray.prototype.toReversed()": "arr.toReversed is not a function",
+ "features›Change Array by copy›TypedArray.prototype.toSorted()": "arr.toSorted is not a function",
+ "features›Change Array by copy›TypedArray.prototype.with()": "arr.with is not a function"
+ },
+ "ES2022": {
+ "_successful": 39,
+ "_count": 40,
+ "_percent": 0.975,
+ "features›instance class fields›public instance class fields": true,
+ "features›instance class fields›private instance class fields basic support": true,
+ "features›instance class fields›private instance class fields initializers": true,
+ "features›instance class fields›optional private instance class fields access": true,
+ "features›instance class fields›optional deep private instance class fields access": true,
+ "features›instance class fields›computed instance class fields": true,
+ "features›instance class fields›resolving identifier in parent scope": true,
+ "features›static class fields›public static class fields": true,
+ "features›static class fields›static class fields use [[Define]]": true,
+ "features›static class fields›private static class fields": true,
+ "features›static class fields›computed static class fields": true,
+ "features›private class methods›private instance methods": true,
+ "features›private class methods›private static methods": true,
+ "features›private class methods›private accessor properties": true,
+ "features›private class methods›private static accessor properties": true,
+ "features›Ergonomic brand checks for private fields": true,
+ "features›.at() method on the built-in indexables›Array.prototype.at()": true,
+ "features›.at() method on the built-in indexables›String.prototype.at()": true,
+ "features›.at() method on the built-in indexables›%TypedArray%.prototype.at()": true,
+ "features›Object.hasOwn›Basic functionality": true,
+ "features›Object.hasOwn›ToObject called before ToPropertyKey": true,
+ "features›Class static initialization blocks": true,
+ "features›Error.cause property›Error has cause": true,
+ "features›Error.cause property›Error.prototype lacks cause": true,
+ "features›Error.cause property›EvalError has cause": true,
+ "features›Error.cause property›EvalError.prototype lacks cause": true,
+ "features›Error.cause property›RangeError has cause": true,
+ "features›Error.cause property›RangeError.prototype lacks cause": true,
+ "features›Error.cause property›ReferenceError has cause": true,
+ "features›Error.cause property›ReferenceError.prototype lacks cause": true,
+ "features›Error.cause property›SyntaxError has cause": true,
+ "features›Error.cause property›SyntaxError.prototype lacks cause": true,
+ "features›Error.cause property›TypeError has cause": true,
+ "features›Error.cause property›TypeError.prototype lacks cause": true,
+ "features›Error.cause property›URIError has cause": true,
+ "features›Error.cause property›URIError.prototype lacks cause": true,
+ "features›Error.cause property›AggregateError has cause": true,
+ "features›Error.cause property›AggregateError.prototype lacks cause": true,
+ "features›RegExp Match Indices (`hasIndices` / `d` flag)›constructor supports it": true,
+ "features›RegExp Match Indices (`hasIndices` / `d` flag)›shows up in flags": false
+ },
+ "ES2021": {
+ "_successful": 15,
+ "_count": 15,
+ "_percent": 1,
+ "features›String.prototype.replaceAll": true,
+ "features›Promise.any›fulfillment": true,
+ "features›Promise.any›AggregateError": true,
+ "features›WeakReferences›WeakRef minimal support": true,
+ "features›WeakReferences›FinalizationRegistry minimal support": true,
+ "features›Logical Assignment›||= basic support": true,
+ "features›Logical Assignment›||= short-circuiting behaviour": true,
+ "features›Logical Assignment›||= setter not unecessarily invoked": true,
+ "features›Logical Assignment›&&= basic support": true,
+ "features›Logical Assignment›&&= short-circuiting behaviour": true,
+ "features›Logical Assignment›&&= setter not unecessarily invoked": true,
+ "features›Logical Assignment›??= basic support": true,
+ "features›Logical Assignment›??= short-circuiting behaviour": true,
+ "features›Logical Assignment›??= setter not unecessarily invoked": true,
+ "features›numeric separators": true
+ },
+ "ES2020": {
+ "_successful": 19,
+ "_count": 19,
+ "_percent": 1,
+ "features›String.prototype.matchAll›basic functionality": true,
+ "features›String.prototype.matchAll›throws on non-global regex": true,
+ "features›BigInt›basic functionality": true,
+ "features›BigInt›constructor": true,
+ "features›BigInt›BigInt.asUintN": true,
+ "features›BigInt›BigInt.asIntN": true,
+ "features›BigInt›BigInt64Array": true,
+ "features›BigInt›BigUint64Array": true,
+ "features›BigInt›DataView.prototype.getBigInt64": true,
+ "features›BigInt›DataView.prototype.getBigUint64": true,
+ "features›Promise.allSettled": true,
+ "features›globalThis›\"globalThis\" global property is global object": true,
+ "features›globalThis›\"globalThis\" global property has correct property descriptor": true,
+ "features›optional chaining operator (?.)›optional property access": true,
+ "features›optional chaining operator (?.)›optional bracket access": true,
+ "features›optional chaining operator (?.)›optional method call": true,
+ "features›optional chaining operator (?.)›optional function call": true,
+ "features›optional chaining operator (?.)›spread parameters after optional chaining": true,
+ "features›nullish coalescing operator (??)": true
+ },
+ "ES2019": {
+ "_successful": 23,
+ "_count": 24,
+ "_percent": 0.9583333333333334,
+ "features›Symbol.prototype.description›basic": true,
+ "features›Symbol.prototype.description›empty description": true,
+ "features›Symbol.prototype.description›undefined description": true,
+ "features›Object.fromEntries": true,
+ "features›string trimming›String.prototype.trimLeft": true,
+ "features›string trimming›String.prototype.trimRight": true,
+ "features›string trimming›String.prototype.trimStart": true,
+ "features›string trimming›String.prototype.trimEnd": true,
+ "features›Array.prototype.{flat, flatMap}›Array.prototype.flat": true,
+ "features›Array.prototype.{flat, flatMap}›Array.prototype.flatMap": true,
+ "features›Array.prototype.{flat, flatMap}›flat and flatMap in Array.prototype[@@unscopables]": true,
+ "misc›optional catch binding›basic": true,
+ "misc›optional catch binding›await": true,
+ "misc›optional catch binding›yield": true,
+ "misc›Function.prototype.toString revision›functions created with the Function constructor": "Unexpected string",
+ "misc›Function.prototype.toString revision›arrows": true,
+ "misc›Function.prototype.toString revision›[native code]": true,
+ "misc›Function.prototype.toString revision›class expression with implicit constructor": true,
+ "misc›Function.prototype.toString revision›class expression with explicit constructor": true,
+ "misc›Function.prototype.toString revision›unicode escape sequences in identifiers": true,
+ "misc›Function.prototype.toString revision›methods and computed property names": true,
+ "misc›JSON superset›LINE SEPARATOR can appear in string literals": true,
+ "misc›JSON superset›PARAGRAPH SEPARATOR can appear in string literals": true,
+ "misc›Well-formed JSON.stringify": true
+ },
+ "ES2018": {
+ "_successful": 20,
+ "_count": 21,
+ "_percent": 0.9523809523809523,
+ "features›object rest/spread properties›object rest properties": true,
+ "features›object rest/spread properties›object spread properties": true,
+ "features›Promise.prototype.finally›basic support": true,
+ "features›Promise.prototype.finally›don't change resolution value": true,
+ "features›Promise.prototype.finally›change rejection value": true,
+ "features›s (dotAll) flag for regular expressions": true,
+ "features›RegExp named capture groups": true,
+ "features›RegExp Lookbehind Assertions": true,
+ "features›RegExp Unicode Property Escapes›basic": true,
+ "features›RegExp Unicode Property Escapes›Unicode 11": true,
+ "features›RegExp Unicode Property Escapes›Unicode 12": true,
+ "features›RegExp Unicode Property Escapes›Unicode 12.1": true,
+ "features›RegExp Unicode Property Escapes›Unicode 13": true,
+ "features›RegExp Unicode Property Escapes›Unicode 14": true,
+ "features›RegExp Unicode Property Escapes›Unicode 15": true,
+ "features›RegExp Unicode Property Escapes›Unicode 15.1": true,
+ "features›RegExp Unicode Property Escapes›Unicode 16.0": "Invalid regular expression: /\\p{Script=Todhri}/: Invalid property name",
+ "features›Asynchronous Iterators›async generators": true,
+ "features›Asynchronous Iterators›for-await-of loops": true,
+ "misc›Proxy \"ownKeys\" handler, duplicate keys for non-extensible targets": true,
+ "misc›template literal revision": true
+ },
+ "ES2017": {
+ "_successful": 64,
+ "_count": 64,
+ "_percent": 1,
+ "features›Object static methods›Object.values": true,
+ "features›Object static methods›Object.entries": true,
+ "features›Object static methods›Object.getOwnPropertyDescriptors": true,
+ "features›Object static methods›Object.getOwnPropertyDescriptors doesn't provide undefined descriptors": true,
+ "features›String padding›String.prototype.padStart": true,
+ "features›String padding›String.prototype.padEnd": true,
+ "features›trailing commas in function syntax›in parameter lists": true,
+ "features›trailing commas in function syntax›in argument lists": true,
+ "features›async functions›return": true,
+ "features›async functions›throw": true,
+ "features›async functions›no line break between async and function": true,
+ "features›async functions›no \"prototype\" property": true,
+ "features›async functions›await": true,
+ "features›async functions›await, rejection": true,
+ "features›async functions›must await a value": true,
+ "features›async functions›can await non-Promise values": true,
+ "features›async functions›cannot await in parameters": true,
+ "features›async functions›async methods, object literals": true,
+ "features›async functions›async methods, classes": true,
+ "features›async functions›async arrow functions in methods, classes": true,
+ "features›async functions›async arrow functions": true,
+ "features›async functions›correct prototype chain": true,
+ "features›async functions›async function prototype, Symbol.toStringTag": true,
+ "features›async functions›async function constructor": true,
+ "features›shared memory and atomics›SharedArrayBuffer": true,
+ "features›shared memory and atomics›SharedArrayBuffer[Symbol.species]": true,
+ "features›shared memory and atomics›SharedArrayBuffer.prototype.byteLength": true,
+ "features›shared memory and atomics›SharedArrayBuffer.prototype.slice": true,
+ "features›shared memory and atomics›SharedArrayBuffer.prototype[Symbol.toStringTag]": true,
+ "features›shared memory and atomics›Atomics.add": true,
+ "features›shared memory and atomics›Atomics.and": true,
+ "features›shared memory and atomics›Atomics.compareExchange": true,
+ "features›shared memory and atomics›Atomics.exchange": true,
+ "features›shared memory and atomics›Atomics.wait": true,
+ "features›shared memory and atomics›Atomics.notify": true,
+ "features›shared memory and atomics›Atomics.isLockFree": true,
+ "features›shared memory and atomics›Atomics.load": true,
+ "features›shared memory and atomics›Atomics.or": true,
+ "features›shared memory and atomics›Atomics.store": true,
+ "features›shared memory and atomics›Atomics.sub": true,
+ "features›shared memory and atomics›Atomics.xor": true,
+ "misc›RegExp \"u\" flag, case folding": true,
+ "misc›arguments.caller removed": true,
+ "annex b›Object.prototype getter/setter methods›__defineGetter__": true,
+ "annex b›Object.prototype getter/setter methods›__defineGetter__, symbols": true,
+ "annex b›Object.prototype getter/setter methods›__defineGetter__, ToObject(this)": true,
+ "annex b›Object.prototype getter/setter methods›__defineSetter__": true,
+ "annex b›Object.prototype getter/setter methods›__defineSetter__, symbols": true,
+ "annex b›Object.prototype getter/setter methods›__defineSetter__, ToObject(this)": true,
+ "annex b›Object.prototype getter/setter methods›__lookupGetter__": true,
+ "annex b›Object.prototype getter/setter methods›__lookupGetter__, prototype chain": true,
+ "annex b›Object.prototype getter/setter methods›__lookupGetter__, symbols": true,
+ "annex b›Object.prototype getter/setter methods›__lookupGetter__, ToObject(this)": true,
+ "annex b›Object.prototype getter/setter methods›__lookupGetter__, data properties can shadow accessors": true,
+ "annex b›Object.prototype getter/setter methods›__lookupSetter__": true,
+ "annex b›Object.prototype getter/setter methods›__lookupSetter__, prototype chain": true,
+ "annex b›Object.prototype getter/setter methods›__lookupSetter__, symbols": true,
+ "annex b›Object.prototype getter/setter methods›__lookupSetter__, ToObject(this)": true,
+ "annex b›Object.prototype getter/setter methods›__lookupSetter__, data properties can shadow accessors": true,
+ "annex b›Proxy internal calls, getter/setter methods›__defineGetter__": true,
+ "annex b›Proxy internal calls, getter/setter methods›__defineSetter__": true,
+ "annex b›Proxy internal calls, getter/setter methods›__lookupGetter__": true,
+ "annex b›Proxy internal calls, getter/setter methods›__lookupSetter__": true,
+ "annex b›assignments allowed in for-in head in non-strict mode": true
+ },
+ "ES2016": {
+ "_successful": 14,
+ "_count": 14,
+ "_percent": 1,
+ "features›exponentiation (**) operator›basic support": true,
+ "features›exponentiation (**) operator›assignment": true,
+ "features›exponentiation (**) operator›early syntax error for unary negation without parens": true,
+ "features›Array.prototype.includes›Array.prototype.includes": true,
+ "features›Array.prototype.includes›Array.prototype.includes handles sparse arrays": true,
+ "features›Array.prototype.includes›Array.prototype.includes is generic": true,
+ "features›Array.prototype.includes›%TypedArray%.prototype.includes": true,
+ "misc›generator functions can't be used with \"new\"": true,
+ "misc›generator throw() caught by inner generator": true,
+ "misc›strict fn w/ non-strict non-simple params is error": true,
+ "misc›nested rest destructuring, declarations": true,
+ "misc›nested rest destructuring, parameters": true,
+ "misc›Proxy, \"enumerate\" handler removed": true,
+ "misc›Proxy internal calls, Array.prototype.includes": true
+ },
+ "ES2015": {
+ "_successful": 693,
+ "_count": 697,
+ "_percent": 0.994261119081779,
+ "optimisation›proper tail calls (tail call optimisation)›direct recursion": "Maximum call stack size exceeded",
+ "optimisation›proper tail calls (tail call optimisation)›mutual recursion": "Maximum call stack size exceeded",
+ "syntax›default function parameters›basic functionality": true,
+ "syntax›default function parameters›explicit undefined defers to the default": true,
+ "syntax›default function parameters›defaults can refer to previous params": true,
+ "syntax›default function parameters›arguments object interaction": true,
+ "syntax›default function parameters›temporal dead zone": true,
+ "syntax›default function parameters›separate scope": true,
+ "syntax›default function parameters›new Function() support": true,
+ "syntax›rest parameters›basic functionality": true,
+ "syntax›rest parameters›function 'length' property": true,
+ "syntax›rest parameters›arguments object interaction": true,
+ "syntax›rest parameters›can't be used in setters": true,
+ "syntax›rest parameters›new Function() support": true,
+ "syntax›spread syntax for iterable objects›with arrays, in function calls": true,
+ "syntax›spread syntax for iterable objects›with arrays, in array literals": true,
+ "syntax›spread syntax for iterable objects›with sparse arrays, in function calls": true,
+ "syntax›spread syntax for iterable objects›with sparse arrays, in array literals": true,
+ "syntax›spread syntax for iterable objects›with strings, in function calls": true,
+ "syntax›spread syntax for iterable objects›with strings, in array literals": true,
+ "syntax›spread syntax for iterable objects›with astral plane strings, in function calls": true,
+ "syntax›spread syntax for iterable objects›with astral plane strings, in array literals": true,
+ "syntax›spread syntax for iterable objects›with generator instances, in calls": true,
+ "syntax›spread syntax for iterable objects›with generator instances, in arrays": true,
+ "syntax›spread syntax for iterable objects›with generic iterables, in calls": true,
+ "syntax›spread syntax for iterable objects›with generic iterables, in arrays": true,
+ "syntax›spread syntax for iterable objects›with instances of iterables, in calls": true,
+ "syntax›spread syntax for iterable objects›with instances of iterables, in arrays": true,
+ "syntax›spread syntax for iterable objects›spreading non-iterables is a runtime error": true,
+ "syntax›object literal extensions›computed properties": true,
+ "syntax›object literal extensions›shorthand properties": true,
+ "syntax›object literal extensions›shorthand methods": true,
+ "syntax›object literal extensions›string-keyed shorthand methods": true,
+ "syntax›object literal extensions›computed shorthand methods": true,
+ "syntax›object literal extensions›computed accessors": true,
+ "syntax›for..of loops›with arrays": true,
+ "syntax›for..of loops›with sparse arrays": true,
+ "syntax›for..of loops›with strings": true,
+ "syntax›for..of loops›with astral plane strings": true,
+ "syntax›for..of loops›with generator instances": true,
+ "syntax›for..of loops›with generic iterables": true,
+ "syntax›for..of loops›with instances of generic iterables": true,
+ "syntax›for..of loops›iterator closing, break": true,
+ "syntax›for..of loops›iterator closing, throw": true,
+ "syntax›octal and binary literals›octal literals": true,
+ "syntax›octal and binary literals›binary literals": true,
+ "syntax›octal and binary literals›octal supported by Number()": true,
+ "syntax›octal and binary literals›binary supported by Number()": true,
+ "syntax›template literals›basic functionality": true,
+ "syntax›template literals›toString conversion": true,
+ "syntax›template literals›tagged template literals": true,
+ "syntax›template literals›passed array is frozen": true,
+ "syntax›template literals›line break normalisation": true,
+ "syntax›template literals›TemplateStrings call site caching": true,
+ "syntax›template literals›TemplateStrings permanent caching": true,
+ "syntax›RegExp \"y\" and \"u\" flags›\"y\" flag": true,
+ "syntax›RegExp \"y\" and \"u\" flags›\"y\" flag, lastIndex": true,
+ "syntax›RegExp \"y\" and \"u\" flags›\"u\" flag": true,
+ "syntax›RegExp \"y\" and \"u\" flags›\"u\" flag, non-BMP Unicode characters": true,
+ "syntax›RegExp \"y\" and \"u\" flags›\"u\" flag, Unicode code point escapes": true,
+ "syntax›RegExp \"y\" and \"u\" flags›\"u\" flag, case folding": true,
+ "syntax›destructuring, declarations›with arrays": true,
+ "syntax›destructuring, declarations›with sparse arrays": true,
+ "syntax›destructuring, declarations›with strings": true,
+ "syntax›destructuring, declarations›with astral plane strings": true,
+ "syntax›destructuring, declarations›with generator instances": true,
+ "syntax›destructuring, declarations›with generic iterables": true,
+ "syntax›destructuring, declarations›with instances of generic iterables": true,
+ "syntax›destructuring, declarations›iterator closing": true,
+ "syntax›destructuring, declarations›trailing commas in iterable patterns": true,
+ "syntax›destructuring, declarations›with objects": true,
+ "syntax›destructuring, declarations›object destructuring with primitives": true,
+ "syntax›destructuring, declarations›trailing commas in object patterns": true,
+ "syntax›destructuring, declarations›throws on null and undefined": true,
+ "syntax›destructuring, declarations›computed properties": true,
+ "syntax›destructuring, declarations›multiples in a single var statement": true,
+ "syntax›destructuring, declarations›nested": true,
+ "syntax›destructuring, declarations›in for-in loop heads": true,
+ "syntax›destructuring, declarations›in for-of loop heads": true,
+ "syntax›destructuring, declarations›in catch heads": true,
+ "syntax›destructuring, declarations›rest": true,
+ "syntax›destructuring, declarations›defaults": true,
+ "syntax›destructuring, declarations›defaults, let temporal dead zone": true,
+ "syntax›destructuring, assignment›with arrays": true,
+ "syntax›destructuring, assignment›with sparse arrays": true,
+ "syntax›destructuring, assignment›with strings": true,
+ "syntax›destructuring, assignment›with astral plane strings": true,
+ "syntax›destructuring, assignment›with generator instances": true,
+ "syntax›destructuring, assignment›with generic iterables": true,
+ "syntax›destructuring, assignment›with instances of generic iterables": true,
+ "syntax›destructuring, assignment›iterator closing": true,
+ "syntax›destructuring, assignment›iterable destructuring expression": true,
+ "syntax›destructuring, assignment›chained iterable destructuring": true,
+ "syntax›destructuring, assignment›trailing commas in iterable patterns": true,
+ "syntax›destructuring, assignment›with objects": true,
+ "syntax›destructuring, assignment›object destructuring with primitives": true,
+ "syntax›destructuring, assignment›trailing commas in object patterns": true,
+ "syntax›destructuring, assignment›object destructuring expression": true,
+ "syntax›destructuring, assignment›parenthesised left-hand-side is a syntax error": true,
+ "syntax›destructuring, assignment›chained object destructuring": true,
+ "syntax›destructuring, assignment›throws on null and undefined": true,
+ "syntax›destructuring, assignment›computed properties": true,
+ "syntax›destructuring, assignment›nested": true,
+ "syntax›destructuring, assignment›rest": true,
+ "syntax›destructuring, assignment›nested rest": true,
+ "syntax›destructuring, assignment›empty patterns": true,
+ "syntax›destructuring, assignment›defaults": true,
+ "syntax›destructuring, parameters›with arrays": true,
+ "syntax›destructuring, parameters›with sparse arrays": true,
+ "syntax›destructuring, parameters›with strings": true,
+ "syntax›destructuring, parameters›with astral plane strings": true,
+ "syntax›destructuring, parameters›with generator instances": true,
+ "syntax›destructuring, parameters›with generic iterables": true,
+ "syntax›destructuring, parameters›with instances of generic iterables": true,
+ "syntax›destructuring, parameters›iterator closing": true,
+ "syntax›destructuring, parameters›trailing commas in iterable patterns": true,
+ "syntax›destructuring, parameters›with objects": true,
+ "syntax›destructuring, parameters›object destructuring with primitives": true,
+ "syntax›destructuring, parameters›trailing commas in object patterns": true,
+ "syntax›destructuring, parameters›throws on null and undefined": true,
+ "syntax›destructuring, parameters›computed properties": true,
+ "syntax›destructuring, parameters›nested": true,
+ "syntax›destructuring, parameters›'arguments' interaction": true,
+ "syntax›destructuring, parameters›new Function() support": true,
+ "syntax›destructuring, parameters›in parameters, function 'length' property": true,
+ "syntax›destructuring, parameters›rest": true,
+ "syntax›destructuring, parameters›empty patterns": true,
+ "syntax›destructuring, parameters›defaults": true,
+ "syntax›destructuring, parameters›defaults, separate scope": true,
+ "syntax›destructuring, parameters›defaults, new Function() support": true,
+ "syntax›destructuring, parameters›aliased defaults, arrow function": true,
+ "syntax›destructuring, parameters›shorthand defaults, arrow function": true,
+ "syntax›destructuring, parameters›duplicate identifier": true,
+ "syntax›Unicode code point escapes›in strings": true,
+ "syntax›Unicode code point escapes›in identifiers": true,
+ "syntax›Unicode code point escapes›in property key definitions": true,
+ "syntax›Unicode code point escapes›in property key accesses": true,
+ "syntax›new.target›in constructors": true,
+ "syntax›new.target›assignment is an early error": true,
+ "bindings›const›basic support": true,
+ "bindings›const›is block-scoped": true,
+ "bindings›const›scope shadow resolution": true,
+ "bindings›const›cannot be in statements": true,
+ "bindings›const›redefining a const is an error": true,
+ "bindings›const›for loop statement scope": true,
+ "bindings›const›for-in loop iteration scope": true,
+ "bindings›const›for-of loop iteration scope": true,
+ "bindings›const›temporal dead zone": true,
+ "bindings›const›basic support (strict mode)": true,
+ "bindings›const›is block-scoped (strict mode)": true,
+ "bindings›const›scope shadow resolution (strict mode)": true,
+ "bindings›const›cannot be in statements (strict mode)": true,
+ "bindings›const›redefining a const (strict mode)": true,
+ "bindings›const›for loop statement scope (strict mode)": true,
+ "bindings›const›for-in loop iteration scope (strict mode)": true,
+ "bindings›const›for-of loop iteration scope (strict mode)": true,
+ "bindings›const›temporal dead zone (strict mode)": true,
+ "bindings›let›basic support": true,
+ "bindings›let›is block-scoped": true,
+ "bindings›let›scope shadow resolution": true,
+ "bindings›let›cannot be in statements": true,
+ "bindings›let›for loop statement scope": true,
+ "bindings›let›temporal dead zone": true,
+ "bindings›let›for/for-in loop iteration scope": true,
+ "bindings›let›for-in loop binding shadowing parameter": true,
+ "bindings›let›basic support (strict mode)": true,
+ "bindings›let›is block-scoped (strict mode)": true,
+ "bindings›let›scope shadow resolution (strict mode)": true,
+ "bindings›let›cannot be in statements (strict mode)": true,
+ "bindings›let›for loop statement scope (strict mode)": true,
+ "bindings›let›temporal dead zone (strict mode)": true,
+ "bindings›let›for/for-in loop iteration scope (strict mode)": true,
+ "bindings›let›for-in loop binding shadowing parameter (strict mode)": true,
+ "bindings›block-level function declaration": true,
+ "functions›arrow functions›0 parameters": true,
+ "functions›arrow functions›1 parameter, no brackets": true,
+ "functions›arrow functions›multiple parameters": true,
+ "functions›arrow functions›lexical \"this\" binding": true,
+ "functions›arrow functions›\"this\" unchanged by call or apply": true,
+ "functions›arrow functions›can't be bound, can be curried": true,
+ "functions›arrow functions›lexical \"arguments\" binding": true,
+ "functions›arrow functions›no line break between params and =>": true,
+ "functions›arrow functions›correct precedence": true,
+ "functions›arrow functions›no \"prototype\" property": true,
+ "functions›arrow functions›lexical \"super\" binding in constructors": true,
+ "functions›arrow functions›lexical \"super\" binding in methods": true,
+ "functions›arrow functions›lexical \"new.target\" binding": true,
+ "functions›class›class statement": true,
+ "functions›class›is block-scoped": true,
+ "functions›class›class expression": true,
+ "functions›class›anonymous class": true,
+ "functions›class›constructor": true,
+ "functions›class›prototype methods": true,
+ "functions›class›string-keyed methods": true,
+ "functions›class›computed prototype methods": true,
+ "functions›class›optional semicolons": true,
+ "functions›class›static methods": true,
+ "functions›class›computed static methods": true,
+ "functions›class›accessor properties": true,
+ "functions›class›computed accessor properties": true,
+ "functions›class›static accessor properties": true,
+ "functions›class›computed static accessor properties": true,
+ "functions›class›class name is lexically scoped": true,
+ "functions›class›computed names, temporal dead zone": true,
+ "functions›class›methods aren't enumerable": true,
+ "functions›class›implicit strict mode": true,
+ "functions›class›constructor requires new": true,
+ "functions›class›extends": true,
+ "functions›class›extends expressions": true,
+ "functions›class›extends null": true,
+ "functions›class›new.target": true,
+ "functions›super›statement in constructors": true,
+ "functions›super›expression in constructors": true,
+ "functions›super›in methods, property access": true,
+ "functions›super›in methods, method calls": true,
+ "functions›super›method calls use correct \"this\" binding": true,
+ "functions›super›constructor calls use correct \"new.target\" binding": true,
+ "functions›super›is statically bound": true,
+ "functions›super›super() invokes the correct constructor": true,
+ "functions›generators›basic functionality": true,
+ "functions›generators›generator function expressions": true,
+ "functions›generators›correct \"this\" binding": true,
+ "functions›generators›can't use \"this\" with new": true,
+ "functions›generators›sending": true,
+ "functions›generators›%GeneratorPrototype%": true,
+ "functions›generators›%GeneratorPrototype% prototype chain": true,
+ "functions›generators›%GeneratorPrototype%.constructor": true,
+ "functions›generators›%GeneratorPrototype%.throw": true,
+ "functions›generators›%GeneratorPrototype%.return": true,
+ "functions›generators›yield operator precedence": true,
+ "functions›generators›yield *, arrays": true,
+ "functions›generators›yield *, sparse arrays": true,
+ "functions›generators›yield *, strings": true,
+ "functions›generators›yield *, astral plane strings": true,
+ "functions›generators›yield *, generator instances": true,
+ "functions›generators›yield *, generic iterables": true,
+ "functions›generators›yield *, instances of iterables": true,
+ "functions›generators›yield * on non-iterables is a runtime error": true,
+ "functions›generators›yield *, iterator closing": true,
+ "functions›generators›yield *, iterator closing via throw()": true,
+ "functions›generators›shorthand generator methods": true,
+ "functions›generators›string-keyed shorthand generator methods": true,
+ "functions›generators›computed shorthand generators": true,
+ "functions›generators›shorthand generator methods, classes": true,
+ "functions›generators›computed shorthand generators, classes": true,
+ "functions›generators›shorthand generators can't be constructors": true,
+ "built-ins›typed arrays›Int8Array": true,
+ "built-ins›typed arrays›Uint8Array": true,
+ "built-ins›typed arrays›Uint8ClampedArray": true,
+ "built-ins›typed arrays›Int16Array": true,
+ "built-ins›typed arrays›Uint16Array": true,
+ "built-ins›typed arrays›Int32Array": true,
+ "built-ins›typed arrays›Uint32Array": true,
+ "built-ins›typed arrays›Float32Array": true,
+ "built-ins›typed arrays›Float64Array": true,
+ "built-ins›typed arrays›DataView (Int8)": true,
+ "built-ins›typed arrays›DataView (Uint8)": true,
+ "built-ins›typed arrays›DataView (Int16)": true,
+ "built-ins›typed arrays›DataView (Uint16)": true,
+ "built-ins›typed arrays›DataView (Int32)": true,
+ "built-ins›typed arrays›DataView (Uint32)": true,
+ "built-ins›typed arrays›DataView (Float32)": true,
+ "built-ins›typed arrays›DataView (Float64)": true,
+ "built-ins›typed arrays›ArrayBuffer[Symbol.species]": true,
+ "built-ins›typed arrays›constructors require new": true,
+ "built-ins›typed arrays›constructors accept generic iterables": true,
+ "built-ins›typed arrays›correct prototype chains": true,
+ "built-ins›typed arrays›%TypedArray%.from": true,
+ "built-ins›typed arrays›%TypedArray%.of": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.subarray": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.join": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.indexOf": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.lastIndexOf": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.slice": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.every": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.filter": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.forEach": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.map": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.reduce": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.reduceRight": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.reverse": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.some": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.sort": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.copyWithin": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.find": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.findIndex": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.fill": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.keys": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.values": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.entries": true,
+ "built-ins›typed arrays›%TypedArray%.prototype[Symbol.iterator]": true,
+ "built-ins›typed arrays›%TypedArray%[Symbol.species]": true,
+ "built-ins›Map›basic functionality": true,
+ "built-ins›Map›constructor arguments": true,
+ "built-ins›Map›constructor requires new": true,
+ "built-ins›Map›constructor accepts null": true,
+ "built-ins›Map›constructor invokes set": true,
+ "built-ins›Map›iterator closing": true,
+ "built-ins›Map›Map.prototype.set returns this": true,
+ "built-ins›Map›-0 key converts to +0": true,
+ "built-ins›Map›Map.prototype.size": true,
+ "built-ins›Map›Map.prototype.delete": true,
+ "built-ins›Map›Map.prototype.clear": true,
+ "built-ins›Map›Map.prototype.forEach": true,
+ "built-ins›Map›Map.prototype.keys": true,
+ "built-ins›Map›Map.prototype.values": true,
+ "built-ins›Map›Map.prototype.entries": true,
+ "built-ins›Map›Map.prototype[Symbol.iterator]": true,
+ "built-ins›Map›Map.prototype isn't an instance": true,
+ "built-ins›Map›Map iterator prototype chain": true,
+ "built-ins›Map›Map[Symbol.species]": true,
+ "built-ins›Set›basic functionality": true,
+ "built-ins›Set›constructor arguments": true,
+ "built-ins›Set›constructor requires new": true,
+ "built-ins›Set›constructor accepts null": true,
+ "built-ins›Set›constructor invokes add": true,
+ "built-ins›Set›iterator closing": true,
+ "built-ins›Set›Set.prototype.add returns this": true,
+ "built-ins›Set›-0 key converts to +0": true,
+ "built-ins›Set›Set.prototype.size": true,
+ "built-ins›Set›Set.prototype.delete": true,
+ "built-ins›Set›Set.prototype.clear": true,
+ "built-ins›Set›Set.prototype.forEach": true,
+ "built-ins›Set›Set.prototype.keys": true,
+ "built-ins›Set›Set.prototype.values": true,
+ "built-ins›Set›Set.prototype.entries": true,
+ "built-ins›Set›Set.prototype[Symbol.iterator]": true,
+ "built-ins›Set›Set.prototype isn't an instance": true,
+ "built-ins›Set›Set iterator prototype chain": true,
+ "built-ins›Set›Set[Symbol.species]": true,
+ "built-ins›WeakMap›basic functionality": true,
+ "built-ins›WeakMap›constructor arguments": true,
+ "built-ins›WeakMap›constructor requires new": true,
+ "built-ins›WeakMap›constructor accepts null": true,
+ "built-ins›WeakMap›constructor invokes set": true,
+ "built-ins›WeakMap›frozen objects as keys": true,
+ "built-ins›WeakMap›iterator closing": true,
+ "built-ins›WeakMap›WeakMap.prototype.set returns this": true,
+ "built-ins›WeakMap›WeakMap.prototype.delete": true,
+ "built-ins›WeakMap›no WeakMap.prototype.clear method": true,
+ "built-ins›WeakMap›.has, .get and .delete methods accept primitives": true,
+ "built-ins›WeakMap›WeakMap.prototype isn't an instance": true,
+ "built-ins›WeakSet›basic functionality": true,
+ "built-ins›WeakSet›constructor arguments": true,
+ "built-ins›WeakSet›constructor requires new": true,
+ "built-ins›WeakSet›constructor accepts null": true,
+ "built-ins›WeakSet›constructor invokes add": true,
+ "built-ins›WeakSet›iterator closing": true,
+ "built-ins›WeakSet›WeakSet.prototype.add returns this": true,
+ "built-ins›WeakSet›WeakSet.prototype.delete": true,
+ "built-ins›WeakSet›no WeakSet.prototype.clear method": true,
+ "built-ins›WeakSet›.has and .delete methods accept primitives": true,
+ "built-ins›WeakSet›WeakSet.prototype isn't an instance": true,
+ "built-ins›Proxy›constructor requires new": true,
+ "built-ins›Proxy›no \"prototype\" property": true,
+ "built-ins›Proxy›\"get\" handler": true,
+ "built-ins›Proxy›\"get\" handler, instances of proxies": true,
+ "built-ins›Proxy›\"get\" handler invariants": true,
+ "built-ins›Proxy›\"set\" handler": true,
+ "built-ins›Proxy›\"set\" handler, instances of proxies": true,
+ "built-ins›Proxy›\"set\" handler invariants": true,
+ "built-ins›Proxy›\"has\" handler": true,
+ "built-ins›Proxy›\"has\" handler, instances of proxies": true,
+ "built-ins›Proxy›\"has\" handler invariants": true,
+ "built-ins›Proxy›\"deleteProperty\" handler": true,
+ "built-ins›Proxy›\"deleteProperty\" handler invariant": true,
+ "built-ins›Proxy›\"getOwnPropertyDescriptor\" handler": true,
+ "built-ins›Proxy›\"getOwnPropertyDescriptor\" handler invariants": true,
+ "built-ins›Proxy›\"defineProperty\" handler": true,
+ "built-ins›Proxy›\"defineProperty\" handler invariants": true,
+ "built-ins›Proxy›\"getPrototypeOf\" handler": true,
+ "built-ins›Proxy›\"getPrototypeOf\" handler invariant": true,
+ "built-ins›Proxy›\"setPrototypeOf\" handler": true,
+ "built-ins›Proxy›\"setPrototypeOf\" handler invariant": true,
+ "built-ins›Proxy›\"isExtensible\" handler": true,
+ "built-ins›Proxy›\"isExtensible\" handler invariant": true,
+ "built-ins›Proxy›\"preventExtensions\" handler": true,
+ "built-ins›Proxy›\"preventExtensions\" handler invariant": true,
+ "built-ins›Proxy›\"ownKeys\" handler": true,
+ "built-ins›Proxy›\"ownKeys\" handler invariant": true,
+ "built-ins›Proxy›\"apply\" handler": true,
+ "built-ins›Proxy›\"apply\" handler invariant": true,
+ "built-ins›Proxy›\"construct\" handler": true,
+ "built-ins›Proxy›\"construct\" handler invariants": true,
+ "built-ins›Proxy›Proxy.revocable": true,
+ "built-ins›Proxy›Array.isArray support": true,
+ "built-ins›Proxy›JSON.stringify support": true,
+ "built-ins›Reflect›Reflect.get": true,
+ "built-ins›Reflect›Reflect.set": true,
+ "built-ins›Reflect›Reflect.has": true,
+ "built-ins›Reflect›Reflect.deleteProperty": true,
+ "built-ins›Reflect›Reflect.getOwnPropertyDescriptor": true,
+ "built-ins›Reflect›Reflect.defineProperty": true,
+ "built-ins›Reflect›Reflect.getPrototypeOf": true,
+ "built-ins›Reflect›Reflect.setPrototypeOf": true,
+ "built-ins›Reflect›Reflect.isExtensible": true,
+ "built-ins›Reflect›Reflect.preventExtensions": true,
+ "built-ins›Reflect›Reflect.ownKeys, string keys": true,
+ "built-ins›Reflect›Reflect.ownKeys, symbol keys": true,
+ "built-ins›Reflect›Reflect.apply": true,
+ "built-ins›Reflect›Reflect.construct": true,
+ "built-ins›Reflect›Reflect.construct sets new.target meta-property": true,
+ "built-ins›Reflect›Reflect.construct creates instances from third argument": true,
+ "built-ins›Reflect›Reflect.construct, Array subclassing": true,
+ "built-ins›Reflect›Reflect.construct, RegExp subclassing": true,
+ "built-ins›Reflect›Reflect.construct, Function subclassing": true,
+ "built-ins›Reflect›Reflect.construct, Promise subclassing": true,
+ "built-ins›Promise›basic functionality": true,
+ "built-ins›Promise›constructor requires new": true,
+ "built-ins›Promise›Promise.prototype isn't an instance": true,
+ "built-ins›Promise›Promise.all": true,
+ "built-ins›Promise›Promise.all, generic iterables": true,
+ "built-ins›Promise›Promise.race": true,
+ "built-ins›Promise›Promise.race, generic iterables": true,
+ "built-ins›Promise›Promise[Symbol.species]": true,
+ "built-ins›Symbol›basic functionality": true,
+ "built-ins›Symbol›typeof support": true,
+ "built-ins›Symbol›symbol keys are hidden to pre-ES6 code": true,
+ "built-ins›Symbol›Object.defineProperty support": true,
+ "built-ins›Symbol›symbols inherit from Symbol.prototype": true,
+ "built-ins›Symbol›cannot coerce to string or number": true,
+ "built-ins›Symbol›can convert with String()": true,
+ "built-ins›Symbol›new Symbol() throws": true,
+ "built-ins›Symbol›Object(symbol)": true,
+ "built-ins›Symbol›JSON.stringify ignores symbol primitives": true,
+ "built-ins›Symbol›JSON.stringify ignores symbol objects": true,
+ "built-ins›Symbol›global symbol registry": true,
+ "built-ins›well-known symbols›Symbol.hasInstance": true,
+ "built-ins›well-known symbols›Symbol.isConcatSpreadable, non-spreadable array": true,
+ "built-ins›well-known symbols›Symbol.isConcatSpreadable, spreadable object with poisoned getter": false,
+ "built-ins›well-known symbols›Symbol.iterator, existence": true,
+ "built-ins›well-known symbols›Symbol.iterator, arguments object": true,
+ "built-ins›well-known symbols›Symbol.species, existence": true,
+ "built-ins›well-known symbols›Symbol.species, Array.prototype.concat": true,
+ "built-ins›well-known symbols›Symbol.species, Array.prototype.filter": true,
+ "built-ins›well-known symbols›Symbol.species, Array.prototype.map": true,
+ "built-ins›well-known symbols›Symbol.species, Array.prototype.slice": true,
+ "built-ins›well-known symbols›Symbol.species, Array.prototype.splice": true,
+ "built-ins›well-known symbols›Symbol.species, RegExp.prototype[Symbol.split]": true,
+ "built-ins›well-known symbols›Symbol.species, Promise.prototype.then": true,
+ "built-ins›well-known symbols›Symbol.replace": true,
+ "built-ins›well-known symbols›Symbol.search": true,
+ "built-ins›well-known symbols›Symbol.split": true,
+ "built-ins›well-known symbols›Symbol.match": true,
+ "built-ins›well-known symbols›Symbol.match, RegExp constructor": true,
+ "built-ins›well-known symbols›Symbol.match, String.prototype.startsWith": true,
+ "built-ins›well-known symbols›Symbol.match, String.prototype.endsWith": true,
+ "built-ins›well-known symbols›Symbol.match, String.prototype.includes": true,
+ "built-ins›well-known symbols›Symbol.toPrimitive": true,
+ "built-ins›well-known symbols›Symbol.toStringTag": true,
+ "built-ins›well-known symbols›Symbol.toStringTag affects existing built-ins": true,
+ "built-ins›well-known symbols›Symbol.toStringTag, new built-ins": true,
+ "built-ins›well-known symbols›Symbol.toStringTag, misc. built-ins": true,
+ "built-ins›well-known symbols›Symbol.unscopables": true,
+ "built-in extensions›Object static methods›Object.assign": true,
+ "built-in extensions›Object static methods›Object.is": true,
+ "built-in extensions›Object static methods›Object.getOwnPropertySymbols": true,
+ "built-in extensions›Object static methods›Object.setPrototypeOf": true,
+ "built-in extensions›function \"name\" property›function statements": true,
+ "built-in extensions›function \"name\" property›function expressions": true,
+ "built-in extensions›function \"name\" property›new Function": true,
+ "built-in extensions›function \"name\" property›bound functions": true,
+ "built-in extensions›function \"name\" property›variables (function)": true,
+ "built-in extensions›function \"name\" property›object methods (function)": true,
+ "built-in extensions›function \"name\" property›accessor properties": true,
+ "built-in extensions›function \"name\" property›shorthand methods": true,
+ "built-in extensions›function \"name\" property›shorthand methods (no lexical binding)": true,
+ "built-in extensions›function \"name\" property›symbol-keyed methods": true,
+ "built-in extensions›function \"name\" property›class statements": true,
+ "built-in extensions›function \"name\" property›class expressions": true,
+ "built-in extensions›function \"name\" property›variables (class)": true,
+ "built-in extensions›function \"name\" property›object methods (class)": true,
+ "built-in extensions›function \"name\" property›class prototype methods": true,
+ "built-in extensions›function \"name\" property›class static methods": true,
+ "built-in extensions›function \"name\" property›isn't writable, is configurable": true,
+ "built-in extensions›String static methods›String.raw": true,
+ "built-in extensions›String static methods›String.fromCodePoint": true,
+ "built-in extensions›String.prototype methods›String.prototype.codePointAt": true,
+ "built-in extensions›String.prototype methods›String.prototype.normalize": true,
+ "built-in extensions›String.prototype methods›String.prototype.repeat": true,
+ "built-in extensions›String.prototype methods›String.prototype.startsWith": true,
+ "built-in extensions›String.prototype methods›String.prototype.startsWith throws on RegExp": true,
+ "built-in extensions›String.prototype methods›String.prototype.endsWith": true,
+ "built-in extensions›String.prototype methods›String.prototype.endsWith throws on RegExp": true,
+ "built-in extensions›String.prototype methods›String.prototype.includes": true,
+ "built-in extensions›String.prototype methods›String.prototype[Symbol.iterator]": true,
+ "built-in extensions›String.prototype methods›String iterator prototype chain": true,
+ "built-in extensions›RegExp.prototype properties›RegExp.prototype.flags": true,
+ "built-in extensions›RegExp.prototype properties›RegExp.prototype[Symbol.match]": true,
+ "built-in extensions›RegExp.prototype properties›RegExp.prototype[Symbol.replace]": true,
+ "built-in extensions›RegExp.prototype properties›RegExp.prototype[Symbol.split]": true,
+ "built-in extensions›RegExp.prototype properties›RegExp.prototype[Symbol.search]": true,
+ "built-in extensions›RegExp.prototype properties›RegExp[Symbol.species]": true,
+ "built-in extensions›Array static methods›Array.from, array-like objects": true,
+ "built-in extensions›Array static methods›Array.from, generator instances": true,
+ "built-in extensions›Array static methods›Array.from, generic iterables": true,
+ "built-in extensions›Array static methods›Array.from, instances of generic iterables": true,
+ "built-in extensions›Array static methods›Array.from map function, array-like objects": true,
+ "built-in extensions›Array static methods›Array.from map function, generator instances": true,
+ "built-in extensions›Array static methods›Array.from map function, generic iterables": true,
+ "built-in extensions›Array static methods›Array.from map function, instances of iterables": true,
+ "built-in extensions›Array static methods›Array.from, iterator closing": true,
+ "built-in extensions›Array static methods›Array.of": true,
+ "built-in extensions›Array static methods›Array[Symbol.species]": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.copyWithin": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.find": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.findIndex": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.fill": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.keys": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.values": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.entries": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.splice": true,
+ "built-in extensions›Array.prototype methods›Array.prototype[Symbol.iterator]": true,
+ "built-in extensions›Array.prototype methods›Array iterator prototype chain": true,
+ "built-in extensions›Array.prototype methods›Array.prototype[Symbol.unscopables]": true,
+ "built-in extensions›Number properties›Number.isFinite": true,
+ "built-in extensions›Number properties›Number.isInteger": true,
+ "built-in extensions›Number properties›Number.isSafeInteger": true,
+ "built-in extensions›Number properties›Number.isNaN": true,
+ "built-in extensions›Number properties›Number.parseFloat": true,
+ "built-in extensions›Number properties›Number.parseInt": true,
+ "built-in extensions›Number properties›Number.EPSILON": true,
+ "built-in extensions›Number properties›Number.MIN_SAFE_INTEGER": true,
+ "built-in extensions›Number properties›Number.MAX_SAFE_INTEGER": true,
+ "built-in extensions›Math methods›Math.clz32": true,
+ "built-in extensions›Math methods›Math.imul": true,
+ "built-in extensions›Math methods›Math.sign": true,
+ "built-in extensions›Math methods›Math.log10": true,
+ "built-in extensions›Math methods›Math.log2": true,
+ "built-in extensions›Math methods›Math.log1p": true,
+ "built-in extensions›Math methods›Math.expm1": true,
+ "built-in extensions›Math methods›Math.cosh": true,
+ "built-in extensions›Math methods›Math.sinh": true,
+ "built-in extensions›Math methods›Math.tanh": true,
+ "built-in extensions›Math methods›Math.acosh": true,
+ "built-in extensions›Math methods›Math.asinh": true,
+ "built-in extensions›Math methods›Math.atanh": true,
+ "built-in extensions›Math methods›Math.trunc": true,
+ "built-in extensions›Math methods›Math.fround": true,
+ "built-in extensions›Math methods›Math.cbrt": true,
+ "built-in extensions›Math methods›Math.hypot": true,
+ "built-in extensions›Date.prototype[Symbol.toPrimitive]": true,
+ "subclassing›Array is subclassable›length property (accessing)": true,
+ "subclassing›Array is subclassable›length property (setting)": true,
+ "subclassing›Array is subclassable›correct prototype chain": true,
+ "subclassing›Array is subclassable›Array.isArray support": true,
+ "subclassing›Array is subclassable›Array.prototype.concat": true,
+ "subclassing›Array is subclassable›Array.prototype.filter": true,
+ "subclassing›Array is subclassable›Array.prototype.map": true,
+ "subclassing›Array is subclassable›Array.prototype.slice": true,
+ "subclassing›Array is subclassable›Array.prototype.splice": true,
+ "subclassing›Array is subclassable›Array.from": true,
+ "subclassing›Array is subclassable›Array.of": true,
+ "subclassing›RegExp is subclassable›basic functionality": true,
+ "subclassing›RegExp is subclassable›correct prototype chain": true,
+ "subclassing›RegExp is subclassable›RegExp.prototype.exec": true,
+ "subclassing›RegExp is subclassable›RegExp.prototype.test": true,
+ "subclassing›Function is subclassable›can be called": true,
+ "subclassing›Function is subclassable›correct prototype chain": true,
+ "subclassing›Function is subclassable›can be used with \"new\"": true,
+ "subclassing›Function is subclassable›Function.prototype.call": true,
+ "subclassing›Function is subclassable›Function.prototype.apply": true,
+ "subclassing›Function is subclassable›Function.prototype.bind": true,
+ "subclassing›Promise is subclassable›basic functionality": true,
+ "subclassing›Promise is subclassable›correct prototype chain": true,
+ "subclassing›Promise is subclassable›Promise.all": true,
+ "subclassing›Promise is subclassable›Promise.race": true,
+ "subclassing›miscellaneous subclassables›Boolean is subclassable": true,
+ "subclassing›miscellaneous subclassables›Number is subclassable": true,
+ "subclassing›miscellaneous subclassables›String is subclassable": true,
+ "subclassing›miscellaneous subclassables›Error is subclassable": true,
+ "subclassing›miscellaneous subclassables›Map is subclassable": true,
+ "subclassing›miscellaneous subclassables›Set is subclassable": true,
+ "misc›prototype of bound functions›basic functions": true,
+ "misc›prototype of bound functions›generator functions": true,
+ "misc›prototype of bound functions›arrow functions": true,
+ "misc›prototype of bound functions›classes": true,
+ "misc›prototype of bound functions›subclasses": true,
+ "misc›Proxy, internal 'get' calls›ToPrimitive": true,
+ "misc›Proxy, internal 'get' calls›CreateListFromArrayLike": true,
+ "misc›Proxy, internal 'get' calls›instanceof operator": true,
+ "misc›Proxy, internal 'get' calls›HasBinding": true,
+ "misc›Proxy, internal 'get' calls›CreateDynamicFunction": true,
+ "misc›Proxy, internal 'get' calls›ClassDefinitionEvaluation": true,
+ "misc›Proxy, internal 'get' calls›IteratorComplete, IteratorValue": true,
+ "misc›Proxy, internal 'get' calls›ToPropertyDescriptor": true,
+ "misc›Proxy, internal 'get' calls›Object.assign": true,
+ "misc›Proxy, internal 'get' calls›Object.defineProperties": true,
+ "misc›Proxy, internal 'get' calls›Function.prototype.bind": true,
+ "misc›Proxy, internal 'get' calls›Error.prototype.toString": true,
+ "misc›Proxy, internal 'get' calls›String.raw": true,
+ "misc›Proxy, internal 'get' calls›RegExp constructor": true,
+ "misc›Proxy, internal 'get' calls›RegExp.prototype.flags": false,
+ "misc›Proxy, internal 'get' calls›RegExp.prototype.test": true,
+ "misc›Proxy, internal 'get' calls›RegExp.prototype.toString": true,
+ "misc›Proxy, internal 'get' calls›RegExp.prototype[Symbol.match]": true,
+ "misc›Proxy, internal 'get' calls›RegExp.prototype[Symbol.replace]": true,
+ "misc›Proxy, internal 'get' calls›RegExp.prototype[Symbol.search]": true,
+ "misc›Proxy, internal 'get' calls›RegExp.prototype[Symbol.split]": true,
+ "misc›Proxy, internal 'get' calls›Array.from": true,
+ "misc›Proxy, internal 'get' calls›Array.prototype.concat": true,
+ "misc›Proxy, internal 'get' calls›Array.prototype iteration methods": true,
+ "misc›Proxy, internal 'get' calls›Array.prototype.pop": true,
+ "misc›Proxy, internal 'get' calls›Array.prototype.reverse": true,
+ "misc›Proxy, internal 'get' calls›Array.prototype.shift": true,
+ "misc›Proxy, internal 'get' calls›Array.prototype.splice": true,
+ "misc›Proxy, internal 'get' calls›Array.prototype.toString": true,
+ "misc›Proxy, internal 'get' calls›JSON.stringify": true,
+ "misc›Proxy, internal 'get' calls›Promise resolve functions": true,
+ "misc›Proxy, internal 'get' calls›String.prototype.match": true,
+ "misc›Proxy, internal 'get' calls›String.prototype.replace": true,
+ "misc›Proxy, internal 'get' calls›String.prototype.search": true,
+ "misc›Proxy, internal 'get' calls›String.prototype.split": true,
+ "misc›Proxy, internal 'get' calls›Date.prototype.toJSON": true,
+ "misc›Proxy, internal 'set' calls›Object.assign": true,
+ "misc›Proxy, internal 'set' calls›Array.from": true,
+ "misc›Proxy, internal 'set' calls›Array.of": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.copyWithin": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.fill": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.pop": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.push": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.reverse": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.shift": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.splice": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.unshift": true,
+ "misc›Proxy, internal 'defineProperty' calls›[[Set]]": true,
+ "misc›Proxy, internal 'defineProperty' calls›SetIntegrityLevel": true,
+ "misc›Proxy, internal 'deleteProperty' calls›Array.prototype.copyWithin": true,
+ "misc›Proxy, internal 'deleteProperty' calls›Array.prototype.pop": true,
+ "misc›Proxy, internal 'deleteProperty' calls›Array.prototype.reverse": true,
+ "misc›Proxy, internal 'deleteProperty' calls›Array.prototype.shift": true,
+ "misc›Proxy, internal 'deleteProperty' calls›Array.prototype.splice": true,
+ "misc›Proxy, internal 'deleteProperty' calls›Array.prototype.unshift": true,
+ "misc›Proxy, internal 'getOwnPropertyDescriptor' calls›[[Set]]": true,
+ "misc›Proxy, internal 'getOwnPropertyDescriptor' calls›Object.assign": true,
+ "misc›Proxy, internal 'getOwnPropertyDescriptor' calls›Object.prototype.hasOwnProperty": true,
+ "misc›Proxy, internal 'getOwnPropertyDescriptor' calls›Function.prototype.bind": true,
+ "misc›Proxy, internal 'ownKeys' calls›SetIntegrityLevel": true,
+ "misc›Proxy, internal 'ownKeys' calls›TestIntegrityLevel": true,
+ "misc›Proxy, internal 'ownKeys' calls›SerializeJSONObject": true,
+ "misc›Object static methods accept primitives›Object.getPrototypeOf": true,
+ "misc›Object static methods accept primitives›Object.getOwnPropertyDescriptor": true,
+ "misc›Object static methods accept primitives›Object.getOwnPropertyNames": true,
+ "misc›Object static methods accept primitives›Object.seal": true,
+ "misc›Object static methods accept primitives›Object.freeze": true,
+ "misc›Object static methods accept primitives›Object.preventExtensions": true,
+ "misc›Object static methods accept primitives›Object.isSealed": true,
+ "misc›Object static methods accept primitives›Object.isFrozen": true,
+ "misc›Object static methods accept primitives›Object.isExtensible": true,
+ "misc›Object static methods accept primitives›Object.keys": true,
+ "misc›own property order›Object.keys": true,
+ "misc›own property order›Object.getOwnPropertyNames": true,
+ "misc›own property order›Object.assign": true,
+ "misc›own property order›JSON.stringify": true,
+ "misc›own property order›JSON.parse": true,
+ "misc›own property order›Reflect.ownKeys, string key order": true,
+ "misc›own property order›Reflect.ownKeys, symbol key order": true,
+ "misc›Updated identifier syntax›var ⸯ;": true,
+ "misc›Updated identifier syntax›var 𐋀;": true,
+ "misc›Updated identifier syntax›no escaped reserved words as identifiers": true,
+ "misc›miscellaneous›duplicate property names in strict mode": true,
+ "misc›miscellaneous›no semicolon needed after do-while": true,
+ "misc›miscellaneous›no assignments allowed in for-in head in strict mode": true,
+ "misc›miscellaneous›accessors aren't constructors": true,
+ "misc›miscellaneous›Invalid Date": true,
+ "misc›miscellaneous›RegExp constructor can alter flags": true,
+ "misc›miscellaneous›RegExp.prototype.toString generic and uses \"flags\" property": true,
+ "misc›miscellaneous›built-in prototypes are not instances": true,
+ "misc›miscellaneous›function 'length' is configurable": true,
+ "annex b›non-strict function semantics›hoisted block-level function declaration": true,
+ "annex b›non-strict function semantics›labeled function statements": true,
+ "annex b›non-strict function semantics›function statements in if-statement clauses": true,
+ "annex b›__proto__ in object literals›basic support": true,
+ "annex b›__proto__ in object literals›multiple __proto__ is an error": true,
+ "annex b›__proto__ in object literals›not a computed property": true,
+ "annex b›__proto__ in object literals›not a shorthand property": true,
+ "annex b›__proto__ in object literals›not a shorthand method": true,
+ "annex b›Object.prototype.__proto__›get prototype": true,
+ "annex b›Object.prototype.__proto__›set prototype": true,
+ "annex b›Object.prototype.__proto__›absent from Object.create(null)": true,
+ "annex b›Object.prototype.__proto__›present in hasOwnProperty()": true,
+ "annex b›Object.prototype.__proto__›correct property descriptor": true,
+ "annex b›Object.prototype.__proto__›present in Object.getOwnPropertyNames()": true,
+ "annex b›String.prototype HTML methods›existence": true,
+ "annex b›String.prototype HTML methods›tags' names are lowercase": true,
+ "annex b›String.prototype HTML methods›quotes in arguments are escaped": true,
+ "annex b›RegExp.prototype.compile›basic functionality": true,
+ "annex b›RegExp.prototype.compile›returns this": true,
+ "annex b›RegExp syntax extensions›hyphens in character sets": true,
+ "annex b›RegExp syntax extensions›invalid character escapes": true,
+ "annex b›RegExp syntax extensions›invalid control-character escapes": true,
+ "annex b›RegExp syntax extensions›invalid Unicode escapes": true,
+ "annex b›RegExp syntax extensions›invalid hexadecimal escapes": true,
+ "annex b›RegExp syntax extensions›incomplete patterns and quantifiers": true,
+ "annex b›RegExp syntax extensions›octal escape sequences": true,
+ "annex b›RegExp syntax extensions›invalid backreferences become octal escapes": true,
+ "annex b›HTML-style comments": true
+ }
+}
\ No newline at end of file
diff --git a/results/v8/18.20.5.json b/results/v8/18.20.5.json
new file mode 100644
index 000000000..483dab01c
--- /dev/null
+++ b/results/v8/18.20.5.json
@@ -0,0 +1,1044 @@
+{
+ "_version": "18.20.5",
+ "_engine": "v8 10.2.154.26-node.37",
+ "ESNEXT": {
+ "_successful": 2,
+ "_count": 36,
+ "_percent": 0.05555555555555555,
+ "Stage 3›Class and Property Decorators›class decorators": "Invalid or unexpected token",
+ "Stage 3›Legacy RegExp features in JavaScript›RegExp \"lastMatch\"": true,
+ "Stage 3›Legacy RegExp features in JavaScript›RegExp.$1-$9": true,
+ "Stage 3›RegExp Escaping": "RegExp.escape is not a function",
+ "Stage 3›Uint8Array to/from base64 and hex›Uint8Array.toBase64()": "arr.toBase64 is not a function",
+ "Stage 3›Uint8Array to/from base64 and hex›Uint8Array.fromBase64()": "Uint8Array.fromBase64 is not a function",
+ "Stage 3›Uint8Array to/from base64 and hex›Uint8Array.setFromBase64()": "arr2.setFromBase64 is not a function",
+ "Stage 3›Uint8Array to/from base64 and hex›Uint8Array.toHex()": "arr.toHex is not a function",
+ "Stage 3›Uint8Array to/from base64 and hex›Uint8Array.fromHex()": "Uint8Array.fromHex is not a function",
+ "Stage 3›Uint8Array to/from base64 and hex›Uint8Array.setFromHex()": "arr2.setFromHex is not a function",
+ "Stage 2.7›ShadowRealm": false,
+ "Stage 2›Generator function.sent Meta Property": "Unexpected token '.'",
+ "Stage 2›throw expressions›logical": "Unexpected token 'throw'",
+ "Stage 2›throw expressions›parameter initializers": "Unexpected token 'throw'",
+ "Stage 2›throw expressions›arrow function bodies": "Unexpected token 'throw'",
+ "Stage 2›throw expressions›conditionals": "Unexpected token 'throw'",
+ "Stage 2›Map.prototype.upsert›Map.prototype.upsert": "map.upsert is not a function",
+ "Stage 2›Map.prototype.upsert›WeakMap.prototype.upsert": "map.upsert is not a function",
+ "Stage 2›Array.isTemplateObject": "Array.isTemplateObject is not a function",
+ "Stage 2›Async Iterator Helpers›instanceof AsyncIterator": "AsyncIterator is not defined",
+ "Stage 2›Async Iterator Helpers›extends AsyncIterator": "AsyncIterator is not defined",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.from, async iterable": "AsyncIterator is not defined",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.from, iterable": "AsyncIterator is not defined",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.from, iterator": "AsyncIterator is not defined",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.drop": "(intermediate value)(...).drop is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.every": "(intermediate value)(...).every is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.filter": "(intermediate value)(...).filter is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.find": "(intermediate value)(...).find is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.flatMap": "(intermediate value)(...).flatMap is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.forEach": "(intermediate value)(...).forEach is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.map": "(intermediate value)(...).map is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.reduce": "(intermediate value)(...).reduce is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.some": "(intermediate value)(...).some is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.take": "(intermediate value)(...).take is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype.toArray": "(intermediate value)(...).toArray is not a function",
+ "Stage 2›Async Iterator Helpers›AsyncIterator.prototype[@@toStringTag]": "AsyncIterator is not defined"
+ },
+ "ES2025": {
+ "_successful": 0,
+ "_count": 28,
+ "_percent": 0,
+ "features›Duplicate named capturing groups": "Invalid regular expression: /(?[0-9]{4})-[0-9]{2}|[0-9]{2}-(?[0-9]{4})/: Duplicate capture group name",
+ "features›Set methods›Set.prototype.intersection()": "(intermediate value).intersection is not a function",
+ "features›Set methods›Set.prototype.union()": "(intermediate value).union is not a function",
+ "features›Set methods›Set.prototype.difference()": "(intermediate value).difference is not a function",
+ "features›Set methods›Set.prototype.symmetricDifference()": "(intermediate value).symmetricDifference is not a function",
+ "features›Set methods›Set.prototype.isDisjointFrom()": "(intermediate value).isDisjointFrom is not a function",
+ "features›Set methods›Set.prototype.isSubsetOf()": "(intermediate value).isSubsetOf is not a function",
+ "features›Set methods›Set.prototype.isSupersetOf()": "(intermediate value).isSupersetOf is not a function",
+ "features›RegExp Pattern Modifiers›i flag": "Invalid regular expression: /^[a-z](?-i:[a-z])$/: Invalid group",
+ "features›RegExp Pattern Modifiers›m flag": "Invalid regular expression: /^a|(?m:^b)/: Invalid group",
+ "features›RegExp Pattern Modifiers›s flag": "Invalid regular expression: /.(?-s:.)/: Invalid group",
+ "features›Iterator Helpers›instanceof Iterator": "Iterator is not defined",
+ "features›Iterator Helpers›extends Iterator": "Iterator is not defined",
+ "features›Iterator Helpers›Iterator.from, iterable": "Iterator is not defined",
+ "features›Iterator Helpers›Iterator.from, iterator": "Iterator is not defined",
+ "features›Iterator Helpers›Iterator.prototype.drop": "[1,2,3].values(...).drop is not a function",
+ "features›Iterator Helpers›Iterator.prototype.every": "[1,2,3].values(...).every is not a function",
+ "features›Iterator Helpers›Iterator.prototype.filter": "[1,2,3].values(...).filter is not a function",
+ "features›Iterator Helpers›Iterator.prototype.find": "[1,2,3].values(...).find is not a function",
+ "features›Iterator Helpers›Iterator.prototype.flatMap": "[1,2,3].values(...).flatMap is not a function",
+ "features›Iterator Helpers›Iterator.prototype.forEach": "[1,2,3].values(...).forEach is not a function",
+ "features›Iterator Helpers›Iterator.prototype.map": "[1,2,3].values(...).map is not a function",
+ "features›Iterator Helpers›Iterator.prototype.reduce": "[1,2,3].values(...).reduce is not a function",
+ "features›Iterator Helpers›Iterator.prototype.some": "[1,2,3].values(...).some is not a function",
+ "features›Iterator Helpers›Iterator.prototype.take": "[1,2,3].values(...).take is not a function",
+ "features›Iterator Helpers›Iterator.prototype.toArray": "[1,2,3].values(...).toArray is not a function",
+ "features›Iterator Helpers›Iterator.prototype[@@toStringTag]": "Iterator is not defined",
+ "features›Promise.try": "Promise.try is not a function"
+ },
+ "ES2024": {
+ "_successful": 0,
+ "_count": 12,
+ "_percent": 0,
+ "features›RegExp `v` flag›set notations": "Invalid regular expression flags",
+ "features›RegExp `v` flag›properties of Strings": "Invalid regular expression flags",
+ "features›RegExp `v` flag›constructor supports it": "Invalid flags supplied to RegExp constructor 'v'",
+ "features›RegExp `v` flag›shows up in flags": false,
+ "features›RegExp `v` flag›Unicode 15.1": "Invalid regular expression flags",
+ "features›RegExp `v` flag›Unicode 16.0": "Invalid regular expression flags",
+ "features›ArrayBuffer.prototype.transfer›ArrayBuffer.prototype.transfer()": "buffer1.transfer is not a function",
+ "features›ArrayBuffer.prototype.transfer›ArrayBuffer.prototype.transferToFixedLength()": "buffer1.transferToFixedLength is not a function",
+ "features›ArrayBuffer.prototype.transfer›ArrayBuffer.prototype.detached": "buffer1.transfer is not a function",
+ "features›Promise.withResolvers": "Promise.withResolvers is not a function",
+ "features›Array Grouping›Object.groupBy()": "Object.groupBy is not a function",
+ "features›Array Grouping›Map.groupBy()": "Map.groupBy is not a function"
+ },
+ "ES2023": {
+ "_successful": 3,
+ "_count": 10,
+ "_percent": 0.3,
+ "features›Array find from last›Array.prototype.findLast": true,
+ "features›Array find from last›Array.prototype.findLastIndex": true,
+ "features›Hashbang Grammar": true,
+ "features›Change Array by copy›Array.prototype.toReversed()": "arr.toReversed is not a function",
+ "features›Change Array by copy›Array.prototype.toSorted()": "arr.toSorted is not a function",
+ "features›Change Array by copy›Array.prototype.toSpliced()": "arr.toSpliced is not a function",
+ "features›Change Array by copy›Array.prototype.with()": "arr.with is not a function",
+ "features›Change Array by copy›TypedArray.prototype.toReversed()": "arr.toReversed is not a function",
+ "features›Change Array by copy›TypedArray.prototype.toSorted()": "arr.toSorted is not a function",
+ "features›Change Array by copy›TypedArray.prototype.with()": "arr.with is not a function"
+ },
+ "ES2022": {
+ "_successful": 39,
+ "_count": 40,
+ "_percent": 0.975,
+ "features›instance class fields›public instance class fields": true,
+ "features›instance class fields›private instance class fields basic support": true,
+ "features›instance class fields›private instance class fields initializers": true,
+ "features›instance class fields›optional private instance class fields access": true,
+ "features›instance class fields›optional deep private instance class fields access": true,
+ "features›instance class fields›computed instance class fields": true,
+ "features›instance class fields›resolving identifier in parent scope": true,
+ "features›static class fields›public static class fields": true,
+ "features›static class fields›static class fields use [[Define]]": true,
+ "features›static class fields›private static class fields": true,
+ "features›static class fields›computed static class fields": true,
+ "features›private class methods›private instance methods": true,
+ "features›private class methods›private static methods": true,
+ "features›private class methods›private accessor properties": true,
+ "features›private class methods›private static accessor properties": true,
+ "features›Ergonomic brand checks for private fields": true,
+ "features›.at() method on the built-in indexables›Array.prototype.at()": true,
+ "features›.at() method on the built-in indexables›String.prototype.at()": true,
+ "features›.at() method on the built-in indexables›%TypedArray%.prototype.at()": true,
+ "features›Object.hasOwn›Basic functionality": true,
+ "features›Object.hasOwn›ToObject called before ToPropertyKey": true,
+ "features›Class static initialization blocks": true,
+ "features›Error.cause property›Error has cause": true,
+ "features›Error.cause property›Error.prototype lacks cause": true,
+ "features›Error.cause property›EvalError has cause": true,
+ "features›Error.cause property›EvalError.prototype lacks cause": true,
+ "features›Error.cause property›RangeError has cause": true,
+ "features›Error.cause property›RangeError.prototype lacks cause": true,
+ "features›Error.cause property›ReferenceError has cause": true,
+ "features›Error.cause property›ReferenceError.prototype lacks cause": true,
+ "features›Error.cause property›SyntaxError has cause": true,
+ "features›Error.cause property›SyntaxError.prototype lacks cause": true,
+ "features›Error.cause property›TypeError has cause": true,
+ "features›Error.cause property›TypeError.prototype lacks cause": true,
+ "features›Error.cause property›URIError has cause": true,
+ "features›Error.cause property›URIError.prototype lacks cause": true,
+ "features›Error.cause property›AggregateError has cause": true,
+ "features›Error.cause property›AggregateError.prototype lacks cause": true,
+ "features›RegExp Match Indices (`hasIndices` / `d` flag)›constructor supports it": true,
+ "features›RegExp Match Indices (`hasIndices` / `d` flag)›shows up in flags": false
+ },
+ "ES2021": {
+ "_successful": 15,
+ "_count": 15,
+ "_percent": 1,
+ "features›String.prototype.replaceAll": true,
+ "features›Promise.any›fulfillment": true,
+ "features›Promise.any›AggregateError": true,
+ "features›WeakReferences›WeakRef minimal support": true,
+ "features›WeakReferences›FinalizationRegistry minimal support": true,
+ "features›Logical Assignment›||= basic support": true,
+ "features›Logical Assignment›||= short-circuiting behaviour": true,
+ "features›Logical Assignment›||= setter not unecessarily invoked": true,
+ "features›Logical Assignment›&&= basic support": true,
+ "features›Logical Assignment›&&= short-circuiting behaviour": true,
+ "features›Logical Assignment›&&= setter not unecessarily invoked": true,
+ "features›Logical Assignment›??= basic support": true,
+ "features›Logical Assignment›??= short-circuiting behaviour": true,
+ "features›Logical Assignment›??= setter not unecessarily invoked": true,
+ "features›numeric separators": true
+ },
+ "ES2020": {
+ "_successful": 19,
+ "_count": 19,
+ "_percent": 1,
+ "features›String.prototype.matchAll›basic functionality": true,
+ "features›String.prototype.matchAll›throws on non-global regex": true,
+ "features›BigInt›basic functionality": true,
+ "features›BigInt›constructor": true,
+ "features›BigInt›BigInt.asUintN": true,
+ "features›BigInt›BigInt.asIntN": true,
+ "features›BigInt›BigInt64Array": true,
+ "features›BigInt›BigUint64Array": true,
+ "features›BigInt›DataView.prototype.getBigInt64": true,
+ "features›BigInt›DataView.prototype.getBigUint64": true,
+ "features›Promise.allSettled": true,
+ "features›globalThis›\"globalThis\" global property is global object": true,
+ "features›globalThis›\"globalThis\" global property has correct property descriptor": true,
+ "features›optional chaining operator (?.)›optional property access": true,
+ "features›optional chaining operator (?.)›optional bracket access": true,
+ "features›optional chaining operator (?.)›optional method call": true,
+ "features›optional chaining operator (?.)›optional function call": true,
+ "features›optional chaining operator (?.)›spread parameters after optional chaining": true,
+ "features›nullish coalescing operator (??)": true
+ },
+ "ES2019": {
+ "_successful": 23,
+ "_count": 24,
+ "_percent": 0.9583333333333334,
+ "features›Symbol.prototype.description›basic": true,
+ "features›Symbol.prototype.description›empty description": true,
+ "features›Symbol.prototype.description›undefined description": true,
+ "features›Object.fromEntries": true,
+ "features›string trimming›String.prototype.trimLeft": true,
+ "features›string trimming›String.prototype.trimRight": true,
+ "features›string trimming›String.prototype.trimStart": true,
+ "features›string trimming›String.prototype.trimEnd": true,
+ "features›Array.prototype.{flat, flatMap}›Array.prototype.flat": true,
+ "features›Array.prototype.{flat, flatMap}›Array.prototype.flatMap": true,
+ "features›Array.prototype.{flat, flatMap}›flat and flatMap in Array.prototype[@@unscopables]": true,
+ "misc›optional catch binding›basic": true,
+ "misc›optional catch binding›await": true,
+ "misc›optional catch binding›yield": true,
+ "misc›Function.prototype.toString revision›functions created with the Function constructor": "Unexpected string",
+ "misc›Function.prototype.toString revision›arrows": true,
+ "misc›Function.prototype.toString revision›[native code]": true,
+ "misc›Function.prototype.toString revision›class expression with implicit constructor": true,
+ "misc›Function.prototype.toString revision›class expression with explicit constructor": true,
+ "misc›Function.prototype.toString revision›unicode escape sequences in identifiers": true,
+ "misc›Function.prototype.toString revision›methods and computed property names": true,
+ "misc›JSON superset›LINE SEPARATOR can appear in string literals": true,
+ "misc›JSON superset›PARAGRAPH SEPARATOR can appear in string literals": true,
+ "misc›Well-formed JSON.stringify": true
+ },
+ "ES2018": {
+ "_successful": 20,
+ "_count": 21,
+ "_percent": 0.9523809523809523,
+ "features›object rest/spread properties›object rest properties": true,
+ "features›object rest/spread properties›object spread properties": true,
+ "features›Promise.prototype.finally›basic support": true,
+ "features›Promise.prototype.finally›don't change resolution value": true,
+ "features›Promise.prototype.finally›change rejection value": true,
+ "features›s (dotAll) flag for regular expressions": true,
+ "features›RegExp named capture groups": true,
+ "features›RegExp Lookbehind Assertions": true,
+ "features›RegExp Unicode Property Escapes›basic": true,
+ "features›RegExp Unicode Property Escapes›Unicode 11": true,
+ "features›RegExp Unicode Property Escapes›Unicode 12": true,
+ "features›RegExp Unicode Property Escapes›Unicode 12.1": true,
+ "features›RegExp Unicode Property Escapes›Unicode 13": true,
+ "features›RegExp Unicode Property Escapes›Unicode 14": true,
+ "features›RegExp Unicode Property Escapes›Unicode 15": true,
+ "features›RegExp Unicode Property Escapes›Unicode 15.1": true,
+ "features›RegExp Unicode Property Escapes›Unicode 16.0": "Invalid regular expression: /\\p{Script=Todhri}/: Invalid property name",
+ "features›Asynchronous Iterators›async generators": true,
+ "features›Asynchronous Iterators›for-await-of loops": true,
+ "misc›Proxy \"ownKeys\" handler, duplicate keys for non-extensible targets": true,
+ "misc›template literal revision": true
+ },
+ "ES2017": {
+ "_successful": 64,
+ "_count": 64,
+ "_percent": 1,
+ "features›Object static methods›Object.values": true,
+ "features›Object static methods›Object.entries": true,
+ "features›Object static methods›Object.getOwnPropertyDescriptors": true,
+ "features›Object static methods›Object.getOwnPropertyDescriptors doesn't provide undefined descriptors": true,
+ "features›String padding›String.prototype.padStart": true,
+ "features›String padding›String.prototype.padEnd": true,
+ "features›trailing commas in function syntax›in parameter lists": true,
+ "features›trailing commas in function syntax›in argument lists": true,
+ "features›async functions›return": true,
+ "features›async functions›throw": true,
+ "features›async functions›no line break between async and function": true,
+ "features›async functions›no \"prototype\" property": true,
+ "features›async functions›await": true,
+ "features›async functions›await, rejection": true,
+ "features›async functions›must await a value": true,
+ "features›async functions›can await non-Promise values": true,
+ "features›async functions›cannot await in parameters": true,
+ "features›async functions›async methods, object literals": true,
+ "features›async functions›async methods, classes": true,
+ "features›async functions›async arrow functions in methods, classes": true,
+ "features›async functions›async arrow functions": true,
+ "features›async functions›correct prototype chain": true,
+ "features›async functions›async function prototype, Symbol.toStringTag": true,
+ "features›async functions›async function constructor": true,
+ "features›shared memory and atomics›SharedArrayBuffer": true,
+ "features›shared memory and atomics›SharedArrayBuffer[Symbol.species]": true,
+ "features›shared memory and atomics›SharedArrayBuffer.prototype.byteLength": true,
+ "features›shared memory and atomics›SharedArrayBuffer.prototype.slice": true,
+ "features›shared memory and atomics›SharedArrayBuffer.prototype[Symbol.toStringTag]": true,
+ "features›shared memory and atomics›Atomics.add": true,
+ "features›shared memory and atomics›Atomics.and": true,
+ "features›shared memory and atomics›Atomics.compareExchange": true,
+ "features›shared memory and atomics›Atomics.exchange": true,
+ "features›shared memory and atomics›Atomics.wait": true,
+ "features›shared memory and atomics›Atomics.notify": true,
+ "features›shared memory and atomics›Atomics.isLockFree": true,
+ "features›shared memory and atomics›Atomics.load": true,
+ "features›shared memory and atomics›Atomics.or": true,
+ "features›shared memory and atomics›Atomics.store": true,
+ "features›shared memory and atomics›Atomics.sub": true,
+ "features›shared memory and atomics›Atomics.xor": true,
+ "misc›RegExp \"u\" flag, case folding": true,
+ "misc›arguments.caller removed": true,
+ "annex b›Object.prototype getter/setter methods›__defineGetter__": true,
+ "annex b›Object.prototype getter/setter methods›__defineGetter__, symbols": true,
+ "annex b›Object.prototype getter/setter methods›__defineGetter__, ToObject(this)": true,
+ "annex b›Object.prototype getter/setter methods›__defineSetter__": true,
+ "annex b›Object.prototype getter/setter methods›__defineSetter__, symbols": true,
+ "annex b›Object.prototype getter/setter methods›__defineSetter__, ToObject(this)": true,
+ "annex b›Object.prototype getter/setter methods›__lookupGetter__": true,
+ "annex b›Object.prototype getter/setter methods›__lookupGetter__, prototype chain": true,
+ "annex b›Object.prototype getter/setter methods›__lookupGetter__, symbols": true,
+ "annex b›Object.prototype getter/setter methods›__lookupGetter__, ToObject(this)": true,
+ "annex b›Object.prototype getter/setter methods›__lookupGetter__, data properties can shadow accessors": true,
+ "annex b›Object.prototype getter/setter methods›__lookupSetter__": true,
+ "annex b›Object.prototype getter/setter methods›__lookupSetter__, prototype chain": true,
+ "annex b›Object.prototype getter/setter methods›__lookupSetter__, symbols": true,
+ "annex b›Object.prototype getter/setter methods›__lookupSetter__, ToObject(this)": true,
+ "annex b›Object.prototype getter/setter methods›__lookupSetter__, data properties can shadow accessors": true,
+ "annex b›Proxy internal calls, getter/setter methods›__defineGetter__": true,
+ "annex b›Proxy internal calls, getter/setter methods›__defineSetter__": true,
+ "annex b›Proxy internal calls, getter/setter methods›__lookupGetter__": true,
+ "annex b›Proxy internal calls, getter/setter methods›__lookupSetter__": true,
+ "annex b›assignments allowed in for-in head in non-strict mode": true
+ },
+ "ES2016": {
+ "_successful": 14,
+ "_count": 14,
+ "_percent": 1,
+ "features›exponentiation (**) operator›basic support": true,
+ "features›exponentiation (**) operator›assignment": true,
+ "features›exponentiation (**) operator›early syntax error for unary negation without parens": true,
+ "features›Array.prototype.includes›Array.prototype.includes": true,
+ "features›Array.prototype.includes›Array.prototype.includes handles sparse arrays": true,
+ "features›Array.prototype.includes›Array.prototype.includes is generic": true,
+ "features›Array.prototype.includes›%TypedArray%.prototype.includes": true,
+ "misc›generator functions can't be used with \"new\"": true,
+ "misc›generator throw() caught by inner generator": true,
+ "misc›strict fn w/ non-strict non-simple params is error": true,
+ "misc›nested rest destructuring, declarations": true,
+ "misc›nested rest destructuring, parameters": true,
+ "misc›Proxy, \"enumerate\" handler removed": true,
+ "misc›Proxy internal calls, Array.prototype.includes": true
+ },
+ "ES2015": {
+ "_successful": 693,
+ "_count": 697,
+ "_percent": 0.994261119081779,
+ "optimisation›proper tail calls (tail call optimisation)›direct recursion": "Maximum call stack size exceeded",
+ "optimisation›proper tail calls (tail call optimisation)›mutual recursion": "Maximum call stack size exceeded",
+ "syntax›default function parameters›basic functionality": true,
+ "syntax›default function parameters›explicit undefined defers to the default": true,
+ "syntax›default function parameters›defaults can refer to previous params": true,
+ "syntax›default function parameters›arguments object interaction": true,
+ "syntax›default function parameters›temporal dead zone": true,
+ "syntax›default function parameters›separate scope": true,
+ "syntax›default function parameters›new Function() support": true,
+ "syntax›rest parameters›basic functionality": true,
+ "syntax›rest parameters›function 'length' property": true,
+ "syntax›rest parameters›arguments object interaction": true,
+ "syntax›rest parameters›can't be used in setters": true,
+ "syntax›rest parameters›new Function() support": true,
+ "syntax›spread syntax for iterable objects›with arrays, in function calls": true,
+ "syntax›spread syntax for iterable objects›with arrays, in array literals": true,
+ "syntax›spread syntax for iterable objects›with sparse arrays, in function calls": true,
+ "syntax›spread syntax for iterable objects›with sparse arrays, in array literals": true,
+ "syntax›spread syntax for iterable objects›with strings, in function calls": true,
+ "syntax›spread syntax for iterable objects›with strings, in array literals": true,
+ "syntax›spread syntax for iterable objects›with astral plane strings, in function calls": true,
+ "syntax›spread syntax for iterable objects›with astral plane strings, in array literals": true,
+ "syntax›spread syntax for iterable objects›with generator instances, in calls": true,
+ "syntax›spread syntax for iterable objects›with generator instances, in arrays": true,
+ "syntax›spread syntax for iterable objects›with generic iterables, in calls": true,
+ "syntax›spread syntax for iterable objects›with generic iterables, in arrays": true,
+ "syntax›spread syntax for iterable objects›with instances of iterables, in calls": true,
+ "syntax›spread syntax for iterable objects›with instances of iterables, in arrays": true,
+ "syntax›spread syntax for iterable objects›spreading non-iterables is a runtime error": true,
+ "syntax›object literal extensions›computed properties": true,
+ "syntax›object literal extensions›shorthand properties": true,
+ "syntax›object literal extensions›shorthand methods": true,
+ "syntax›object literal extensions›string-keyed shorthand methods": true,
+ "syntax›object literal extensions›computed shorthand methods": true,
+ "syntax›object literal extensions›computed accessors": true,
+ "syntax›for..of loops›with arrays": true,
+ "syntax›for..of loops›with sparse arrays": true,
+ "syntax›for..of loops›with strings": true,
+ "syntax›for..of loops›with astral plane strings": true,
+ "syntax›for..of loops›with generator instances": true,
+ "syntax›for..of loops›with generic iterables": true,
+ "syntax›for..of loops›with instances of generic iterables": true,
+ "syntax›for..of loops›iterator closing, break": true,
+ "syntax›for..of loops›iterator closing, throw": true,
+ "syntax›octal and binary literals›octal literals": true,
+ "syntax›octal and binary literals›binary literals": true,
+ "syntax›octal and binary literals›octal supported by Number()": true,
+ "syntax›octal and binary literals›binary supported by Number()": true,
+ "syntax›template literals›basic functionality": true,
+ "syntax›template literals›toString conversion": true,
+ "syntax›template literals›tagged template literals": true,
+ "syntax›template literals›passed array is frozen": true,
+ "syntax›template literals›line break normalisation": true,
+ "syntax›template literals›TemplateStrings call site caching": true,
+ "syntax›template literals›TemplateStrings permanent caching": true,
+ "syntax›RegExp \"y\" and \"u\" flags›\"y\" flag": true,
+ "syntax›RegExp \"y\" and \"u\" flags›\"y\" flag, lastIndex": true,
+ "syntax›RegExp \"y\" and \"u\" flags›\"u\" flag": true,
+ "syntax›RegExp \"y\" and \"u\" flags›\"u\" flag, non-BMP Unicode characters": true,
+ "syntax›RegExp \"y\" and \"u\" flags›\"u\" flag, Unicode code point escapes": true,
+ "syntax›RegExp \"y\" and \"u\" flags›\"u\" flag, case folding": true,
+ "syntax›destructuring, declarations›with arrays": true,
+ "syntax›destructuring, declarations›with sparse arrays": true,
+ "syntax›destructuring, declarations›with strings": true,
+ "syntax›destructuring, declarations›with astral plane strings": true,
+ "syntax›destructuring, declarations›with generator instances": true,
+ "syntax›destructuring, declarations›with generic iterables": true,
+ "syntax›destructuring, declarations›with instances of generic iterables": true,
+ "syntax›destructuring, declarations›iterator closing": true,
+ "syntax›destructuring, declarations›trailing commas in iterable patterns": true,
+ "syntax›destructuring, declarations›with objects": true,
+ "syntax›destructuring, declarations›object destructuring with primitives": true,
+ "syntax›destructuring, declarations›trailing commas in object patterns": true,
+ "syntax›destructuring, declarations›throws on null and undefined": true,
+ "syntax›destructuring, declarations›computed properties": true,
+ "syntax›destructuring, declarations›multiples in a single var statement": true,
+ "syntax›destructuring, declarations›nested": true,
+ "syntax›destructuring, declarations›in for-in loop heads": true,
+ "syntax›destructuring, declarations›in for-of loop heads": true,
+ "syntax›destructuring, declarations›in catch heads": true,
+ "syntax›destructuring, declarations›rest": true,
+ "syntax›destructuring, declarations›defaults": true,
+ "syntax›destructuring, declarations›defaults, let temporal dead zone": true,
+ "syntax›destructuring, assignment›with arrays": true,
+ "syntax›destructuring, assignment›with sparse arrays": true,
+ "syntax›destructuring, assignment›with strings": true,
+ "syntax›destructuring, assignment›with astral plane strings": true,
+ "syntax›destructuring, assignment›with generator instances": true,
+ "syntax›destructuring, assignment›with generic iterables": true,
+ "syntax›destructuring, assignment›with instances of generic iterables": true,
+ "syntax›destructuring, assignment›iterator closing": true,
+ "syntax›destructuring, assignment›iterable destructuring expression": true,
+ "syntax›destructuring, assignment›chained iterable destructuring": true,
+ "syntax›destructuring, assignment›trailing commas in iterable patterns": true,
+ "syntax›destructuring, assignment›with objects": true,
+ "syntax›destructuring, assignment›object destructuring with primitives": true,
+ "syntax›destructuring, assignment›trailing commas in object patterns": true,
+ "syntax›destructuring, assignment›object destructuring expression": true,
+ "syntax›destructuring, assignment›parenthesised left-hand-side is a syntax error": true,
+ "syntax›destructuring, assignment›chained object destructuring": true,
+ "syntax›destructuring, assignment›throws on null and undefined": true,
+ "syntax›destructuring, assignment›computed properties": true,
+ "syntax›destructuring, assignment›nested": true,
+ "syntax›destructuring, assignment›rest": true,
+ "syntax›destructuring, assignment›nested rest": true,
+ "syntax›destructuring, assignment›empty patterns": true,
+ "syntax›destructuring, assignment›defaults": true,
+ "syntax›destructuring, parameters›with arrays": true,
+ "syntax›destructuring, parameters›with sparse arrays": true,
+ "syntax›destructuring, parameters›with strings": true,
+ "syntax›destructuring, parameters›with astral plane strings": true,
+ "syntax›destructuring, parameters›with generator instances": true,
+ "syntax›destructuring, parameters›with generic iterables": true,
+ "syntax›destructuring, parameters›with instances of generic iterables": true,
+ "syntax›destructuring, parameters›iterator closing": true,
+ "syntax›destructuring, parameters›trailing commas in iterable patterns": true,
+ "syntax›destructuring, parameters›with objects": true,
+ "syntax›destructuring, parameters›object destructuring with primitives": true,
+ "syntax›destructuring, parameters›trailing commas in object patterns": true,
+ "syntax›destructuring, parameters›throws on null and undefined": true,
+ "syntax›destructuring, parameters›computed properties": true,
+ "syntax›destructuring, parameters›nested": true,
+ "syntax›destructuring, parameters›'arguments' interaction": true,
+ "syntax›destructuring, parameters›new Function() support": true,
+ "syntax›destructuring, parameters›in parameters, function 'length' property": true,
+ "syntax›destructuring, parameters›rest": true,
+ "syntax›destructuring, parameters›empty patterns": true,
+ "syntax›destructuring, parameters›defaults": true,
+ "syntax›destructuring, parameters›defaults, separate scope": true,
+ "syntax›destructuring, parameters›defaults, new Function() support": true,
+ "syntax›destructuring, parameters›aliased defaults, arrow function": true,
+ "syntax›destructuring, parameters›shorthand defaults, arrow function": true,
+ "syntax›destructuring, parameters›duplicate identifier": true,
+ "syntax›Unicode code point escapes›in strings": true,
+ "syntax›Unicode code point escapes›in identifiers": true,
+ "syntax›Unicode code point escapes›in property key definitions": true,
+ "syntax›Unicode code point escapes›in property key accesses": true,
+ "syntax›new.target›in constructors": true,
+ "syntax›new.target›assignment is an early error": true,
+ "bindings›const›basic support": true,
+ "bindings›const›is block-scoped": true,
+ "bindings›const›scope shadow resolution": true,
+ "bindings›const›cannot be in statements": true,
+ "bindings›const›redefining a const is an error": true,
+ "bindings›const›for loop statement scope": true,
+ "bindings›const›for-in loop iteration scope": true,
+ "bindings›const›for-of loop iteration scope": true,
+ "bindings›const›temporal dead zone": true,
+ "bindings›const›basic support (strict mode)": true,
+ "bindings›const›is block-scoped (strict mode)": true,
+ "bindings›const›scope shadow resolution (strict mode)": true,
+ "bindings›const›cannot be in statements (strict mode)": true,
+ "bindings›const›redefining a const (strict mode)": true,
+ "bindings›const›for loop statement scope (strict mode)": true,
+ "bindings›const›for-in loop iteration scope (strict mode)": true,
+ "bindings›const›for-of loop iteration scope (strict mode)": true,
+ "bindings›const›temporal dead zone (strict mode)": true,
+ "bindings›let›basic support": true,
+ "bindings›let›is block-scoped": true,
+ "bindings›let›scope shadow resolution": true,
+ "bindings›let›cannot be in statements": true,
+ "bindings›let›for loop statement scope": true,
+ "bindings›let›temporal dead zone": true,
+ "bindings›let›for/for-in loop iteration scope": true,
+ "bindings›let›for-in loop binding shadowing parameter": true,
+ "bindings›let›basic support (strict mode)": true,
+ "bindings›let›is block-scoped (strict mode)": true,
+ "bindings›let›scope shadow resolution (strict mode)": true,
+ "bindings›let›cannot be in statements (strict mode)": true,
+ "bindings›let›for loop statement scope (strict mode)": true,
+ "bindings›let›temporal dead zone (strict mode)": true,
+ "bindings›let›for/for-in loop iteration scope (strict mode)": true,
+ "bindings›let›for-in loop binding shadowing parameter (strict mode)": true,
+ "bindings›block-level function declaration": true,
+ "functions›arrow functions›0 parameters": true,
+ "functions›arrow functions›1 parameter, no brackets": true,
+ "functions›arrow functions›multiple parameters": true,
+ "functions›arrow functions›lexical \"this\" binding": true,
+ "functions›arrow functions›\"this\" unchanged by call or apply": true,
+ "functions›arrow functions›can't be bound, can be curried": true,
+ "functions›arrow functions›lexical \"arguments\" binding": true,
+ "functions›arrow functions›no line break between params and =>": true,
+ "functions›arrow functions›correct precedence": true,
+ "functions›arrow functions›no \"prototype\" property": true,
+ "functions›arrow functions›lexical \"super\" binding in constructors": true,
+ "functions›arrow functions›lexical \"super\" binding in methods": true,
+ "functions›arrow functions›lexical \"new.target\" binding": true,
+ "functions›class›class statement": true,
+ "functions›class›is block-scoped": true,
+ "functions›class›class expression": true,
+ "functions›class›anonymous class": true,
+ "functions›class›constructor": true,
+ "functions›class›prototype methods": true,
+ "functions›class›string-keyed methods": true,
+ "functions›class›computed prototype methods": true,
+ "functions›class›optional semicolons": true,
+ "functions›class›static methods": true,
+ "functions›class›computed static methods": true,
+ "functions›class›accessor properties": true,
+ "functions›class›computed accessor properties": true,
+ "functions›class›static accessor properties": true,
+ "functions›class›computed static accessor properties": true,
+ "functions›class›class name is lexically scoped": true,
+ "functions›class›computed names, temporal dead zone": true,
+ "functions›class›methods aren't enumerable": true,
+ "functions›class›implicit strict mode": true,
+ "functions›class›constructor requires new": true,
+ "functions›class›extends": true,
+ "functions›class›extends expressions": true,
+ "functions›class›extends null": true,
+ "functions›class›new.target": true,
+ "functions›super›statement in constructors": true,
+ "functions›super›expression in constructors": true,
+ "functions›super›in methods, property access": true,
+ "functions›super›in methods, method calls": true,
+ "functions›super›method calls use correct \"this\" binding": true,
+ "functions›super›constructor calls use correct \"new.target\" binding": true,
+ "functions›super›is statically bound": true,
+ "functions›super›super() invokes the correct constructor": true,
+ "functions›generators›basic functionality": true,
+ "functions›generators›generator function expressions": true,
+ "functions›generators›correct \"this\" binding": true,
+ "functions›generators›can't use \"this\" with new": true,
+ "functions›generators›sending": true,
+ "functions›generators›%GeneratorPrototype%": true,
+ "functions›generators›%GeneratorPrototype% prototype chain": true,
+ "functions›generators›%GeneratorPrototype%.constructor": true,
+ "functions›generators›%GeneratorPrototype%.throw": true,
+ "functions›generators›%GeneratorPrototype%.return": true,
+ "functions›generators›yield operator precedence": true,
+ "functions›generators›yield *, arrays": true,
+ "functions›generators›yield *, sparse arrays": true,
+ "functions›generators›yield *, strings": true,
+ "functions›generators›yield *, astral plane strings": true,
+ "functions›generators›yield *, generator instances": true,
+ "functions›generators›yield *, generic iterables": true,
+ "functions›generators›yield *, instances of iterables": true,
+ "functions›generators›yield * on non-iterables is a runtime error": true,
+ "functions›generators›yield *, iterator closing": true,
+ "functions›generators›yield *, iterator closing via throw()": true,
+ "functions›generators›shorthand generator methods": true,
+ "functions›generators›string-keyed shorthand generator methods": true,
+ "functions›generators›computed shorthand generators": true,
+ "functions›generators›shorthand generator methods, classes": true,
+ "functions›generators›computed shorthand generators, classes": true,
+ "functions›generators›shorthand generators can't be constructors": true,
+ "built-ins›typed arrays›Int8Array": true,
+ "built-ins›typed arrays›Uint8Array": true,
+ "built-ins›typed arrays›Uint8ClampedArray": true,
+ "built-ins›typed arrays›Int16Array": true,
+ "built-ins›typed arrays›Uint16Array": true,
+ "built-ins›typed arrays›Int32Array": true,
+ "built-ins›typed arrays›Uint32Array": true,
+ "built-ins›typed arrays›Float32Array": true,
+ "built-ins›typed arrays›Float64Array": true,
+ "built-ins›typed arrays›DataView (Int8)": true,
+ "built-ins›typed arrays›DataView (Uint8)": true,
+ "built-ins›typed arrays›DataView (Int16)": true,
+ "built-ins›typed arrays›DataView (Uint16)": true,
+ "built-ins›typed arrays›DataView (Int32)": true,
+ "built-ins›typed arrays›DataView (Uint32)": true,
+ "built-ins›typed arrays›DataView (Float32)": true,
+ "built-ins›typed arrays›DataView (Float64)": true,
+ "built-ins›typed arrays›ArrayBuffer[Symbol.species]": true,
+ "built-ins›typed arrays›constructors require new": true,
+ "built-ins›typed arrays›constructors accept generic iterables": true,
+ "built-ins›typed arrays›correct prototype chains": true,
+ "built-ins›typed arrays›%TypedArray%.from": true,
+ "built-ins›typed arrays›%TypedArray%.of": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.subarray": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.join": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.indexOf": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.lastIndexOf": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.slice": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.every": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.filter": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.forEach": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.map": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.reduce": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.reduceRight": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.reverse": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.some": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.sort": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.copyWithin": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.find": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.findIndex": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.fill": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.keys": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.values": true,
+ "built-ins›typed arrays›%TypedArray%.prototype.entries": true,
+ "built-ins›typed arrays›%TypedArray%.prototype[Symbol.iterator]": true,
+ "built-ins›typed arrays›%TypedArray%[Symbol.species]": true,
+ "built-ins›Map›basic functionality": true,
+ "built-ins›Map›constructor arguments": true,
+ "built-ins›Map›constructor requires new": true,
+ "built-ins›Map›constructor accepts null": true,
+ "built-ins›Map›constructor invokes set": true,
+ "built-ins›Map›iterator closing": true,
+ "built-ins›Map›Map.prototype.set returns this": true,
+ "built-ins›Map›-0 key converts to +0": true,
+ "built-ins›Map›Map.prototype.size": true,
+ "built-ins›Map›Map.prototype.delete": true,
+ "built-ins›Map›Map.prototype.clear": true,
+ "built-ins›Map›Map.prototype.forEach": true,
+ "built-ins›Map›Map.prototype.keys": true,
+ "built-ins›Map›Map.prototype.values": true,
+ "built-ins›Map›Map.prototype.entries": true,
+ "built-ins›Map›Map.prototype[Symbol.iterator]": true,
+ "built-ins›Map›Map.prototype isn't an instance": true,
+ "built-ins›Map›Map iterator prototype chain": true,
+ "built-ins›Map›Map[Symbol.species]": true,
+ "built-ins›Set›basic functionality": true,
+ "built-ins›Set›constructor arguments": true,
+ "built-ins›Set›constructor requires new": true,
+ "built-ins›Set›constructor accepts null": true,
+ "built-ins›Set›constructor invokes add": true,
+ "built-ins›Set›iterator closing": true,
+ "built-ins›Set›Set.prototype.add returns this": true,
+ "built-ins›Set›-0 key converts to +0": true,
+ "built-ins›Set›Set.prototype.size": true,
+ "built-ins›Set›Set.prototype.delete": true,
+ "built-ins›Set›Set.prototype.clear": true,
+ "built-ins›Set›Set.prototype.forEach": true,
+ "built-ins›Set›Set.prototype.keys": true,
+ "built-ins›Set›Set.prototype.values": true,
+ "built-ins›Set›Set.prototype.entries": true,
+ "built-ins›Set›Set.prototype[Symbol.iterator]": true,
+ "built-ins›Set›Set.prototype isn't an instance": true,
+ "built-ins›Set›Set iterator prototype chain": true,
+ "built-ins›Set›Set[Symbol.species]": true,
+ "built-ins›WeakMap›basic functionality": true,
+ "built-ins›WeakMap›constructor arguments": true,
+ "built-ins›WeakMap›constructor requires new": true,
+ "built-ins›WeakMap›constructor accepts null": true,
+ "built-ins›WeakMap›constructor invokes set": true,
+ "built-ins›WeakMap›frozen objects as keys": true,
+ "built-ins›WeakMap›iterator closing": true,
+ "built-ins›WeakMap›WeakMap.prototype.set returns this": true,
+ "built-ins›WeakMap›WeakMap.prototype.delete": true,
+ "built-ins›WeakMap›no WeakMap.prototype.clear method": true,
+ "built-ins›WeakMap›.has, .get and .delete methods accept primitives": true,
+ "built-ins›WeakMap›WeakMap.prototype isn't an instance": true,
+ "built-ins›WeakSet›basic functionality": true,
+ "built-ins›WeakSet›constructor arguments": true,
+ "built-ins›WeakSet›constructor requires new": true,
+ "built-ins›WeakSet›constructor accepts null": true,
+ "built-ins›WeakSet›constructor invokes add": true,
+ "built-ins›WeakSet›iterator closing": true,
+ "built-ins›WeakSet›WeakSet.prototype.add returns this": true,
+ "built-ins›WeakSet›WeakSet.prototype.delete": true,
+ "built-ins›WeakSet›no WeakSet.prototype.clear method": true,
+ "built-ins›WeakSet›.has and .delete methods accept primitives": true,
+ "built-ins›WeakSet›WeakSet.prototype isn't an instance": true,
+ "built-ins›Proxy›constructor requires new": true,
+ "built-ins›Proxy›no \"prototype\" property": true,
+ "built-ins›Proxy›\"get\" handler": true,
+ "built-ins›Proxy›\"get\" handler, instances of proxies": true,
+ "built-ins›Proxy›\"get\" handler invariants": true,
+ "built-ins›Proxy›\"set\" handler": true,
+ "built-ins›Proxy›\"set\" handler, instances of proxies": true,
+ "built-ins›Proxy›\"set\" handler invariants": true,
+ "built-ins›Proxy›\"has\" handler": true,
+ "built-ins›Proxy›\"has\" handler, instances of proxies": true,
+ "built-ins›Proxy›\"has\" handler invariants": true,
+ "built-ins›Proxy›\"deleteProperty\" handler": true,
+ "built-ins›Proxy›\"deleteProperty\" handler invariant": true,
+ "built-ins›Proxy›\"getOwnPropertyDescriptor\" handler": true,
+ "built-ins›Proxy›\"getOwnPropertyDescriptor\" handler invariants": true,
+ "built-ins›Proxy›\"defineProperty\" handler": true,
+ "built-ins›Proxy›\"defineProperty\" handler invariants": true,
+ "built-ins›Proxy›\"getPrototypeOf\" handler": true,
+ "built-ins›Proxy›\"getPrototypeOf\" handler invariant": true,
+ "built-ins›Proxy›\"setPrototypeOf\" handler": true,
+ "built-ins›Proxy›\"setPrototypeOf\" handler invariant": true,
+ "built-ins›Proxy›\"isExtensible\" handler": true,
+ "built-ins›Proxy›\"isExtensible\" handler invariant": true,
+ "built-ins›Proxy›\"preventExtensions\" handler": true,
+ "built-ins›Proxy›\"preventExtensions\" handler invariant": true,
+ "built-ins›Proxy›\"ownKeys\" handler": true,
+ "built-ins›Proxy›\"ownKeys\" handler invariant": true,
+ "built-ins›Proxy›\"apply\" handler": true,
+ "built-ins›Proxy›\"apply\" handler invariant": true,
+ "built-ins›Proxy›\"construct\" handler": true,
+ "built-ins›Proxy›\"construct\" handler invariants": true,
+ "built-ins›Proxy›Proxy.revocable": true,
+ "built-ins›Proxy›Array.isArray support": true,
+ "built-ins›Proxy›JSON.stringify support": true,
+ "built-ins›Reflect›Reflect.get": true,
+ "built-ins›Reflect›Reflect.set": true,
+ "built-ins›Reflect›Reflect.has": true,
+ "built-ins›Reflect›Reflect.deleteProperty": true,
+ "built-ins›Reflect›Reflect.getOwnPropertyDescriptor": true,
+ "built-ins›Reflect›Reflect.defineProperty": true,
+ "built-ins›Reflect›Reflect.getPrototypeOf": true,
+ "built-ins›Reflect›Reflect.setPrototypeOf": true,
+ "built-ins›Reflect›Reflect.isExtensible": true,
+ "built-ins›Reflect›Reflect.preventExtensions": true,
+ "built-ins›Reflect›Reflect.ownKeys, string keys": true,
+ "built-ins›Reflect›Reflect.ownKeys, symbol keys": true,
+ "built-ins›Reflect›Reflect.apply": true,
+ "built-ins›Reflect›Reflect.construct": true,
+ "built-ins›Reflect›Reflect.construct sets new.target meta-property": true,
+ "built-ins›Reflect›Reflect.construct creates instances from third argument": true,
+ "built-ins›Reflect›Reflect.construct, Array subclassing": true,
+ "built-ins›Reflect›Reflect.construct, RegExp subclassing": true,
+ "built-ins›Reflect›Reflect.construct, Function subclassing": true,
+ "built-ins›Reflect›Reflect.construct, Promise subclassing": true,
+ "built-ins›Promise›basic functionality": true,
+ "built-ins›Promise›constructor requires new": true,
+ "built-ins›Promise›Promise.prototype isn't an instance": true,
+ "built-ins›Promise›Promise.all": true,
+ "built-ins›Promise›Promise.all, generic iterables": true,
+ "built-ins›Promise›Promise.race": true,
+ "built-ins›Promise›Promise.race, generic iterables": true,
+ "built-ins›Promise›Promise[Symbol.species]": true,
+ "built-ins›Symbol›basic functionality": true,
+ "built-ins›Symbol›typeof support": true,
+ "built-ins›Symbol›symbol keys are hidden to pre-ES6 code": true,
+ "built-ins›Symbol›Object.defineProperty support": true,
+ "built-ins›Symbol›symbols inherit from Symbol.prototype": true,
+ "built-ins›Symbol›cannot coerce to string or number": true,
+ "built-ins›Symbol›can convert with String()": true,
+ "built-ins›Symbol›new Symbol() throws": true,
+ "built-ins›Symbol›Object(symbol)": true,
+ "built-ins›Symbol›JSON.stringify ignores symbol primitives": true,
+ "built-ins›Symbol›JSON.stringify ignores symbol objects": true,
+ "built-ins›Symbol›global symbol registry": true,
+ "built-ins›well-known symbols›Symbol.hasInstance": true,
+ "built-ins›well-known symbols›Symbol.isConcatSpreadable, non-spreadable array": true,
+ "built-ins›well-known symbols›Symbol.isConcatSpreadable, spreadable object with poisoned getter": false,
+ "built-ins›well-known symbols›Symbol.iterator, existence": true,
+ "built-ins›well-known symbols›Symbol.iterator, arguments object": true,
+ "built-ins›well-known symbols›Symbol.species, existence": true,
+ "built-ins›well-known symbols›Symbol.species, Array.prototype.concat": true,
+ "built-ins›well-known symbols›Symbol.species, Array.prototype.filter": true,
+ "built-ins›well-known symbols›Symbol.species, Array.prototype.map": true,
+ "built-ins›well-known symbols›Symbol.species, Array.prototype.slice": true,
+ "built-ins›well-known symbols›Symbol.species, Array.prototype.splice": true,
+ "built-ins›well-known symbols›Symbol.species, RegExp.prototype[Symbol.split]": true,
+ "built-ins›well-known symbols›Symbol.species, Promise.prototype.then": true,
+ "built-ins›well-known symbols›Symbol.replace": true,
+ "built-ins›well-known symbols›Symbol.search": true,
+ "built-ins›well-known symbols›Symbol.split": true,
+ "built-ins›well-known symbols›Symbol.match": true,
+ "built-ins›well-known symbols›Symbol.match, RegExp constructor": true,
+ "built-ins›well-known symbols›Symbol.match, String.prototype.startsWith": true,
+ "built-ins›well-known symbols›Symbol.match, String.prototype.endsWith": true,
+ "built-ins›well-known symbols›Symbol.match, String.prototype.includes": true,
+ "built-ins›well-known symbols›Symbol.toPrimitive": true,
+ "built-ins›well-known symbols›Symbol.toStringTag": true,
+ "built-ins›well-known symbols›Symbol.toStringTag affects existing built-ins": true,
+ "built-ins›well-known symbols›Symbol.toStringTag, new built-ins": true,
+ "built-ins›well-known symbols›Symbol.toStringTag, misc. built-ins": true,
+ "built-ins›well-known symbols›Symbol.unscopables": true,
+ "built-in extensions›Object static methods›Object.assign": true,
+ "built-in extensions›Object static methods›Object.is": true,
+ "built-in extensions›Object static methods›Object.getOwnPropertySymbols": true,
+ "built-in extensions›Object static methods›Object.setPrototypeOf": true,
+ "built-in extensions›function \"name\" property›function statements": true,
+ "built-in extensions›function \"name\" property›function expressions": true,
+ "built-in extensions›function \"name\" property›new Function": true,
+ "built-in extensions›function \"name\" property›bound functions": true,
+ "built-in extensions›function \"name\" property›variables (function)": true,
+ "built-in extensions›function \"name\" property›object methods (function)": true,
+ "built-in extensions›function \"name\" property›accessor properties": true,
+ "built-in extensions›function \"name\" property›shorthand methods": true,
+ "built-in extensions›function \"name\" property›shorthand methods (no lexical binding)": true,
+ "built-in extensions›function \"name\" property›symbol-keyed methods": true,
+ "built-in extensions›function \"name\" property›class statements": true,
+ "built-in extensions›function \"name\" property›class expressions": true,
+ "built-in extensions›function \"name\" property›variables (class)": true,
+ "built-in extensions›function \"name\" property›object methods (class)": true,
+ "built-in extensions›function \"name\" property›class prototype methods": true,
+ "built-in extensions›function \"name\" property›class static methods": true,
+ "built-in extensions›function \"name\" property›isn't writable, is configurable": true,
+ "built-in extensions›String static methods›String.raw": true,
+ "built-in extensions›String static methods›String.fromCodePoint": true,
+ "built-in extensions›String.prototype methods›String.prototype.codePointAt": true,
+ "built-in extensions›String.prototype methods›String.prototype.normalize": true,
+ "built-in extensions›String.prototype methods›String.prototype.repeat": true,
+ "built-in extensions›String.prototype methods›String.prototype.startsWith": true,
+ "built-in extensions›String.prototype methods›String.prototype.startsWith throws on RegExp": true,
+ "built-in extensions›String.prototype methods›String.prototype.endsWith": true,
+ "built-in extensions›String.prototype methods›String.prototype.endsWith throws on RegExp": true,
+ "built-in extensions›String.prototype methods›String.prototype.includes": true,
+ "built-in extensions›String.prototype methods›String.prototype[Symbol.iterator]": true,
+ "built-in extensions›String.prototype methods›String iterator prototype chain": true,
+ "built-in extensions›RegExp.prototype properties›RegExp.prototype.flags": true,
+ "built-in extensions›RegExp.prototype properties›RegExp.prototype[Symbol.match]": true,
+ "built-in extensions›RegExp.prototype properties›RegExp.prototype[Symbol.replace]": true,
+ "built-in extensions›RegExp.prototype properties›RegExp.prototype[Symbol.split]": true,
+ "built-in extensions›RegExp.prototype properties›RegExp.prototype[Symbol.search]": true,
+ "built-in extensions›RegExp.prototype properties›RegExp[Symbol.species]": true,
+ "built-in extensions›Array static methods›Array.from, array-like objects": true,
+ "built-in extensions›Array static methods›Array.from, generator instances": true,
+ "built-in extensions›Array static methods›Array.from, generic iterables": true,
+ "built-in extensions›Array static methods›Array.from, instances of generic iterables": true,
+ "built-in extensions›Array static methods›Array.from map function, array-like objects": true,
+ "built-in extensions›Array static methods›Array.from map function, generator instances": true,
+ "built-in extensions›Array static methods›Array.from map function, generic iterables": true,
+ "built-in extensions›Array static methods›Array.from map function, instances of iterables": true,
+ "built-in extensions›Array static methods›Array.from, iterator closing": true,
+ "built-in extensions›Array static methods›Array.of": true,
+ "built-in extensions›Array static methods›Array[Symbol.species]": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.copyWithin": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.find": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.findIndex": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.fill": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.keys": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.values": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.entries": true,
+ "built-in extensions›Array.prototype methods›Array.prototype.splice": true,
+ "built-in extensions›Array.prototype methods›Array.prototype[Symbol.iterator]": true,
+ "built-in extensions›Array.prototype methods›Array iterator prototype chain": true,
+ "built-in extensions›Array.prototype methods›Array.prototype[Symbol.unscopables]": true,
+ "built-in extensions›Number properties›Number.isFinite": true,
+ "built-in extensions›Number properties›Number.isInteger": true,
+ "built-in extensions›Number properties›Number.isSafeInteger": true,
+ "built-in extensions›Number properties›Number.isNaN": true,
+ "built-in extensions›Number properties›Number.parseFloat": true,
+ "built-in extensions›Number properties›Number.parseInt": true,
+ "built-in extensions›Number properties›Number.EPSILON": true,
+ "built-in extensions›Number properties›Number.MIN_SAFE_INTEGER": true,
+ "built-in extensions›Number properties›Number.MAX_SAFE_INTEGER": true,
+ "built-in extensions›Math methods›Math.clz32": true,
+ "built-in extensions›Math methods›Math.imul": true,
+ "built-in extensions›Math methods›Math.sign": true,
+ "built-in extensions›Math methods›Math.log10": true,
+ "built-in extensions›Math methods›Math.log2": true,
+ "built-in extensions›Math methods›Math.log1p": true,
+ "built-in extensions›Math methods›Math.expm1": true,
+ "built-in extensions›Math methods›Math.cosh": true,
+ "built-in extensions›Math methods›Math.sinh": true,
+ "built-in extensions›Math methods›Math.tanh": true,
+ "built-in extensions›Math methods›Math.acosh": true,
+ "built-in extensions›Math methods›Math.asinh": true,
+ "built-in extensions›Math methods›Math.atanh": true,
+ "built-in extensions›Math methods›Math.trunc": true,
+ "built-in extensions›Math methods›Math.fround": true,
+ "built-in extensions›Math methods›Math.cbrt": true,
+ "built-in extensions›Math methods›Math.hypot": true,
+ "built-in extensions›Date.prototype[Symbol.toPrimitive]": true,
+ "subclassing›Array is subclassable›length property (accessing)": true,
+ "subclassing›Array is subclassable›length property (setting)": true,
+ "subclassing›Array is subclassable›correct prototype chain": true,
+ "subclassing›Array is subclassable›Array.isArray support": true,
+ "subclassing›Array is subclassable›Array.prototype.concat": true,
+ "subclassing›Array is subclassable›Array.prototype.filter": true,
+ "subclassing›Array is subclassable›Array.prototype.map": true,
+ "subclassing›Array is subclassable›Array.prototype.slice": true,
+ "subclassing›Array is subclassable›Array.prototype.splice": true,
+ "subclassing›Array is subclassable›Array.from": true,
+ "subclassing›Array is subclassable›Array.of": true,
+ "subclassing›RegExp is subclassable›basic functionality": true,
+ "subclassing›RegExp is subclassable›correct prototype chain": true,
+ "subclassing›RegExp is subclassable›RegExp.prototype.exec": true,
+ "subclassing›RegExp is subclassable›RegExp.prototype.test": true,
+ "subclassing›Function is subclassable›can be called": true,
+ "subclassing›Function is subclassable›correct prototype chain": true,
+ "subclassing›Function is subclassable›can be used with \"new\"": true,
+ "subclassing›Function is subclassable›Function.prototype.call": true,
+ "subclassing›Function is subclassable›Function.prototype.apply": true,
+ "subclassing›Function is subclassable›Function.prototype.bind": true,
+ "subclassing›Promise is subclassable›basic functionality": true,
+ "subclassing›Promise is subclassable›correct prototype chain": true,
+ "subclassing›Promise is subclassable›Promise.all": true,
+ "subclassing›Promise is subclassable›Promise.race": true,
+ "subclassing›miscellaneous subclassables›Boolean is subclassable": true,
+ "subclassing›miscellaneous subclassables›Number is subclassable": true,
+ "subclassing›miscellaneous subclassables›String is subclassable": true,
+ "subclassing›miscellaneous subclassables›Error is subclassable": true,
+ "subclassing›miscellaneous subclassables›Map is subclassable": true,
+ "subclassing›miscellaneous subclassables›Set is subclassable": true,
+ "misc›prototype of bound functions›basic functions": true,
+ "misc›prototype of bound functions›generator functions": true,
+ "misc›prototype of bound functions›arrow functions": true,
+ "misc›prototype of bound functions›classes": true,
+ "misc›prototype of bound functions›subclasses": true,
+ "misc›Proxy, internal 'get' calls›ToPrimitive": true,
+ "misc›Proxy, internal 'get' calls›CreateListFromArrayLike": true,
+ "misc›Proxy, internal 'get' calls›instanceof operator": true,
+ "misc›Proxy, internal 'get' calls›HasBinding": true,
+ "misc›Proxy, internal 'get' calls›CreateDynamicFunction": true,
+ "misc›Proxy, internal 'get' calls›ClassDefinitionEvaluation": true,
+ "misc›Proxy, internal 'get' calls›IteratorComplete, IteratorValue": true,
+ "misc›Proxy, internal 'get' calls›ToPropertyDescriptor": true,
+ "misc›Proxy, internal 'get' calls›Object.assign": true,
+ "misc›Proxy, internal 'get' calls›Object.defineProperties": true,
+ "misc›Proxy, internal 'get' calls›Function.prototype.bind": true,
+ "misc›Proxy, internal 'get' calls›Error.prototype.toString": true,
+ "misc›Proxy, internal 'get' calls›String.raw": true,
+ "misc›Proxy, internal 'get' calls›RegExp constructor": true,
+ "misc›Proxy, internal 'get' calls›RegExp.prototype.flags": false,
+ "misc›Proxy, internal 'get' calls›RegExp.prototype.test": true,
+ "misc›Proxy, internal 'get' calls›RegExp.prototype.toString": true,
+ "misc›Proxy, internal 'get' calls›RegExp.prototype[Symbol.match]": true,
+ "misc›Proxy, internal 'get' calls›RegExp.prototype[Symbol.replace]": true,
+ "misc›Proxy, internal 'get' calls›RegExp.prototype[Symbol.search]": true,
+ "misc›Proxy, internal 'get' calls›RegExp.prototype[Symbol.split]": true,
+ "misc›Proxy, internal 'get' calls›Array.from": true,
+ "misc›Proxy, internal 'get' calls›Array.prototype.concat": true,
+ "misc›Proxy, internal 'get' calls›Array.prototype iteration methods": true,
+ "misc›Proxy, internal 'get' calls›Array.prototype.pop": true,
+ "misc›Proxy, internal 'get' calls›Array.prototype.reverse": true,
+ "misc›Proxy, internal 'get' calls›Array.prototype.shift": true,
+ "misc›Proxy, internal 'get' calls›Array.prototype.splice": true,
+ "misc›Proxy, internal 'get' calls›Array.prototype.toString": true,
+ "misc›Proxy, internal 'get' calls›JSON.stringify": true,
+ "misc›Proxy, internal 'get' calls›Promise resolve functions": true,
+ "misc›Proxy, internal 'get' calls›String.prototype.match": true,
+ "misc›Proxy, internal 'get' calls›String.prototype.replace": true,
+ "misc›Proxy, internal 'get' calls›String.prototype.search": true,
+ "misc›Proxy, internal 'get' calls›String.prototype.split": true,
+ "misc›Proxy, internal 'get' calls›Date.prototype.toJSON": true,
+ "misc›Proxy, internal 'set' calls›Object.assign": true,
+ "misc›Proxy, internal 'set' calls›Array.from": true,
+ "misc›Proxy, internal 'set' calls›Array.of": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.copyWithin": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.fill": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.pop": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.push": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.reverse": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.shift": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.splice": true,
+ "misc›Proxy, internal 'set' calls›Array.prototype.unshift": true,
+ "misc›Proxy, internal 'defineProperty' calls›[[Set]]": true,
+ "misc›Proxy, internal 'defineProperty' calls›SetIntegrityLevel": true,
+ "misc›Proxy, internal 'deleteProperty' calls›Array.prototype.copyWithin": true,
+ "misc›Proxy, internal 'deleteProperty' calls›Array.prototype.pop": true,
+ "misc›Proxy, internal 'deleteProperty' calls›Array.prototype.reverse": true,
+ "misc›Proxy, internal 'deleteProperty' calls›Array.prototype.shift": true,
+ "misc›Proxy, internal 'deleteProperty' calls›Array.prototype.splice": true,
+ "misc›Proxy, internal 'deleteProperty' calls›Array.prototype.unshift": true,
+ "misc›Proxy, internal 'getOwnPropertyDescriptor' calls›[[Set]]": true,
+ "misc›Proxy, internal 'getOwnPropertyDescriptor' calls›Object.assign": true,
+ "misc›Proxy, internal 'getOwnPropertyDescriptor' calls›Object.prototype.hasOwnProperty": true,
+ "misc›Proxy, internal 'getOwnPropertyDescriptor' calls›Function.prototype.bind": true,
+ "misc›Proxy, internal 'ownKeys' calls›SetIntegrityLevel": true,
+ "misc›Proxy, internal 'ownKeys' calls›TestIntegrityLevel": true,
+ "misc›Proxy, internal 'ownKeys' calls›SerializeJSONObject": true,
+ "misc›Object static methods accept primitives›Object.getPrototypeOf": true,
+ "misc›Object static methods accept primitives›Object.getOwnPropertyDescriptor": true,
+ "misc›Object static methods accept primitives›Object.getOwnPropertyNames": true,
+ "misc›Object static methods accept primitives›Object.seal": true,
+ "misc›Object static methods accept primitives›Object.freeze": true,
+ "misc›Object static methods accept primitives›Object.preventExtensions": true,
+ "misc›Object static methods accept primitives›Object.isSealed": true,
+ "misc›Object static methods accept primitives›Object.isFrozen": true,
+ "misc›Object static methods accept primitives›Object.isExtensible": true,
+ "misc›Object static methods accept primitives›Object.keys": true,
+ "misc›own property order›Object.keys": true,
+ "misc›own property order›Object.getOwnPropertyNames": true,
+ "misc›own property order›Object.assign": true,
+ "misc›own property order›JSON.stringify": true,
+ "misc›own property order›JSON.parse": true,
+ "misc›own property order›Reflect.ownKeys, string key order": true,
+ "misc›own property order›Reflect.ownKeys, symbol key order": true,
+ "misc›Updated identifier syntax›var ⸯ;": true,
+ "misc›Updated identifier syntax›var 𐋀;": true,
+ "misc›Updated identifier syntax›no escaped reserved words as identifiers": true,
+ "misc›miscellaneous›duplicate property names in strict mode": true,
+ "misc›miscellaneous›no semicolon needed after do-while": true,
+ "misc›miscellaneous›no assignments allowed in for-in head in strict mode": true,
+ "misc›miscellaneous›accessors aren't constructors": true,
+ "misc›miscellaneous›Invalid Date": true,
+ "misc›miscellaneous›RegExp constructor can alter flags": true,
+ "misc›miscellaneous›RegExp.prototype.toString generic and uses \"flags\" property": true,
+ "misc›miscellaneous›built-in prototypes are not instances": true,
+ "misc›miscellaneous›function 'length' is configurable": true,
+ "annex b›non-strict function semantics›hoisted block-level function declaration": true,
+ "annex b›non-strict function semantics›labeled function statements": true,
+ "annex b›non-strict function semantics›function statements in if-statement clauses": true,
+ "annex b›__proto__ in object literals›basic support": true,
+ "annex b›__proto__ in object literals›multiple __proto__ is an error": true,
+ "annex b›__proto__ in object literals›not a computed property": true,
+ "annex b›__proto__ in object literals›not a shorthand property": true,
+ "annex b›__proto__ in object literals›not a shorthand method": true,
+ "annex b›Object.prototype.__proto__›get prototype": true,
+ "annex b›Object.prototype.__proto__›set prototype": true,
+ "annex b›Object.prototype.__proto__›absent from Object.create(null)": true,
+ "annex b›Object.prototype.__proto__›present in hasOwnProperty()": true,
+ "annex b›Object.prototype.__proto__›correct property descriptor": true,
+ "annex b›Object.prototype.__proto__›present in Object.getOwnPropertyNames()": true,
+ "annex b›String.prototype HTML methods›existence": true,
+ "annex b›String.prototype HTML methods›tags' names are lowercase": true,
+ "annex b›String.prototype HTML methods›quotes in arguments are escaped": true,
+ "annex b›RegExp.prototype.compile›basic functionality": true,
+ "annex b›RegExp.prototype.compile›returns this": true,
+ "annex b›RegExp syntax extensions›hyphens in character sets": true,
+ "annex b›RegExp syntax extensions›invalid character escapes": true,
+ "annex b›RegExp syntax extensions›invalid control-character escapes": true,
+ "annex b›RegExp syntax extensions›invalid Unicode escapes": true,
+ "annex b›RegExp syntax extensions›invalid hexadecimal escapes": true,
+ "annex b›RegExp syntax extensions›incomplete patterns and quantifiers": true,
+ "annex b›RegExp syntax extensions›octal escape sequences": true,
+ "annex b›RegExp syntax extensions›invalid backreferences become octal escapes": true,
+ "annex b›HTML-style comments": true
+ }
+}
\ No newline at end of file
diff --git a/v8.versions b/v8.versions
index b084ed439..34dfe4508 100644
--- a/v8.versions
+++ b/v8.versions
@@ -69,6 +69,7 @@ v19.2.0
v19.1.0
v19.0.1
v19.0.0
+v18.20.5
v18.20.4
v18.20.3
v18.20.2
|