jscrewit 2.37.0 → 2.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/jscrewit.js CHANGED
@@ -1,4 +1,4 @@
1
- // JScrewIt 2.37.0 – https://jscrew.it
1
+ // JScrewIt 2.38.0 – https://jscrew.it
2
2
 
3
3
  (function () {
4
4
  'use strict';
@@ -281,36 +281,35 @@
281
281
  // ~feature-hub – https://github.com/fasttime/JScrewIt/tree/master/packages/~feature-hub
282
282
 
283
283
 
284
- var BIN_POW_31 = 2147483648;
285
- var BIN_POW_32 = 4294967296;
286
- var BIN_POW_51 = 2251799813685248;
287
- var BIT_MASK_31 = 2147483647;
288
- var EMPTY_MASK = 0;
284
+ var LO_INDEX = 0;
285
+ var HI_INDEX = 1;
286
+ var freezeMask = function (_LoHi) { return Object.freeze(_LoHi); };
287
+ /** An empty mask. */
288
+ var MASK_EMPTY = freezeMask([0, 0]);
289
289
  /** Determines whether two specified masks are equal. */
290
290
  function maskAreEqual(mask1, mask2) {
291
- return mask1 === mask2;
291
+ var _LoHi1 = mask1;
292
+ var _LoHi2 = mask2;
293
+ return _LoHi1[LO_INDEX] === _LoHi2[LO_INDEX] && _LoHi1[HI_INDEX] === _LoHi2[HI_INDEX];
292
294
  }
293
295
  /** Determines whether a specified mask includes another one. */
294
296
  function maskIncludes(includingMask, includedMask) {
297
+ var includingLoHi = includingMask;
298
+ var includedLoHi = includedMask;
295
299
  var includedLoValue;
296
300
  var includedHiValue;
297
- var returnValue = (includingMask &
298
- (includedLoValue = includedMask | 0)) ===
299
- includedLoValue &&
300
- (includingMask / BIN_POW_32 &
301
- (includedHiValue = includedMask / BIN_POW_32 | 0)) ===
302
- includedHiValue;
301
+ var returnValue = (includedLoValue = includedLoHi[LO_INDEX]) === (includedLoValue & includingLoHi[LO_INDEX]) &&
302
+ (includedHiValue = includedLoHi[HI_INDEX]) === (includedHiValue & includingLoHi[HI_INDEX]);
303
303
  return returnValue;
304
304
  }
305
305
  /** Returns a new mask that is the intersection of two specified masks. */
306
306
  function maskIntersection(mask1, mask2) {
307
- var intersectionMask = ((mask1 & mask2 & BIT_MASK_31) +
308
- (mask1 / BIN_POW_31 & mask2 / BIN_POW_31) * BIN_POW_31);
309
- return intersectionMask;
310
- }
311
- /** Returns a new empty mask. */
312
- function maskNew() {
313
- return EMPTY_MASK;
307
+ var _LoHi1 = mask1;
308
+ var _LoHi2 = mask2;
309
+ var intersectionLo = _LoHi1[LO_INDEX] & _LoHi2[LO_INDEX];
310
+ var intersectionHi = _LoHi1[HI_INDEX] & _LoHi2[HI_INDEX];
311
+ var intersectionLoHi = [intersectionLo, intersectionHi];
312
+ return freezeMask(intersectionLoHi);
314
313
  }
315
314
  /**
316
315
  * Returns a new non-empty mask that does not intersect the specified mask.
@@ -318,18 +317,24 @@
318
317
  * @throws If the specified mask is full, a `RangeError` is thrown.
319
318
  */
320
319
  function maskNext(mask) {
321
- var nextValue = 1;
322
- for (var checkValue = mask; checkValue & 1; checkValue /= 2)
323
- nextValue *= 2;
324
- if (nextValue > BIN_POW_51)
325
- throw RangeError('Mask full');
326
- return nextValue;
320
+ var _LoHi = mask;
321
+ var bitIndex = 0;
322
+ for (; _LoHi[bitIndex >> 5] & 1 << (bitIndex & 0x1F); bitIndex++) {
323
+ if (bitIndex === 63)
324
+ throw RangeError('Mask full');
325
+ }
326
+ var nextLoHi = [0, 0];
327
+ nextLoHi[bitIndex >> 5] = 1 << (bitIndex & 0x1F);
328
+ return freezeMask(nextLoHi);
327
329
  }
328
330
  /** Returns a new mask that is the union of two specified masks. */
329
331
  function maskUnion(mask1, mask2) {
330
- var unionMask = (((mask1 | mask2) & BIT_MASK_31) +
331
- (mask1 / BIN_POW_31 | mask2 / BIN_POW_31) * BIN_POW_31);
332
- return unionMask;
332
+ var _LoHi1 = mask1;
333
+ var _LoHi2 = mask2;
334
+ var unionLo = _LoHi1[LO_INDEX] | _LoHi2[LO_INDEX];
335
+ var unionHi = _LoHi1[HI_INDEX] | _LoHi2[HI_INDEX];
336
+ var unionLoHi = [unionLo, unionHi];
337
+ return freezeMask(unionLoHi);
333
338
  }
334
339
 
335
340
  var keyFor = function (mask) { return "_".concat(mask); };
@@ -430,7 +435,7 @@
430
435
  for (var _i = 0; _i < arguments.length; _i++) {
431
436
  features[_i] = arguments[_i];
432
437
  }
433
- var mask = maskNew();
438
+ var mask = MASK_EMPTY;
434
439
  for (var _a = 0, features_1 = features; _a < features_1.length; _a++) {
435
440
  var feature = features_1[_a];
436
441
  var otherMask = validMaskFromArrayOrStringOrFeature(feature);
@@ -444,7 +449,7 @@
444
449
  }
445
450
  function _fromMask(mask) {
446
451
  if (isMaskCompatible(mask)) {
447
- var includedMask = maskNew();
452
+ var includedMask = MASK_EMPTY;
448
453
  for (var _i = 0, ELEMENTARY_1 = ELEMENTARY; _i < ELEMENTARY_1.length; _i++) {
449
454
  var featureMask = ELEMENTARY_1[_i].mask;
450
455
  if (maskIncludes(mask, featureMask))
@@ -458,7 +463,7 @@
458
463
  return null;
459
464
  }
460
465
  function _getMask(feature) {
461
- var mask = feature !== undefined ? validMaskFromArrayOrStringOrFeature(feature) : maskNew();
466
+ var mask = feature !== undefined ? validMaskFromArrayOrStringOrFeature(feature) : MASK_EMPTY;
462
467
  return mask;
463
468
  }
464
469
  function areCompatible() {
@@ -528,7 +533,7 @@
528
533
  return description;
529
534
  }
530
535
  function featureArrayLikeToMask(features) {
531
- var mask = maskNew();
536
+ var mask = MASK_EMPTY;
532
537
  var length = features.length;
533
538
  for (var index = 0; index < length; ++index) {
534
539
  var feature = features[index];
@@ -608,11 +613,9 @@
608
613
  }
609
614
  var utilInspect;
610
615
  try {
611
- /* eslint-disable
612
- @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires */
616
+ /* eslint-disable @typescript-eslint/no-require-imports */
613
617
  utilInspect = require('util').inspect;
614
- /* eslint-enable
615
- @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires */
618
+ /* eslint-enable @typescript-eslint/no-require-imports */
616
619
  }
617
620
  catch (_a) { }
618
621
  {
@@ -620,7 +623,7 @@
620
623
  get canonicalNames() {
621
624
  var mask = this.mask;
622
625
  var names = [];
623
- var includedMask = maskNew();
626
+ var includedMask = MASK_EMPTY;
624
627
  for (var index = PRISTINE_ELEMENTARY.length; index--;) {
625
628
  var featureObj = PRISTINE_ELEMENTARY[index];
626
629
  var featureMask = featureObj.mask;
@@ -723,7 +726,7 @@
723
726
  wrappedCheck = wrapCheck(check);
724
727
  }
725
728
  else {
726
- mask = maskNew();
729
+ mask = MASK_EMPTY;
727
730
  wrappedCheck = null;
728
731
  }
729
732
  {
@@ -845,7 +848,7 @@
845
848
  var featureNames = _Object_keys(featureInfos);
846
849
  var includeSetMap = createMap();
847
850
  var familiesMap = createMap();
848
- var unionMask = maskNew();
851
+ var unionMask = MASK_EMPTY;
849
852
  featureNames.forEach(completeFeature);
850
853
  completeExclusions();
851
854
  PRISTINE_ELEMENTARY = ELEMENTARY.slice();
@@ -868,7 +871,7 @@
868
871
  return str;
869
872
  }
870
873
  function featuresToMask(featureObjs) {
871
- var mask = featureObjs.reduce(function (mask, featureObj) { return maskUnion(mask, featureObj.mask); }, maskNew());
874
+ var mask = featureObjs.reduce(function (mask, featureObj) { return maskUnion(mask, featureObj.mask); }, MASK_EMPTY);
872
875
  return mask;
873
876
  }
874
877
  function indent(text) {
@@ -919,21 +922,6 @@
919
922
  return returnValue;
920
923
  }
921
924
 
922
- function checkSelfFeature()
923
- {
924
- // self + '' throws an error inside a web worker in Safari 8 and 9.
925
- try
926
- {
927
- var str = self + '';
928
- }
929
- catch (error)
930
- {
931
- return false;
932
- }
933
- var available = this(str);
934
- return available;
935
- }
936
-
937
925
  function describeEngine(engine)
938
926
  {
939
927
  var description = 'Features available in ' + engine + '.';
@@ -959,6 +947,26 @@
959
947
  return returnValue;
960
948
  }
961
949
 
950
+ function makeSelfFeatureCheck(regExp)
951
+ {
952
+ function check()
953
+ {
954
+ // self + '' throws an error inside a web worker in Safari 8 and 9.
955
+ try
956
+ {
957
+ var str = self + '';
958
+ }
959
+ catch (error)
960
+ {
961
+ return false;
962
+ }
963
+ var available = regExp.test(str);
964
+ return available;
965
+ }
966
+
967
+ return check;
968
+ }
969
+
962
970
  function restrict(environment, engineFeatureObjs)
963
971
  {
964
972
  var restrictionCache = createEmpty();
@@ -1010,15 +1018,7 @@
1010
1018
  description:
1011
1019
  'Existence of the global object self whose string representation starts with "[object " ' +
1012
1020
  'and ends with "Window]".',
1013
- check:
1014
- checkSelfFeature.bind
1015
- (
1016
- function (str)
1017
- {
1018
- var available = /^\[object [\S\s]*Window]$/.test(str);
1019
- return available;
1020
- }
1021
- ),
1021
+ check: makeSelfFeatureCheck(/^\[object [\S\s]*Window]$/),
1022
1022
  includes: ['SELF_OBJ'],
1023
1023
  attributes: { 'web-worker': 'web-worker-restriction' },
1024
1024
  },
@@ -1035,6 +1035,21 @@
1035
1035
  return available;
1036
1036
  },
1037
1037
  },
1038
+ ASYNC_FUNCTION:
1039
+ {
1040
+ description: 'Support for async functions, which return Promise object.',
1041
+ check:
1042
+ function ()
1043
+ {
1044
+ try
1045
+ {
1046
+ Function('return async function(){}');
1047
+ return true;
1048
+ }
1049
+ catch (error)
1050
+ { }
1051
+ },
1052
+ },
1038
1053
  ARROW:
1039
1054
  {
1040
1055
  description: 'Support for arrow functions.',
@@ -1084,6 +1099,23 @@
1084
1099
  },
1085
1100
  attributes: { 'web-worker': 'web-worker-restriction' },
1086
1101
  },
1102
+ CALL_ON_GLOBAL:
1103
+ {
1104
+ description:
1105
+ 'The ability to call a function on the global object when invoking ' +
1106
+ 'Function.prototype.call without binding.',
1107
+ check:
1108
+ function ()
1109
+ {
1110
+ try
1111
+ {
1112
+ if ([].concat.call()[0])
1113
+ return true;
1114
+ }
1115
+ catch (error)
1116
+ { }
1117
+ },
1118
+ },
1087
1119
  CAPITAL_HTML:
1088
1120
  {
1089
1121
  description:
@@ -1131,7 +1163,6 @@
1131
1163
  return available;
1132
1164
  },
1133
1165
  includes: ['ANY_DOCUMENT'],
1134
- excludes: ['HTMLDOCUMENT'],
1135
1166
  attributes: { 'web-worker': 'web-worker-restriction' },
1136
1167
  },
1137
1168
  DOMWINDOW:
@@ -1139,17 +1170,9 @@
1139
1170
  description:
1140
1171
  'Existence of the global object self having the string representation "[object ' +
1141
1172
  'DOMWindow]".',
1142
- check:
1143
- checkSelfFeature.bind
1144
- (
1145
- function (str)
1146
- {
1147
- var available = str === '[object DOMWindow]';
1148
- return available;
1149
- }
1150
- ),
1173
+ check: makeSelfFeatureCheck(/^\[object DOMWindow]$/),
1151
1174
  includes: ['ANY_WINDOW'],
1152
- excludes: ['WINDOW'],
1175
+ excludes: ['OBJECT_W_SELF'],
1153
1176
  attributes: { 'web-worker': 'web-worker-restriction' },
1154
1177
  },
1155
1178
  ESC_HTML_ALL:
@@ -1353,22 +1376,6 @@
1353
1376
  includes: ['NO_IE_SRC'],
1354
1377
  attributes: { 'web-worker': 'web-worker-restriction' },
1355
1378
  },
1356
- HTMLDOCUMENT:
1357
- {
1358
- description:
1359
- 'Existence of the global object document having the string representation "[object ' +
1360
- 'HTMLDocument]".',
1361
- check:
1362
- function ()
1363
- {
1364
- var available =
1365
- typeof document === 'object' && document + '' === '[object HTMLDocument]';
1366
- return available;
1367
- },
1368
- includes: ['ANY_DOCUMENT'],
1369
- excludes: ['DOCUMENT'],
1370
- attributes: { 'web-worker': 'web-worker-restriction' },
1371
- },
1372
1379
  IE_SRC:
1373
1380
  {
1374
1381
  description:
@@ -1402,6 +1409,26 @@
1402
1409
  return available;
1403
1410
  },
1404
1411
  },
1412
+ ITERATOR_HELPER:
1413
+ {
1414
+ description: 'Availability of iterator helpers.',
1415
+ check:
1416
+ function ()
1417
+ {
1418
+ var available = typeof Iterator === 'function';
1419
+ return available;
1420
+ },
1421
+ },
1422
+ JAPANESE_INFINITY:
1423
+ {
1424
+ description: 'Japanese string representation of Infinity ending with "∞".',
1425
+ check:
1426
+ function ()
1427
+ {
1428
+ var available = /∞$/.test(Infinity.toLocaleString('ja'));
1429
+ return available;
1430
+ },
1431
+ },
1405
1432
  LOCALE_INFINITY:
1406
1433
  {
1407
1434
  description: 'Language sensitive string representation of Infinity as "∞".',
@@ -1423,7 +1450,6 @@
1423
1450
  function ()
1424
1451
  {
1425
1452
  var available =
1426
- Number.prototype.toLocaleString &&
1427
1453
  checkLocaleNumeral('ar', NaN, /^ليس/) &&
1428
1454
  checkLocaleNumeral('ar-td', 234567890.1, /^٢٣٤٬?٥٦٧٬?٨٩٠٫١/) &&
1429
1455
  checkLocaleNumeral('fa', 1234567890, /^۱٬۲۳۴٬۵۶۷٬۸۹۰/);
@@ -1442,7 +1468,6 @@
1442
1468
  function ()
1443
1469
  {
1444
1470
  var available =
1445
- Number.prototype.toLocaleString &&
1446
1471
  checkLocaleNumeral('ar', NaN, /^ليس.رقم/) &&
1447
1472
  checkLocaleNumeral('ar-td', 234567890.1, /^٢٣٤٬?٥٦٧٬?٨٩٠٫١/) &&
1448
1473
  checkLocaleNumeral('bn', 1234567890, /^১,২৩,৪৫,৬৭,৮৯০/) &&
@@ -1468,6 +1493,18 @@
1468
1493
  return available;
1469
1494
  },
1470
1495
  },
1496
+ MOZILLA:
1497
+ {
1498
+ description:
1499
+ 'Existence of user agent string navigator.userAgent that starts with "Mozilla".',
1500
+ check:
1501
+ function ()
1502
+ {
1503
+ var available =
1504
+ typeof navigator === 'object' && /^Mozilla/.test(navigator.userAgent);
1505
+ return available;
1506
+ },
1507
+ },
1471
1508
  NAME:
1472
1509
  {
1473
1510
  description: 'Existence of the name property for functions.',
@@ -1589,18 +1626,15 @@
1589
1626
  },
1590
1627
  includes: ['UNDEFINED'],
1591
1628
  },
1592
- OBJECT_W_CTOR:
1629
+ OBJECT_W_SELF:
1593
1630
  {
1594
1631
  description:
1595
- 'The property that the string representation of the global object constructor starts ' +
1632
+ 'The property that the string representation of the global object self starts ' +
1596
1633
  'with "[object W".',
1597
- check:
1598
- function ()
1599
- {
1600
- var available = /^\[object W/.test(constructor);
1601
- return available;
1602
- },
1603
- attributes: { 'web-worker': 'old-safari-restriction' },
1634
+ check: makeSelfFeatureCheck(/^\[object W/),
1635
+ includes: ['SELF_OBJ'],
1636
+ excludes: ['DOMWINDOW'],
1637
+ attributes: { 'web-worker': 'non-ie-restriction' },
1604
1638
  },
1605
1639
  OLD_SAFARI_LOCATION_CTOR:
1606
1640
  {
@@ -1647,15 +1681,7 @@
1647
1681
  {
1648
1682
  description:
1649
1683
  'Existence of the global object self whose string representation starts with "[object ".',
1650
- check:
1651
- checkSelfFeature.bind
1652
- (
1653
- function (str)
1654
- {
1655
- var available = /^\[object /.test(str);
1656
- return available;
1657
- }
1658
- ),
1684
+ check: makeSelfFeatureCheck(/^\[object /),
1659
1685
  attributes: { 'web-worker': 'safari-bug-21820506' },
1660
1686
  },
1661
1687
  SHORT_LOCALES:
@@ -1713,17 +1739,8 @@
1713
1739
  {
1714
1740
  description:
1715
1741
  'Existence of the global object self having the string representation "[object Window]".',
1716
- check:
1717
- checkSelfFeature.bind
1718
- (
1719
- function (str)
1720
- {
1721
- var available = str === '[object Window]';
1722
- return available;
1723
- }
1724
- ),
1725
- includes: ['ANY_WINDOW'],
1726
- excludes: ['DOMWINDOW'],
1742
+ check: makeSelfFeatureCheck(/^\[object Window]$/),
1743
+ includes: ['ANY_WINDOW', 'OBJECT_W_SELF'],
1727
1744
  attributes: { 'web-worker': 'web-worker-restriction' },
1728
1745
  },
1729
1746
 
@@ -1737,7 +1754,7 @@
1737
1754
  description:
1738
1755
  'Features available in all browsers.\n' +
1739
1756
  'No support for Node.js.',
1740
- includes: ['ANY_DOCUMENT', 'ANY_WINDOW', 'HISTORY', 'INCR_CHAR', 'STATUS'],
1757
+ includes: ['ANY_DOCUMENT', 'ANY_WINDOW', 'HISTORY', 'INCR_CHAR', 'MOZILLA', 'STATUS'],
1741
1758
  attributes:
1742
1759
  {
1743
1760
  'char-increment-restriction': null,
@@ -1753,7 +1770,9 @@
1753
1770
  'Android Browser.',
1754
1771
  includes:
1755
1772
  [
1773
+ 'ANY_DOCUMENT',
1756
1774
  'ARROW',
1775
+ 'ASYNC_FUNCTION',
1757
1776
  'AT',
1758
1777
  'ATOB',
1759
1778
  'BARPROP',
@@ -1768,12 +1787,13 @@
1768
1787
  'GLOBAL_UNDEFINED',
1769
1788
  'GMT',
1770
1789
  'HISTORY',
1771
- 'HTMLDOCUMENT',
1772
1790
  'INCR_CHAR',
1773
1791
  'INTL',
1792
+ 'JAPANESE_INFINITY',
1774
1793
  'LOCALE_INFINITY',
1775
1794
  'LOCALE_NUMERALS_EXT',
1776
1795
  'LOCATION',
1796
+ 'MOZILLA',
1777
1797
  'NAME',
1778
1798
  'NO_IE_SRC',
1779
1799
  'NO_OLD_SAFARI_ARRAY_ITERATOR',
@@ -1781,7 +1801,12 @@
1781
1801
  'STATUS',
1782
1802
  'WINDOW',
1783
1803
  ],
1784
- attributes: { 'char-increment-restriction': null, 'web-worker-restriction': null },
1804
+ attributes:
1805
+ {
1806
+ 'char-increment-restriction': null,
1807
+ 'non-ie-restriction': null,
1808
+ 'web-worker-restriction': null,
1809
+ },
1785
1810
  },
1786
1811
  ANDRO_4_0:
1787
1812
  {
@@ -1789,16 +1814,18 @@
1789
1814
  versions: ['4.0'],
1790
1815
  includes:
1791
1816
  [
1817
+ 'ANY_DOCUMENT',
1792
1818
  'ATOB',
1819
+ 'CALL_ON_GLOBAL',
1793
1820
  'CONSOLE',
1794
1821
  'DOMWINDOW',
1795
1822
  'ESC_HTML_ALL',
1796
1823
  'FUNCTION_22_LF',
1797
1824
  'GMT',
1798
1825
  'HISTORY',
1799
- 'HTMLDOCUMENT',
1800
1826
  'INCR_CHAR',
1801
1827
  'LOCATION',
1828
+ 'MOZILLA',
1802
1829
  'NAME',
1803
1830
  'STATUS',
1804
1831
  'V8_SRC',
@@ -1808,7 +1835,7 @@
1808
1835
  {
1809
1836
  inherits: 'ANDRO_4_0',
1810
1837
  versions: [['4.1',, '4.3']],
1811
- includes: { GENERIC_ARRAY_TO_STRING: true, OBJECT_UNDEFINED: true },
1838
+ includes: { CALL_ON_GLOBAL: false, GENERIC_ARRAY_TO_STRING: true, OBJECT_UNDEFINED: true },
1812
1839
  },
1813
1840
  ANDRO_4_4:
1814
1841
  {
@@ -1819,13 +1846,19 @@
1819
1846
  BARPROP: true,
1820
1847
  DOMWINDOW: false,
1821
1848
  HTMLAUDIOELEMENT: true,
1849
+ JAPANESE_INFINITY: true,
1822
1850
  LOCALE_INFINITY: true,
1823
1851
  LOCALE_NUMERALS_EXT: true,
1824
1852
  PLAIN_INTL: true,
1825
1853
  SHORT_LOCALES: true,
1826
1854
  WINDOW: true,
1827
1855
  },
1828
- attributes: { 'no-console-in-web-worker': null, 'web-worker-restriction': null },
1856
+ attributes:
1857
+ {
1858
+ 'no-console-in-web-worker': null,
1859
+ 'non-ie-restriction': null,
1860
+ 'web-worker-restriction': null,
1861
+ },
1829
1862
  },
1830
1863
  CHROME_PREV:
1831
1864
  {
@@ -1843,7 +1876,9 @@
1843
1876
  versions: [['122'], ['122'], ['108']],
1844
1877
  includes:
1845
1878
  [
1879
+ 'ANY_DOCUMENT',
1846
1880
  'ARROW',
1881
+ 'ASYNC_FUNCTION',
1847
1882
  'AT',
1848
1883
  'ATOB',
1849
1884
  'BARPROP',
@@ -1858,12 +1893,14 @@
1858
1893
  'GLOBAL_UNDEFINED',
1859
1894
  'GMT',
1860
1895
  'HISTORY',
1861
- 'HTMLDOCUMENT',
1862
1896
  'INCR_CHAR',
1863
1897
  'INTL',
1898
+ 'ITERATOR_HELPER',
1899
+ 'JAPANESE_INFINITY',
1864
1900
  'LOCALE_INFINITY',
1865
1901
  'LOCALE_NUMERALS_EXT',
1866
1902
  'LOCATION',
1903
+ 'MOZILLA',
1867
1904
  'NAME',
1868
1905
  'NO_OLD_SAFARI_ARRAY_ITERATOR',
1869
1906
  'REGEXP_STRING_ITERATOR',
@@ -1872,7 +1909,12 @@
1872
1909
  'WINDOW',
1873
1910
  ],
1874
1911
  attributes:
1875
- { 'char-increment-restriction': null, 'unstable': null, 'web-worker-restriction': null },
1912
+ {
1913
+ 'char-increment-restriction': null,
1914
+ 'non-ie-restriction': null,
1915
+ 'unstable': null,
1916
+ 'web-worker-restriction': null,
1917
+ },
1876
1918
  },
1877
1919
  FF_ESR:
1878
1920
  {
@@ -1887,15 +1929,17 @@
1887
1929
  FF:
1888
1930
  {
1889
1931
  description: describeEngine('the current stable version of Firefox'),
1890
- aliasFor: 'FF_90',
1932
+ aliasFor: 'FF_131',
1891
1933
  },
1892
1934
  FF_90:
1893
1935
  {
1894
1936
  families: ['Firefox'],
1895
- versions: [['90']],
1937
+ versions: [['90',, '130']],
1896
1938
  includes:
1897
1939
  [
1940
+ 'ANY_DOCUMENT',
1898
1941
  'ARROW',
1942
+ 'ASYNC_FUNCTION',
1899
1943
  'AT',
1900
1944
  'ATOB',
1901
1945
  'BARPROP',
@@ -1911,12 +1955,13 @@
1911
1955
  'GLOBAL_UNDEFINED',
1912
1956
  'GMT',
1913
1957
  'HISTORY',
1914
- 'HTMLDOCUMENT',
1915
1958
  'INCR_CHAR',
1916
1959
  'INTL',
1960
+ 'JAPANESE_INFINITY',
1917
1961
  'LOCALE_INFINITY',
1918
1962
  'LOCALE_NUMERALS_EXT',
1919
1963
  'LOCATION',
1964
+ 'MOZILLA',
1920
1965
  'NAME',
1921
1966
  'NO_OLD_SAFARI_ARRAY_ITERATOR',
1922
1967
  'OBJECT_ARRAY_ENTRIES_CTOR',
@@ -1926,7 +1971,18 @@
1926
1971
  'WINDOW',
1927
1972
  ],
1928
1973
  attributes:
1929
- { 'char-increment-restriction': null, 'unstable': null, 'web-worker-restriction': null },
1974
+ {
1975
+ 'char-increment-restriction': null,
1976
+ 'non-ie-restriction': null,
1977
+ 'unstable': null,
1978
+ 'web-worker-restriction': null,
1979
+ },
1980
+ },
1981
+ FF_131:
1982
+ {
1983
+ inherits: 'FF_90',
1984
+ versions: [['131']],
1985
+ includes: { ITERATOR_HELPER: true, OBJECT_ARRAY_ENTRIES_CTOR: false },
1930
1986
  },
1931
1987
  IE_9:
1932
1988
  {
@@ -1943,8 +1999,8 @@
1943
1999
  'HISTORY',
1944
2000
  'IE_SRC',
1945
2001
  'INCR_CHAR',
2002
+ 'MOZILLA',
1946
2003
  'OBJECT_L_LOCATION_CTOR',
1947
- 'OBJECT_W_CTOR',
1948
2004
  'STATUS',
1949
2005
  'UNDEFINED',
1950
2006
  'WINDOW',
@@ -1963,9 +2019,10 @@
1963
2019
  versions: ['11'],
1964
2020
  includes:
1965
2021
  {
2022
+ ANY_DOCUMENT: true,
1966
2023
  DOCUMENT: false,
1967
2024
  GMT: true,
1968
- HTMLDOCUMENT: true,
2025
+ JAPANESE_INFINITY: true,
1969
2026
  LOCALE_NUMERALS: true,
1970
2027
  PLAIN_INTL: true,
1971
2028
  SHORT_LOCALES: true,
@@ -2004,6 +2061,7 @@
2004
2061
  {
2005
2062
  ESC_HTML_ALL: false,
2006
2063
  ESC_HTML_QUOT_ONLY: true,
2064
+ JAPANESE_INFINITY: true,
2007
2065
  LOCALE_INFINITY: true,
2008
2066
  NO_OLD_SAFARI_ARRAY_ITERATOR: true,
2009
2067
  OBJECT_ARRAY_ENTRIES_CTOR: true,
@@ -2019,12 +2077,18 @@
2019
2077
  NODE_5:
2020
2078
  {
2021
2079
  inherits: 'NODE_4',
2022
- versions: [['5',, '9']],
2080
+ versions: [['5',, '7.5']],
2023
2081
  attributes: { 'char-increment-restriction': null },
2024
2082
  },
2025
- NODE_10:
2083
+ NODE_7_6:
2026
2084
  {
2027
2085
  inherits: 'NODE_5',
2086
+ versions: [['7.6',, '9']],
2087
+ includes: { ASYNC_FUNCTION: true },
2088
+ },
2089
+ NODE_10:
2090
+ {
2091
+ inherits: 'NODE_7_6',
2028
2092
  versions: ['10'],
2029
2093
  includes: { FUNCTION_19_LF: true, FUNCTION_22_LF: false },
2030
2094
  },
@@ -2068,7 +2132,7 @@
2068
2132
  {
2069
2133
  inherits: 'NODE_16_6',
2070
2134
  versions: [['22']],
2071
- includes: { OBJECT_ARRAY_ENTRIES_CTOR: false },
2135
+ includes: { ITERATOR_HELPER: true, OBJECT_ARRAY_ENTRIES_CTOR: false },
2072
2136
  },
2073
2137
  SAFARI_7_0:
2074
2138
  {
@@ -2076,6 +2140,7 @@
2076
2140
  versions: ['7.0'],
2077
2141
  includes:
2078
2142
  [
2143
+ 'ANY_DOCUMENT',
2079
2144
  'ATOB',
2080
2145
  'BARPROP',
2081
2146
  'CONSOLE',
@@ -2087,13 +2152,12 @@
2087
2152
  'GLOBAL_UNDEFINED',
2088
2153
  'GMT',
2089
2154
  'HISTORY',
2090
- 'HTMLDOCUMENT',
2091
2155
  'INCR_CHAR',
2092
2156
  'LOCATION',
2157
+ 'MOZILLA',
2093
2158
  'NAME',
2094
2159
  'NODECONSTRUCTOR',
2095
2160
  'OBJECT_L_LOCATION_CTOR',
2096
- 'OBJECT_W_CTOR',
2097
2161
  'OLD_SAFARI_LOCATION_CTOR',
2098
2162
  'STATUS',
2099
2163
  'WINDOW',
@@ -2102,6 +2166,7 @@
2102
2166
  {
2103
2167
  'char-increment-restriction': null,
2104
2168
  'no-console-in-web-worker': null,
2169
+ 'non-ie-restriction': null,
2105
2170
  'old-safari-restriction': null,
2106
2171
  'web-worker-restriction': null,
2107
2172
  },
@@ -2126,27 +2191,33 @@
2126
2191
  OBJECT_ARRAY_ENTRIES_CTOR: true,
2127
2192
  },
2128
2193
  },
2129
- SAFARI_10:
2194
+ SAFARI_10_0:
2130
2195
  {
2131
2196
  inherits: 'SAFARI_9',
2132
- versions: [['10', '11']],
2197
+ versions: ['10.0'],
2133
2198
  includes:
2134
2199
  {
2135
2200
  ARROW: true,
2201
+ JAPANESE_INFINITY: true,
2136
2202
  LOCALE_INFINITY: true,
2137
2203
  LOCALE_NUMERALS_EXT: true,
2138
2204
  NODECONSTRUCTOR: false,
2139
2205
  OBJECT_L_LOCATION_CTOR: false,
2140
- OBJECT_W_CTOR: false,
2141
2206
  OLD_SAFARI_LOCATION_CTOR: false,
2142
2207
  PLAIN_INTL: true,
2143
2208
  SHORT_LOCALES: true,
2144
2209
  },
2145
2210
  attributes: { 'old-safari-restriction': undefined, 'safari-bug-21820506': undefined },
2146
2211
  },
2212
+ SAFARI_10_1:
2213
+ {
2214
+ inherits: 'SAFARI_10_0',
2215
+ versions: [['10.1', '11']],
2216
+ includes: { ASYNC_FUNCTION: true },
2217
+ },
2147
2218
  SAFARI_12:
2148
2219
  {
2149
- inherits: 'SAFARI_10',
2220
+ inherits: 'SAFARI_10_1',
2150
2221
  versions: ['12'],
2151
2222
  includes: { FLAT: true },
2152
2223
  },
@@ -2174,16 +2245,22 @@
2174
2245
  versions: [['15.4',, '17.3']],
2175
2246
  includes: { AT: true },
2176
2247
  },
2248
+ SAFARI_17_4:
2249
+ {
2250
+ inherits: 'SAFARI_15_4',
2251
+ versions: [['17.4',, '17.6']],
2252
+ includes: { FUNCTION_19_LF: true, FUNCTION_22_LF: false },
2253
+ },
2177
2254
  SAFARI:
2178
2255
  {
2179
2256
  description: describeEngine('the current stable version of Safari'),
2180
- aliasFor: 'SAFARI_17_4',
2257
+ aliasFor: 'SAFARI_18',
2181
2258
  },
2182
- SAFARI_17_4:
2259
+ SAFARI_18:
2183
2260
  {
2184
- inherits: 'SAFARI_15_4',
2185
- versions: [['17.4']],
2186
- includes: { FUNCTION_19_LF: true, FUNCTION_22_LF: false },
2261
+ inherits: 'SAFARI_17_4',
2262
+ versions: [['18']],
2263
+ includes: { SHORT_LOCALES: false },
2187
2264
  },
2188
2265
  };
2189
2266
  (function ()
@@ -3101,9 +3178,11 @@
3101
3178
  var ANY_WINDOW = Feature.ANY_WINDOW;
3102
3179
  var ARRAY_ITERATOR = Feature.ARRAY_ITERATOR;
3103
3180
  var ARROW = Feature.ARROW;
3181
+ var ASYNC_FUNCTION = Feature.ASYNC_FUNCTION;
3104
3182
  var AT = Feature.AT;
3105
3183
  var ATOB = Feature.ATOB;
3106
3184
  var BARPROP = Feature.BARPROP;
3185
+ var CALL_ON_GLOBAL = Feature.CALL_ON_GLOBAL;
3107
3186
  var CAPITAL_HTML = Feature.CAPITAL_HTML;
3108
3187
  var CONSOLE = Feature.CONSOLE;
3109
3188
  var DOCUMENT = Feature.DOCUMENT;
@@ -3124,14 +3203,16 @@
3124
3203
  var GMT = Feature.GMT;
3125
3204
  var HISTORY = Feature.HISTORY;
3126
3205
  var HTMLAUDIOELEMENT = Feature.HTMLAUDIOELEMENT;
3127
- var HTMLDOCUMENT = Feature.HTMLDOCUMENT;
3128
3206
  var IE_SRC = Feature.IE_SRC;
3129
3207
  var INCR_CHAR = Feature.INCR_CHAR;
3130
3208
  var INTL = Feature.INTL;
3209
+ var ITERATOR_HELPER = Feature.ITERATOR_HELPER;
3210
+ var JAPANESE_INFINITY = Feature.JAPANESE_INFINITY;
3131
3211
  var LOCALE_INFINITY = Feature.LOCALE_INFINITY;
3132
3212
  var LOCALE_NUMERALS = Feature.LOCALE_NUMERALS;
3133
3213
  var LOCALE_NUMERALS_EXT = Feature.LOCALE_NUMERALS_EXT;
3134
3214
  var LOCATION = Feature.LOCATION;
3215
+ var MOZILLA = Feature.MOZILLA;
3135
3216
  var NAME = Feature.NAME;
3136
3217
  var NODECONSTRUCTOR = Feature.NODECONSTRUCTOR;
3137
3218
  var NO_FF_SRC = Feature.NO_FF_SRC;
@@ -3141,7 +3222,7 @@
3141
3222
  var OBJECT_ARRAY_ENTRIES_CTOR = Feature.OBJECT_ARRAY_ENTRIES_CTOR;
3142
3223
  var OBJECT_L_LOCATION_CTOR = Feature.OBJECT_L_LOCATION_CTOR;
3143
3224
  var OBJECT_UNDEFINED = Feature.OBJECT_UNDEFINED;
3144
- var OBJECT_W_CTOR = Feature.OBJECT_W_CTOR;
3225
+ var OBJECT_W_SELF = Feature.OBJECT_W_SELF;
3145
3226
  var OLD_SAFARI_LOCATION_CTOR = Feature.OLD_SAFARI_LOCATION_CTOR;
3146
3227
  var PLAIN_INTL = Feature.PLAIN_INTL;
3147
3228
  var REGEXP_STRING_ITERATOR = Feature.REGEXP_STRING_ITERATOR;
@@ -3323,12 +3404,29 @@
3323
3404
 
3324
3405
  BASE64_ALPHABET_HI_4 =
3325
3406
  [
3326
- [define('A'), define('C', CAPITAL_HTML), define('A', ARRAY_ITERATOR)],
3327
- 'F',
3407
+ [
3408
+ define('A'),
3409
+ define('D', CALL_ON_GLOBAL, DOMWINDOW),
3410
+ define('C', CAPITAL_HTML),
3411
+ define('A', ARRAY_ITERATOR, CAPITAL_HTML),
3412
+ define('A', ARRAY_ITERATOR, CALL_ON_GLOBAL, DOMWINDOW),
3413
+ ],
3414
+ [
3415
+ define('F'),
3416
+ define('H', ITERATOR_HELPER),
3417
+ define('F', AT, CAPITAL_HTML, IE_SRC),
3418
+ define('F', AT, CAPITAL_HTML, NO_IE_SRC),
3419
+ ],
3328
3420
  'Infinity',
3329
3421
  'NaNfalse',
3330
3422
  [define('S'), define('R', CAPITAL_HTML), define('S', ARRAY_ITERATOR)],
3331
- [define('W'), define('U', CAPITAL_HTML)],
3423
+ [
3424
+ define('W'),
3425
+ define('U', CAPITAL_HTML),
3426
+ define('W', CALL_ON_GLOBAL, DOMWINDOW),
3427
+ define('W', CALL_ON_GLOBAL, OBJECT_W_SELF),
3428
+ define('U', ARRAY_ITERATOR, CAPITAL_HTML),
3429
+ ],
3332
3430
  'a',
3333
3431
  'false',
3334
3432
  'i',
@@ -3613,7 +3711,6 @@
3613
3711
  ('escape((NaN + [+("10" + [(RP_6_S + FILL)[40]] + "000")] + FILL)[40])[2]', FILL),
3614
3712
  define // *
3615
3713
  ('escape((NaN + [+("10" + [(RP_6_S + FLAT)[40]] + "000")] + FLAT)[40])[2]', FLAT),
3616
- define('(RP_0_S + document)[12]', HTMLDOCUMENT),
3617
3714
  define('escape(ARRAY_ITERATOR)[30]', NO_OLD_SAFARI_ARRAY_ITERATOR),
3618
3715
  define('escape(FILTER)[50]', V8_SRC),
3619
3716
  define('(document + [RP_1_WA]).at("-10")', ANY_DOCUMENT, AT),
@@ -3651,7 +3748,8 @@
3651
3748
  define
3652
3749
  ({ expr: '(RP_3_WA + Function("return history")())[11]', optimize: true }, HISTORY),
3653
3750
  define('(RP_1_WA + Audio)[10]', HTMLAUDIOELEMENT),
3654
- define('(RP_3_WA + document)[11]', HTMLDOCUMENT),
3751
+ define('(RP_4_A + [].entries().filter(ANY_FUNCTION))[21]', ITERATOR_HELPER),
3752
+ define({ expr: '(RP_3_WA + self.history)[11]', optimize: true }, HISTORY, SELF_OBJ),
3655
3753
  ],
3656
3754
  'I': '"Infinity"[0]',
3657
3755
  'J':
@@ -3671,7 +3769,6 @@
3671
3769
  define('btoa(".")[0]', ATOB),
3672
3770
  define('(RP_3_WA + "".fontcolor())[11]', CAPITAL_HTML),
3673
3771
  define('(RP_0_S + Audio)[12]', HTMLAUDIOELEMENT),
3674
- define('(RP_0_S + document)[11]', HTMLDOCUMENT),
3675
3772
  define
3676
3773
  (
3677
3774
  {
@@ -3705,12 +3802,15 @@
3705
3802
  LOCATION
3706
3803
  ),
3707
3804
  define
3805
+ ('self[TO_STRING].call(location)[SLICE_OR_SUBSTR]("-10")[1]', LOCATION, SELF_OBJ),
3806
+ define
3708
3807
  (
3709
3808
  '([][TO_STRING].call(location) + RP_1_WA).at("-10")',
3710
3809
  AT,
3711
3810
  GENERIC_ARRAY_TO_STRING,
3712
3811
  LOCATION
3713
3812
  ),
3813
+ define('(self[TO_STRING].call(location) + RP_1_WA).at("-10")', AT, LOCATION, SELF_OBJ),
3714
3814
  ],
3715
3815
  'M':
3716
3816
  [
@@ -3720,7 +3820,7 @@
3720
3820
  define('(RP_0_S + self)[10]', DOMWINDOW),
3721
3821
  define('(RP_4_A + Date())[30]', GMT),
3722
3822
  define('(RP_0_S + Audio)[11]', HTMLAUDIOELEMENT),
3723
- define('(RP_0_S + document)[10]', HTMLDOCUMENT),
3823
+ define('USER_AGENT[0]', MOZILLA),
3724
3824
  ],
3725
3825
  'N': '"NaN"[0]',
3726
3826
  'O':
@@ -3735,10 +3835,12 @@
3735
3835
  'P':
3736
3836
  [
3737
3837
  define('String.fromCharCode("80")'),
3838
+ define('(RP_3_WA + Function("return async function(){}")()())[11]', ASYNC_FUNCTION),
3738
3839
  define('atob("01A")[1]', ATOB),
3739
3840
  define('btoa("".italics())[0]', ATOB),
3740
3841
  define('(RP_0_S + Function("return statusbar")())[11]', BARPROP),
3741
3842
  define('"0".sup()[10]', CAPITAL_HTML),
3843
+ define('(RP_0_S + self.statusbar)[11]', BARPROP, SELF_OBJ),
3742
3844
  defineCharDefault({ atob: false, charCode: false }),
3743
3845
  ],
3744
3846
  'Q':
@@ -3774,7 +3876,6 @@
3774
3876
  define('"".fontcolor([])[20]', CAPITAL_HTML),
3775
3877
  define('(RP_3_WA + Date())[30]', GMT),
3776
3878
  define('(RP_0_S + Audio)[10]', HTMLAUDIOELEMENT),
3777
- define('(RP_1_WA + document)[10]', HTMLDOCUMENT),
3778
3879
  defineCharDefault({ atob: false }),
3779
3880
  ],
3780
3881
  'U':
@@ -3814,8 +3915,7 @@
3814
3915
  define('(self + RP_4_A)[SLICE_OR_SUBSTR]("-11")[0]', ANY_WINDOW),
3815
3916
  define('btoa(undefined)[1]', ATOB),
3816
3917
  define('(RP_0_S + self)[11]', DOMWINDOW),
3817
- define('(RP_3_WA + Function("return constructor")())[11]', OBJECT_W_CTOR),
3818
- define('(RP_3_WA + self)[11]', WINDOW),
3918
+ define('(RP_3_WA + self)[11]', OBJECT_W_SELF),
3819
3919
  define('(self + RP_4_A).at("-11")', ANY_WINDOW, AT),
3820
3920
  defineCharDefault({ atob: false }),
3821
3921
  ],
@@ -3911,6 +4011,7 @@
3911
4011
  [
3912
4012
  define('211[TO_STRING]("31")[1]'),
3913
4013
  define('(RP_3_WA + btoa(undefined))[10]', ATOB),
4014
+ define('(RP_0_S + [].entries().filter(ANY_FUNCTION))[20]', ITERATOR_HELPER),
3914
4015
  ],
3915
4016
  'q':
3916
4017
  [
@@ -4043,6 +4144,8 @@
4043
4144
  '∞':
4044
4145
  [
4045
4146
  define('Infinity[TO_LOCALE_STRING]()', LOCALE_INFINITY),
4147
+ define('Infinity[TO_LOCALE_STRING]("ja")[SLICE_OR_SUBSTR]("-1")', JAPANESE_INFINITY),
4148
+ define('Infinity[TO_LOCALE_STRING]("ja").at("-1")', JAPANESE_INFINITY, AT),
4046
4149
  defineCharDefault(),
4047
4150
  ],
4048
4151
  });
@@ -4071,6 +4174,7 @@
4071
4174
  Audio:
4072
4175
  [
4073
4176
  define('Function("return Audio")()', HTMLAUDIOELEMENT),
4177
+ define('self.Audio', HTMLAUDIOELEMENT, SELF_OBJ),
4074
4178
  ],
4075
4179
  Boolean:
4076
4180
  [
@@ -4079,6 +4183,7 @@
4079
4183
  Date:
4080
4184
  [
4081
4185
  define('Function("return Date")()'),
4186
+ define('self.Date', SELF_OBJ),
4082
4187
  ],
4083
4188
  Function:
4084
4189
  [
@@ -4087,10 +4192,12 @@
4087
4192
  Intl:
4088
4193
  [
4089
4194
  define('Function("return Intl")()', INTL),
4195
+ define('self.Intl', INTL, SELF_OBJ),
4090
4196
  ],
4091
4197
  Node:
4092
4198
  [
4093
4199
  define('Function("return Node")()', NODECONSTRUCTOR),
4200
+ define('self.Node', NODECONSTRUCTOR, SELF_OBJ),
4094
4201
  ],
4095
4202
  Number:
4096
4203
  [
@@ -4113,30 +4220,37 @@
4113
4220
  atob:
4114
4221
  [
4115
4222
  define('Function("return atob")()', ATOB),
4223
+ define('self.atob', ATOB, SELF_OBJ),
4116
4224
  ],
4117
4225
  btoa:
4118
4226
  [
4119
4227
  define('Function("return btoa")()', ATOB),
4228
+ define('self.btoa', ATOB, SELF_OBJ),
4120
4229
  ],
4121
4230
  document:
4122
4231
  [
4123
4232
  define({ expr: 'Function("return document")()', optimize: true }, ANY_DOCUMENT),
4233
+ define({ expr: 'self.document', optimize: true }, ANY_DOCUMENT, SELF_OBJ),
4124
4234
  ],
4125
4235
  escape:
4126
4236
  [
4127
4237
  define({ expr: 'Function("return escape")()', optimize: true }),
4238
+ define({ expr: 'self.escape', optimize: true }, SELF_OBJ),
4128
4239
  ],
4129
4240
  location:
4130
4241
  [
4131
4242
  define('Function("return location")()', LOCATION),
4243
+ define('self.location', LOCATION, SELF_OBJ),
4132
4244
  ],
4133
4245
  self:
4134
4246
  [
4135
4247
  define('Function("return self")()', SELF_OBJ),
4248
+ define('[].concat.call()[0]', CALL_ON_GLOBAL, SELF_OBJ),
4136
4249
  ],
4137
4250
  unescape:
4138
4251
  [
4139
4252
  define({ expr: 'Function("return unescape")()', optimize: true }),
4253
+ define({ expr: 'self.unescape', optimize: true }, SELF_OBJ),
4140
4254
  ],
4141
4255
 
4142
4256
  // Custom definitions
@@ -4285,6 +4399,8 @@
4285
4399
  [
4286
4400
  define('Function("return location")().constructor', OBJECT_L_LOCATION_CTOR),
4287
4401
  define('Function("return location")().constructor', OLD_SAFARI_LOCATION_CTOR),
4402
+ define('self.location.constructor', OBJECT_L_LOCATION_CTOR, SELF_OBJ),
4403
+ define('self.location.constructor', OLD_SAFARI_LOCATION_CTOR, SELF_OBJ),
4288
4404
  ],
4289
4405
  PLAIN_OBJECT:
4290
4406
  [
@@ -4331,6 +4447,23 @@
4331
4447
  define
4332
4448
  ({ expr: '"toUpperCase"', optimize: true, solutionType: SolutionType.COMBINED_STRING }),
4333
4449
  ],
4450
+ USER_AGENT:
4451
+ [
4452
+ define
4453
+ (
4454
+ {
4455
+ expr: 'Function("return navigator")().userAgent',
4456
+ solutionType: SolutionType.STRING,
4457
+ },
4458
+ MOZILLA
4459
+ ),
4460
+ define
4461
+ (
4462
+ { expr: 'self.navigator.userAgent', solutionType: SolutionType.STRING },
4463
+ MOZILLA,
4464
+ SELF_OBJ
4465
+ ),
4466
+ ],
4334
4467
 
4335
4468
  // Function body extra padding blocks: prepended to a function to align the function's body
4336
4469
  // at the same position in different engines, assuming that the function header is aligned.
@@ -4555,10 +4688,558 @@
4555
4688
  [define('fromCharCode'), define('fromCodePoint', FROM_CODE_POINT)],
4556
4689
  [
4557
4690
  define(0),
4691
+ define(1, ASYNC_FUNCTION),
4558
4692
  define(1, ATOB),
4559
- define(1, BARPROP),
4693
+ define
4694
+ (
4695
+ 0,
4696
+ ASYNC_FUNCTION,
4697
+ CALL_ON_GLOBAL,
4698
+ FROM_CODE_POINT,
4699
+ INCR_CHAR,
4700
+ NAME,
4701
+ NODECONSTRUCTOR,
4702
+ SELF_OBJ
4703
+ ),
4704
+ define(1, ASYNC_FUNCTION, NO_FF_SRC),
4705
+ define(1, ASYNC_FUNCTION, NO_V8_SRC),
4706
+ define(0, ARRAY_ITERATOR, ASYNC_FUNCTION, FROM_CODE_POINT, NAME),
4707
+ define(1, ARRAY_ITERATOR, ASYNC_FUNCTION, AT, NAME),
4708
+ define(1, ARRAY_ITERATOR, ASYNC_FUNCTION, FILL, NAME),
4709
+ define(1, ARRAY_ITERATOR, ASYNC_FUNCTION, FLAT, NAME),
4710
+ define(1, ARRAY_ITERATOR, ASYNC_FUNCTION, NAME, NO_IE_SRC),
4711
+ define(1, ARRAY_ITERATOR, ASYNC_FUNCTION, NAME, NO_V8_SRC),
4712
+ define(0, ARRAY_ITERATOR, ATOB, FROM_CODE_POINT, IE_SRC, ITERATOR_HELPER),
4713
+ define
4714
+ (
4715
+ 0,
4716
+ ASYNC_FUNCTION,
4717
+ AT,
4718
+ CALL_ON_GLOBAL,
4719
+ FROM_CODE_POINT,
4720
+ NAME,
4721
+ NODECONSTRUCTOR,
4722
+ SELF_OBJ
4723
+ ),
4724
+ define(1, ARRAY_ITERATOR, AT, ATOB, IE_SRC, ITERATOR_HELPER),
4725
+ define
4726
+ (
4727
+ 0,
4728
+ ASYNC_FUNCTION,
4729
+ CALL_ON_GLOBAL,
4730
+ FLAT,
4731
+ FROM_CODE_POINT,
4732
+ NAME,
4733
+ NODECONSTRUCTOR,
4734
+ SELF_OBJ
4735
+ ),
4736
+ define
4737
+ (1, ASYNC_FUNCTION, AT, CALL_ON_GLOBAL, NAME, NODECONSTRUCTOR, NO_FF_SRC, SELF_OBJ),
4738
+ define
4739
+ (1, ASYNC_FUNCTION, AT, CALL_ON_GLOBAL, NAME, NODECONSTRUCTOR, NO_V8_SRC, SELF_OBJ),
4740
+ define
4741
+ (1, ASYNC_FUNCTION, CALL_ON_GLOBAL, FLAT, NAME, NODECONSTRUCTOR, NO_FF_SRC, SELF_OBJ),
4742
+ define
4743
+ (1, ASYNC_FUNCTION, CALL_ON_GLOBAL, FLAT, NAME, NODECONSTRUCTOR, NO_V8_SRC, SELF_OBJ),
4744
+ define(0, ATOB, FROM_CODE_POINT, INTL, ITERATOR_HELPER),
4745
+ define(1, ATOB, FILL, INTL, ITERATOR_HELPER),
4746
+ define(1, ATOB, IE_SRC, INTL, ITERATOR_HELPER),
4747
+ define(1, ATOB, INTL, ITERATOR_HELPER, NO_IE_SRC),
4748
+ define
4749
+ (0, ASYNC_FUNCTION, CALL_ON_GLOBAL, FROM_CODE_POINT, IE_SRC, NODECONSTRUCTOR, SELF_OBJ),
4750
+ define(1, ASYNC_FUNCTION, AT, CALL_ON_GLOBAL, IE_SRC, NODECONSTRUCTOR, SELF_OBJ),
4751
+ define(1, ASYNC_FUNCTION, CALL_ON_GLOBAL, FILL, IE_SRC, NODECONSTRUCTOR, SELF_OBJ),
4752
+ define(1, ASYNC_FUNCTION, CALL_ON_GLOBAL, FLAT, IE_SRC, NODECONSTRUCTOR, SELF_OBJ),
4753
+ define(0, ARRAY_ITERATOR, ATOB, FROM_CODE_POINT, ITERATOR_HELPER, NO_IE_SRC),
4754
+ define
4755
+ (
4756
+ 0,
4757
+ ASYNC_FUNCTION,
4758
+ CALL_ON_GLOBAL,
4759
+ FLAT,
4760
+ FROM_CODE_POINT,
4761
+ IE_SRC,
4762
+ NAME,
4763
+ NODECONSTRUCTOR,
4764
+ SELF_OBJ
4765
+ ),
4766
+ define(1, ARRAY_ITERATOR, AT, ATOB, ITERATOR_HELPER, NO_IE_SRC),
4767
+ define
4768
+ (
4769
+ 0,
4770
+ ASYNC_FUNCTION,
4771
+ CALL_ON_GLOBAL,
4772
+ FILL,
4773
+ FROM_CODE_POINT,
4774
+ NAME,
4775
+ NODECONSTRUCTOR,
4776
+ SELF_OBJ
4777
+ ),
4778
+ define
4779
+ (1, ASYNC_FUNCTION, CALL_ON_GLOBAL, FILL, NAME, NODECONSTRUCTOR, NO_FF_SRC, SELF_OBJ),
4780
+ define
4781
+ (1, ASYNC_FUNCTION, CALL_ON_GLOBAL, FILL, NAME, NODECONSTRUCTOR, NO_V8_SRC, SELF_OBJ),
4782
+ define
4783
+ (
4784
+ 0,
4785
+ ASYNC_FUNCTION,
4786
+ CALL_ON_GLOBAL,
4787
+ FILL,
4788
+ FROM_CODE_POINT,
4789
+ IE_SRC,
4790
+ NAME,
4791
+ NODECONSTRUCTOR,
4792
+ SELF_OBJ
4793
+ ),
4794
+ define(1, AT, ATOB, INTL, ITERATOR_HELPER),
4795
+ define(0, ATOB, FROM_CODE_POINT, ITERATOR_HELPER, SELF_OBJ),
4796
+ define(1, ARRAY_ITERATOR, ATOB, ITERATOR_HELPER, SELF_OBJ),
4797
+ define(1, ATOB, FILL, ITERATOR_HELPER, SELF_OBJ),
4798
+ define(1, ATOB, FLAT, INTL, ITERATOR_HELPER),
4799
+ define(1, ATOB, FLAT, ITERATOR_HELPER, SELF_OBJ),
4800
+ define
4801
+ (
4802
+ 0,
4803
+ ARRAY_ITERATOR,
4804
+ ASYNC_FUNCTION,
4805
+ CALL_ON_GLOBAL,
4806
+ FROM_CODE_POINT,
4807
+ NODECONSTRUCTOR,
4808
+ SELF_OBJ
4809
+ ),
4810
+ define
4811
+ (1, ARRAY_ITERATOR, ASYNC_FUNCTION, AT, CALL_ON_GLOBAL, NODECONSTRUCTOR, SELF_OBJ),
4812
+ define
4813
+ (1, ARRAY_ITERATOR, ASYNC_FUNCTION, CALL_ON_GLOBAL, FLAT, NODECONSTRUCTOR, SELF_OBJ),
4814
+ define
4815
+ (
4816
+ 1,
4817
+ ARRAY_ITERATOR,
4818
+ ASYNC_FUNCTION,
4819
+ CALL_ON_GLOBAL,
4820
+ FILL,
4821
+ INCR_CHAR,
4822
+ NODECONSTRUCTOR,
4823
+ SELF_OBJ
4824
+ ),
4825
+ define
4826
+ (
4827
+ 1,
4828
+ ARRAY_ITERATOR,
4829
+ ASYNC_FUNCTION,
4830
+ CALL_ON_GLOBAL,
4831
+ FILL,
4832
+ NODECONSTRUCTOR,
4833
+ NO_FF_SRC,
4834
+ SELF_OBJ
4835
+ ),
4836
+ define
4837
+ (
4838
+ 0,
4839
+ ARRAY_ITERATOR,
4840
+ ASYNC_FUNCTION,
4841
+ CALL_ON_GLOBAL,
4842
+ FROM_CODE_POINT,
4843
+ NAME,
4844
+ NODECONSTRUCTOR,
4845
+ SELF_OBJ
4846
+ ),
4847
+ define
4848
+ (
4849
+ 1,
4850
+ ARRAY_ITERATOR,
4851
+ ASYNC_FUNCTION,
4852
+ CALL_ON_GLOBAL,
4853
+ FLAT,
4854
+ NAME,
4855
+ NODECONSTRUCTOR,
4856
+ NO_FF_SRC,
4857
+ SELF_OBJ
4858
+ ),
4859
+ define
4860
+ (
4861
+ 1,
4862
+ ARRAY_ITERATOR,
4863
+ ASYNC_FUNCTION,
4864
+ CALL_ON_GLOBAL,
4865
+ FLAT,
4866
+ NAME,
4867
+ NODECONSTRUCTOR,
4868
+ NO_V8_SRC,
4869
+ SELF_OBJ
4870
+ ),
4871
+ define
4872
+ (
4873
+ 0,
4874
+ ARRAY_ITERATOR,
4875
+ ASYNC_FUNCTION,
4876
+ CALL_ON_GLOBAL,
4877
+ FLAT,
4878
+ FROM_CODE_POINT,
4879
+ IE_SRC,
4880
+ NAME,
4881
+ NODECONSTRUCTOR,
4882
+ SELF_OBJ
4883
+ ),
4884
+ define
4885
+ (
4886
+ 1,
4887
+ ARRAY_ITERATOR,
4888
+ ASYNC_FUNCTION,
4889
+ CALL_ON_GLOBAL,
4890
+ FILL,
4891
+ NODECONSTRUCTOR,
4892
+ NO_V8_SRC,
4893
+ SELF_OBJ
4894
+ ),
4895
+ define
4896
+ (
4897
+ 0,
4898
+ ARRAY_ITERATOR,
4899
+ ASYNC_FUNCTION,
4900
+ CALL_ON_GLOBAL,
4901
+ FILL,
4902
+ FROM_CODE_POINT,
4903
+ IE_SRC,
4904
+ NAME,
4905
+ NODECONSTRUCTOR,
4906
+ SELF_OBJ
4907
+ ),
4908
+ define
4909
+ (
4910
+ 1,
4911
+ ARRAY_ITERATOR,
4912
+ ASYNC_FUNCTION,
4913
+ AT,
4914
+ CALL_ON_GLOBAL,
4915
+ NAME,
4916
+ NODECONSTRUCTOR,
4917
+ NO_FF_SRC,
4918
+ SELF_OBJ
4919
+ ),
4920
+ define
4921
+ (
4922
+ 1,
4923
+ ARRAY_ITERATOR,
4924
+ ASYNC_FUNCTION,
4925
+ AT,
4926
+ CALL_ON_GLOBAL,
4927
+ NAME,
4928
+ NODECONSTRUCTOR,
4929
+ NO_V8_SRC,
4930
+ SELF_OBJ
4931
+ ),
4932
+ define(0, ASYNC_FUNCTION, FROM_CODE_POINT, ITERATOR_HELPER),
4933
+ define(1, ASYNC_FUNCTION, FLAT, ITERATOR_HELPER),
4934
+ define(1, ASYNC_FUNCTION, ITERATOR_HELPER, NO_V8_SRC),
4935
+ define(0, ASYNC_FUNCTION, FROM_CODE_POINT, INTL, ITERATOR_HELPER),
4936
+ define(1, ASYNC_FUNCTION, IE_SRC, INTL, ITERATOR_HELPER),
4937
+ define(1, ASYNC_FUNCTION, FLAT, INTL, ITERATOR_HELPER, NO_V8_SRC),
4938
+ define(0, ASYNC_FUNCTION, FROM_CODE_POINT, ITERATOR_HELPER, NODECONSTRUCTOR, NO_V8_SRC),
4939
+ define(1, ASYNC_FUNCTION, FILL, ITERATOR_HELPER, NODECONSTRUCTOR, NO_V8_SRC),
4940
+ define
4941
+ (0, ASYNC_FUNCTION, FROM_CODE_POINT, INTL, ITERATOR_HELPER, NODECONSTRUCTOR, NO_V8_SRC),
4942
+ define(1, ASYNC_FUNCTION, IE_SRC, ITERATOR_HELPER, NODECONSTRUCTOR),
4943
+ define(1, ASYNC_FUNCTION, FLAT, ITERATOR_HELPER, NODECONSTRUCTOR, NO_V8_SRC),
4944
+ define(0, ASYNC_FUNCTION, FLAT, FROM_CODE_POINT, ITERATOR_HELPER, SELF_OBJ),
4945
+ define(0, ASYNC_FUNCTION, FROM_CODE_POINT, ITERATOR_HELPER, NO_V8_SRC, SELF_OBJ),
4946
+ define(1, ASYNC_FUNCTION, IE_SRC, ITERATOR_HELPER, SELF_OBJ),
4947
+ define(1, ASYNC_FUNCTION, FLAT, ITERATOR_HELPER, NO_V8_SRC, SELF_OBJ),
4948
+ define
4949
+ (
4950
+ 0,
4951
+ ASYNC_FUNCTION,
4952
+ CALL_ON_GLOBAL,
4953
+ FROM_CODE_POINT,
4954
+ ITERATOR_HELPER,
4955
+ NO_V8_SRC,
4956
+ SELF_OBJ
4957
+ ),
4958
+ define(1, ASYNC_FUNCTION, ITERATOR_HELPER, NO_IE_SRC),
4959
+ define(0, ASYNC_FUNCTION, FROM_CODE_POINT, INTL, ITERATOR_HELPER, NO_IE_SRC),
4960
+ define(0, ASYNC_FUNCTION, FROM_CODE_POINT, ITERATOR_HELPER, NO_IE_SRC, SELF_OBJ),
4961
+ define(1, ASYNC_FUNCTION, ITERATOR_HELPER, V8_SRC),
4962
+ define(1, ASYNC_FUNCTION, FF_SRC, INTL, ITERATOR_HELPER),
4963
+ define(1, ASYNC_FUNCTION, FILL, INTL, ITERATOR_HELPER, NO_IE_SRC),
4964
+ define(1, ASYNC_FUNCTION, FLAT, INTL, ITERATOR_HELPER, NO_IE_SRC),
4965
+ define
4966
+ (0, ASYNC_FUNCTION, FROM_CODE_POINT, ITERATOR_HELPER, NAME, NODECONSTRUCTOR, NO_IE_SRC),
4967
+ define(1, ASYNC_FUNCTION, FF_SRC, ITERATOR_HELPER, SELF_OBJ),
4968
+ define(1, ASYNC_FUNCTION, FILL, ITERATOR_HELPER, NO_IE_SRC, SELF_OBJ),
4969
+ define(1, ASYNC_FUNCTION, FLAT, ITERATOR_HELPER, NO_IE_SRC, SELF_OBJ),
4970
+ define(1, ASYNC_FUNCTION, ITERATOR_HELPER, NAME, NODECONSTRUCTOR, V8_SRC),
4971
+ define(1, ASYNC_FUNCTION, FILL, ITERATOR_HELPER, NAME, NODECONSTRUCTOR, NO_IE_SRC),
4972
+ define(0, ASYNC_FUNCTION, FLAT, FROM_CODE_POINT, ITERATOR_HELPER, NAME),
4973
+ define
4974
+ (0, ASYNC_FUNCTION, CALL_ON_GLOBAL, FF_SRC, FROM_CODE_POINT, ITERATOR_HELPER, SELF_OBJ),
4975
+ define
4976
+ (0, ASYNC_FUNCTION, CALL_ON_GLOBAL, FROM_CODE_POINT, ITERATOR_HELPER, SELF_OBJ, V8_SRC),
4977
+ define
4978
+ (
4979
+ 0,
4980
+ ASYNC_FUNCTION,
4981
+ CALL_ON_GLOBAL,
4982
+ FILL,
4983
+ FROM_CODE_POINT,
4984
+ ITERATOR_HELPER,
4985
+ NO_IE_SRC,
4986
+ SELF_OBJ
4987
+ ),
4988
+ define
4989
+ (
4990
+ 0,
4991
+ ASYNC_FUNCTION,
4992
+ CALL_ON_GLOBAL,
4993
+ FLAT,
4994
+ FROM_CODE_POINT,
4995
+ ITERATOR_HELPER,
4996
+ NO_IE_SRC,
4997
+ SELF_OBJ
4998
+ ),
4999
+ define(1, ASYNC_FUNCTION, FLAT, ITERATOR_HELPER, NAME, NO_IE_SRC),
5000
+ define(0, ATOB, FROM_CODE_POINT, ITERATOR_HELPER, NAME),
5001
+ define
5002
+ (
5003
+ 0,
5004
+ ASYNC_FUNCTION,
5005
+ CALL_ON_GLOBAL,
5006
+ FLAT,
5007
+ FROM_CODE_POINT,
5008
+ ITERATOR_HELPER,
5009
+ NAME,
5010
+ SELF_OBJ
5011
+ ),
5012
+ define(1, ATOB, ITERATOR_HELPER, NAME, NO_V8_SRC),
5013
+ define(0, ATOB, FROM_CODE_POINT, ITERATOR_HELPER, NAME, NODECONSTRUCTOR),
5014
+ define(1, ATOB, INCR_CHAR, ITERATOR_HELPER, NAME),
5015
+ define(0, ATOB, FROM_CODE_POINT, INCR_CHAR, INTL, ITERATOR_HELPER, NAME),
5016
+ define(0, ATOB, FROM_CODE_POINT, INCR_CHAR, ITERATOR_HELPER, NAME, NODECONSTRUCTOR),
5017
+ define(0, ATOB, FROM_CODE_POINT, INCR_CHAR, ITERATOR_HELPER, NAME, NO_FF_SRC),
5018
+ define(0, ATOB, FROM_CODE_POINT, INCR_CHAR, ITERATOR_HELPER, NAME, SELF_OBJ),
5019
+ define(0, ATOB, FROM_CODE_POINT, INTL, ITERATOR_HELPER, NAME, NO_V8_SRC),
5020
+ define(1, ATOB, FILL, ITERATOR_HELPER, NAME),
5021
+ define(1, ATOB, IE_SRC, INTL, ITERATOR_HELPER, NAME),
5022
+ define(0, ATOB, FILL, FROM_CODE_POINT, INTL, ITERATOR_HELPER, NAME),
5023
+ define(1, ATOB, FILL, IE_SRC, ITERATOR_HELPER, NAME),
5024
+ define(0, ARRAY_ITERATOR, ATOB, FROM_CODE_POINT, INCR_CHAR, ITERATOR_HELPER, NAME),
5025
+ define(0, ATOB, FILL, FROM_CODE_POINT, ITERATOR_HELPER, NAME, SELF_OBJ),
5026
+ define(0, ATOB, FROM_CODE_POINT, ITERATOR_HELPER, NAME, NO_V8_SRC, SELF_OBJ),
5027
+ define(1, ATOB, IE_SRC, ITERATOR_HELPER, NAME, NODECONSTRUCTOR),
5028
+ define(0, ARRAY_ITERATOR, ATOB, FROM_CODE_POINT, ITERATOR_HELPER, NAME, NO_V8_SRC),
5029
+ define(1, ATOB, FLAT, ITERATOR_HELPER, NAME),
5030
+ define(0, ARRAY_ITERATOR, ATOB, FILL, FROM_CODE_POINT, ITERATOR_HELPER),
5031
+ define(1, ARRAY_ITERATOR, ATOB, FILL, ITERATOR_HELPER, NO_V8_SRC),
5032
+ define(1, ARRAY_ITERATOR, ATOB, CALL_ON_GLOBAL, FILL, ITERATOR_HELPER, SELF_OBJ),
5033
+ define
5034
+ (0, ARRAY_ITERATOR, ATOB, FILL, FROM_CODE_POINT, ITERATOR_HELPER, NAME, NO_V8_SRC),
5035
+ define(1, ARRAY_ITERATOR, ATOB, FILL, IE_SRC, ITERATOR_HELPER),
5036
+ define
5037
+ (
5038
+ 0,
5039
+ ASYNC_FUNCTION,
5040
+ CALL_ON_GLOBAL,
5041
+ FROM_CODE_POINT,
5042
+ NODECONSTRUCTOR,
5043
+ NO_IE_SRC,
5044
+ SELF_OBJ
5045
+ ),
5046
+ define(1, ASYNC_FUNCTION, CALL_ON_GLOBAL, FF_SRC, FLAT, NODECONSTRUCTOR, SELF_OBJ),
5047
+ define(1, ASYNC_FUNCTION, CALL_ON_GLOBAL, FLAT, NODECONSTRUCTOR, SELF_OBJ, V8_SRC),
5048
+ define
5049
+ (
5050
+ 0,
5051
+ ASYNC_FUNCTION,
5052
+ CALL_ON_GLOBAL,
5053
+ FROM_CODE_POINT,
5054
+ ITERATOR_HELPER,
5055
+ NODECONSTRUCTOR,
5056
+ NO_IE_SRC,
5057
+ SELF_OBJ
5058
+ ),
5059
+ define
5060
+ (
5061
+ 0,
5062
+ ASYNC_FUNCTION,
5063
+ CALL_ON_GLOBAL,
5064
+ FROM_CODE_POINT,
5065
+ NAME,
5066
+ NODECONSTRUCTOR,
5067
+ NO_IE_SRC,
5068
+ SELF_OBJ
5069
+ ),
5070
+ define(1, ASYNC_FUNCTION, AT, CALL_ON_GLOBAL, FF_SRC, NODECONSTRUCTOR, SELF_OBJ),
5071
+ define(1, ASYNC_FUNCTION, AT, CALL_ON_GLOBAL, NODECONSTRUCTOR, SELF_OBJ, V8_SRC),
5072
+ define(0, ARRAY_ITERATOR, ASYNC_FUNCTION, FLAT, FROM_CODE_POINT, ITERATOR_HELPER),
5073
+ define(0, ATOB, CALL_ON_GLOBAL, FLAT, FROM_CODE_POINT, ITERATOR_HELPER, NAME, SELF_OBJ),
5074
+ define(1, ATOB, IE_SRC, ITERATOR_HELPER, SELF_OBJ),
5075
+ define(0, ARRAY_ITERATOR, ATOB, FROM_CODE_POINT, IE_SRC, ITERATOR_HELPER, SELF_OBJ),
5076
+ define(1, ASYNC_FUNCTION, AT, ITERATOR_HELPER),
5077
+ define(1, ARRAY_ITERATOR, AT, ATOB, FILL, ITERATOR_HELPER),
5078
+ define(1, ARRAY_ITERATOR, ATOB, FILL, ITERATOR_HELPER, NO_IE_SRC),
5079
+ define(1, ATOB, CALL_ON_GLOBAL, IE_SRC, ITERATOR_HELPER, SELF_OBJ),
5080
+ define(1, ATOB, FILL, IE_SRC, ITERATOR_HELPER, SELF_OBJ),
5081
+ define
5082
+ (0, ASYNC_FUNCTION, AT, CALL_ON_GLOBAL, FROM_CODE_POINT, ITERATOR_HELPER, SELF_OBJ),
5083
+ define(1, ASYNC_FUNCTION, AT, IE_SRC, ITERATOR_HELPER),
5084
+ define(1, ASYNC_FUNCTION, AT, ITERATOR_HELPER, NO_IE_SRC),
5085
+ define
5086
+ (
5087
+ 0,
5088
+ ASYNC_FUNCTION,
5089
+ AT,
5090
+ CALL_ON_GLOBAL,
5091
+ FROM_CODE_POINT,
5092
+ ITERATOR_HELPER,
5093
+ NODECONSTRUCTOR,
5094
+ NO_IE_SRC,
5095
+ SELF_OBJ
5096
+ ),
5097
+ define(1, ASYNC_FUNCTION, AT, CALL_ON_GLOBAL, FF_SRC, ITERATOR_HELPER, SELF_OBJ),
5098
+ define(1, ASYNC_FUNCTION, AT, CALL_ON_GLOBAL, ITERATOR_HELPER, SELF_OBJ, V8_SRC),
5099
+ define(0, ARRAY_ITERATOR, ASYNC_FUNCTION, FROM_CODE_POINT, ITERATOR_HELPER, NO_IE_SRC),
5100
+ define(0, ASYNC_FUNCTION, FROM_CODE_POINT, ITERATOR_HELPER, NAME, NO_V8_SRC),
5101
+ define(1, ASYNC_FUNCTION, FILL, INCR_CHAR, ITERATOR_HELPER, NAME, NO_V8_SRC),
5102
+ define(0, ASYNC_FUNCTION, FROM_CODE_POINT, INTL, ITERATOR_HELPER, NAME, NO_V8_SRC),
5103
+ define(1, ASYNC_FUNCTION, FLAT, ITERATOR_HELPER, NAME, NO_V8_SRC),
5104
+ define
5105
+ (0, ASYNC_FUNCTION, FLAT, FROM_CODE_POINT, INTL, ITERATOR_HELPER, NAME, NO_V8_SRC),
5106
+ define
5107
+ (
5108
+ 0,
5109
+ ASYNC_FUNCTION,
5110
+ FILL,
5111
+ FROM_CODE_POINT,
5112
+ INCR_CHAR,
5113
+ ITERATOR_HELPER,
5114
+ NAME,
5115
+ NODECONSTRUCTOR,
5116
+ NO_V8_SRC
5117
+ ),
5118
+ define
5119
+ (
5120
+ 0,
5121
+ ASYNC_FUNCTION,
5122
+ FILL,
5123
+ FROM_CODE_POINT,
5124
+ INCR_CHAR,
5125
+ ITERATOR_HELPER,
5126
+ NAME,
5127
+ NO_V8_SRC,
5128
+ SELF_OBJ
5129
+ ),
5130
+ define(1, ASYNC_FUNCTION, IE_SRC, ITERATOR_HELPER, NAME),
5131
+ define(1, ASYNC_FUNCTION, AT, ITERATOR_HELPER, NAME, NO_V8_SRC),
5132
+ define
5133
+ (
5134
+ 0,
5135
+ ASYNC_FUNCTION,
5136
+ CALL_ON_GLOBAL,
5137
+ FROM_CODE_POINT,
5138
+ IE_SRC,
5139
+ ITERATOR_HELPER,
5140
+ NAME,
5141
+ SELF_OBJ
5142
+ ),
5143
+ define(1, ASYNC_FUNCTION, FF_SRC, ITERATOR_HELPER, NAME),
5144
+ define
5145
+ (
5146
+ 0,
5147
+ ASYNC_FUNCTION,
5148
+ CALL_ON_GLOBAL,
5149
+ FF_SRC,
5150
+ FROM_CODE_POINT,
5151
+ ITERATOR_HELPER,
5152
+ NAME,
5153
+ SELF_OBJ
5154
+ ),
5155
+ define
5156
+ (0, ASYNC_FUNCTION, FLAT, FROM_CODE_POINT, ITERATOR_HELPER, NAME, NO_V8_SRC, SELF_OBJ),
5157
+ define(1, ASYNC_FUNCTION, FLAT, IE_SRC, ITERATOR_HELPER, NAME, SELF_OBJ),
5158
+ define(1, ASYNC_FUNCTION, AT, FLAT, ITERATOR_HELPER, NAME, NO_V8_SRC, SELF_OBJ),
5159
+ define
5160
+ (
5161
+ 0,
5162
+ ASYNC_FUNCTION,
5163
+ CALL_ON_GLOBAL,
5164
+ FLAT,
5165
+ FROM_CODE_POINT,
5166
+ IE_SRC,
5167
+ ITERATOR_HELPER,
5168
+ NAME,
5169
+ SELF_OBJ
5170
+ ),
5171
+ define(1, ASYNC_FUNCTION, FF_SRC, FLAT, ITERATOR_HELPER, NAME, SELF_OBJ),
5172
+ define
5173
+ (
5174
+ 0,
5175
+ ASYNC_FUNCTION,
5176
+ AT,
5177
+ CALL_ON_GLOBAL,
5178
+ FROM_CODE_POINT,
5179
+ ITERATOR_HELPER,
5180
+ NAME,
5181
+ NO_V8_SRC,
5182
+ SELF_OBJ
5183
+ ),
5184
+ define
5185
+ (
5186
+ 0,
5187
+ ASYNC_FUNCTION,
5188
+ CALL_ON_GLOBAL,
5189
+ FF_SRC,
5190
+ FLAT,
5191
+ FROM_CODE_POINT,
5192
+ ITERATOR_HELPER,
5193
+ NAME,
5194
+ SELF_OBJ
5195
+ ),
5196
+ define(1, ASYNC_FUNCTION, AT, CALL_ON_GLOBAL, FF_SRC, ITERATOR_HELPER, NAME, SELF_OBJ),
5197
+ define(1, ASYNC_FUNCTION, AT, CALL_ON_GLOBAL, IE_SRC, ITERATOR_HELPER, NAME, SELF_OBJ),
5198
+ define(0, ARRAY_ITERATOR, ATOB, FLAT, FROM_CODE_POINT, ITERATOR_HELPER),
5199
+ define(1, ARRAY_ITERATOR, ATOB, FLAT, ITERATOR_HELPER, NO_V8_SRC),
5200
+ define
5201
+ (1, ARRAY_ITERATOR, ATOB, CALL_ON_GLOBAL, FLAT, INCR_CHAR, ITERATOR_HELPER, SELF_OBJ),
5202
+ define
5203
+ (0, ARRAY_ITERATOR, ATOB, FLAT, FROM_CODE_POINT, ITERATOR_HELPER, NAME, NO_V8_SRC),
5204
+ define(1, ATOB, ITERATOR_HELPER, NO_IE_SRC, SELF_OBJ),
5205
+ define(1, ARRAY_ITERATOR, AT, ATOB, FLAT, ITERATOR_HELPER),
5206
+ define(1, ARRAY_ITERATOR, ATOB, FLAT, IE_SRC, ITERATOR_HELPER),
5207
+ define(0, ARRAY_ITERATOR, ATOB, FROM_CODE_POINT, ITERATOR_HELPER, NO_IE_SRC, SELF_OBJ),
5208
+ define(1, ARRAY_ITERATOR, ATOB, FLAT, ITERATOR_HELPER, NO_IE_SRC),
5209
+ define(1, ATOB, CALL_ON_GLOBAL, ITERATOR_HELPER, NO_IE_SRC, SELF_OBJ),
5210
+ define(1, ATOB, FILL, ITERATOR_HELPER, NO_IE_SRC, SELF_OBJ),
5211
+ define(0, ARRAY_ITERATOR, ASYNC_FUNCTION, AT, FROM_CODE_POINT, ITERATOR_HELPER),
5212
+ define(1, ATOB, ITERATOR_HELPER, NAME, NO_IE_SRC),
5213
+ define(0, ARRAY_ITERATOR, ATOB, FROM_CODE_POINT, ITERATOR_HELPER, NAME, NO_IE_SRC),
5214
+ define(1, ATOB, FILL, ITERATOR_HELPER, NAME, NO_IE_SRC),
5215
+ define(1, ATOB, FLAT, ITERATOR_HELPER, NAME, NO_IE_SRC),
5216
+ define(1, ARRAY_ITERATOR, ATOB, CALL_ON_GLOBAL, ITERATOR_HELPER, NAME, SELF_OBJ),
5217
+ define
5218
+ (
5219
+ 0,
5220
+ ARRAY_ITERATOR,
5221
+ ATOB,
5222
+ CALL_ON_GLOBAL,
5223
+ FLAT,
5224
+ FROM_CODE_POINT,
5225
+ ITERATOR_HELPER,
5226
+ NAME,
5227
+ SELF_OBJ
5228
+ ),
5229
+ define
5230
+ (1, ARRAY_ITERATOR, ATOB, CALL_ON_GLOBAL, IE_SRC, ITERATOR_HELPER, NAME, SELF_OBJ),
5231
+ define
5232
+ (1, ARRAY_ITERATOR, ATOB, CALL_ON_GLOBAL, INCR_CHAR, ITERATOR_HELPER, NAME, SELF_OBJ),
5233
+ define
5234
+ (1, ARRAY_ITERATOR, ATOB, CALL_ON_GLOBAL, ITERATOR_HELPER, NAME, NO_IE_SRC, SELF_OBJ),
5235
+ define(0, ARRAY_ITERATOR, ASYNC_FUNCTION, FROM_CODE_POINT, ITERATOR_HELPER, NO_V8_SRC),
4560
5236
  define(1, CAPITAL_HTML),
5237
+ define(1, AT, ATOB, ITERATOR_HELPER, SELF_OBJ),
4561
5238
  define(0, ARRAY_ITERATOR, ATOB, CAPITAL_HTML, FROM_CODE_POINT),
5239
+ define(1, BARPROP),
5240
+ define(1, CAPITAL_HTML, ITERATOR_HELPER),
5241
+ define(1, AT, ATOB, ITERATOR_HELPER, NAME),
5242
+ define(0, ARRAY_ITERATOR, ATOB, BARPROP, CAPITAL_HTML, FROM_CODE_POINT),
4562
5243
  ]
4563
5244
  );
4564
5245
 
@@ -4689,15 +5370,24 @@
4689
5370
  define(0, NO_FF_SRC),
4690
5371
  define(0, NO_V8_SRC),
4691
5372
  define(1, ARRAY_ITERATOR, CAPITAL_HTML),
4692
- define(0, ARRAY_ITERATOR, AT, ATOB),
4693
- define(0, ARRAY_ITERATOR, AT, CAPITAL_HTML),
5373
+ define(1, ARRAY_ITERATOR, ATOB, CALL_ON_GLOBAL, SELF_OBJ),
4694
5374
  define(0, ARRAY_ITERATOR, ATOB, FILL),
4695
- define(0, ARRAY_ITERATOR, ATOB, FLAT),
4696
- define(0, ARRAY_ITERATOR, ATOB, NO_IE_SRC),
4697
5375
  define(0, ARRAY_ITERATOR, CAPITAL_HTML, FILL),
4698
- define(0, ARRAY_ITERATOR, CAPITAL_HTML, FLAT),
4699
5376
  define(0, ARRAY_ITERATOR, CAPITAL_HTML, IE_SRC),
5377
+ define(0, ARRAY_ITERATOR, ATOB, CALL_ON_GLOBAL, IE_SRC, SELF_OBJ),
5378
+ define(1, ARRAY_ITERATOR, ATOB, CALL_ON_GLOBAL, FILL, SELF_OBJ),
5379
+ define(0, ARRAY_ITERATOR, ATOB, NO_IE_SRC),
4700
5380
  define(0, ARRAY_ITERATOR, CAPITAL_HTML, NO_IE_SRC),
5381
+ define(0, ARRAY_ITERATOR, ATOB, FILL, IE_SRC),
5382
+ define(0, ARRAY_ITERATOR, ATOB, FILL, INCR_CHAR, NO_V8_SRC),
5383
+ define(1, ARRAY_ITERATOR, ATOB, CALL_ON_GLOBAL, NO_IE_SRC, SELF_OBJ),
5384
+ define(0, ARRAY_ITERATOR, AT, ATOB),
5385
+ define(0, ARRAY_ITERATOR, AT, CAPITAL_HTML),
5386
+ define(0, ARRAY_ITERATOR, ATOB, FF_SRC),
5387
+ define(0, ARRAY_ITERATOR, ATOB, FLAT),
5388
+ define(0, ARRAY_ITERATOR, ATOB, V8_SRC),
5389
+ define(0, ARRAY_ITERATOR, CAPITAL_HTML, FLAT),
5390
+ define(0, ARRAY_ITERATOR, ATOB, FILL, NO_IE_SRC),
4701
5391
  define(2),
4702
5392
  ]
4703
5393
  );
@@ -4717,9 +5407,11 @@
4717
5407
  [
4718
5408
  define(0),
4719
5409
  define(1, AT),
5410
+ define(0, FLAT),
4720
5411
  define(1, FILL, IE_SRC),
4721
5412
  define(1, FILL, NO_IE_SRC),
4722
- define(0, FLAT),
5413
+ define(0, FILL, FLAT, IE_SRC),
5414
+ define(0, FILL, FLAT, NO_IE_SRC),
4723
5415
  ]
4724
5416
  );
4725
5417
 
@@ -5837,7 +6529,7 @@
5837
6529
 
5838
6530
  var STATIC_CHAR_CACHE = createEmpty();
5839
6531
  var STATIC_CONST_CACHE = createEmpty();
5840
- var STATIC_ENCODER = new Encoder(maskNew());
6532
+ var STATIC_ENCODER = new Encoder(MASK_EMPTY);
5841
6533
 
5842
6534
  var BOND_STRENGTH_NONE = 0;
5843
6535
  var BOND_STRENGTH_WEAK = 1;
@@ -6111,7 +6803,9 @@
6111
6803
  function (str, index)
6112
6804
  {
6113
6805
  regExp.lastIndex = index;
6114
- var match = str.match(regExp);
6806
+ // String.prototype.match doesn't work well with sticky regular expressions in Node.js <
6807
+ // 6.5.
6808
+ var match = regExp.exec(str);
6115
6809
  if (match)
6116
6810
  return match[0];
6117
6811
  };
@@ -7242,7 +7936,7 @@
7242
7936
  var output = this._encodeByCodePoints(inputData, 4, maxLength);
7243
7937
  return output;
7244
7938
  },
7245
- 38,
7939
+ 30,
7246
7940
  undefined,
7247
7941
  Feature.FROM_CODE_POINT
7248
7942
  ),
@@ -7321,7 +8015,7 @@
7321
8015
  var output = this._encodeByDict(inputData, 3, 1, maxLength);
7322
8016
  return output;
7323
8017
  },
7324
- 153
8018
+ 136
7325
8019
  ),
7326
8020
 
7327
8021
  /* -------------------------------------------------------------------------------------- *\
@@ -7417,7 +8111,7 @@
7417
8111
  var output = this._encodeByDict(inputData, 4, 2, maxLength);
7418
8112
  return output;
7419
8113
  },
7420
- 279
8114
+ 263
7421
8115
  ),
7422
8116
 
7423
8117
  /* -------------------------------------------------------------------------------------- *\
@@ -7486,7 +8180,7 @@
7486
8180
  var output = this._encodeByDict(inputData, 5, 3, maxLength);
7487
8181
  return output;
7488
8182
  },
7489
- 602
8183
+ 570
7490
8184
  ),
7491
8185
 
7492
8186
  /* -------------------------------------------------------------------------------------- *\
@@ -8836,13 +9530,19 @@
8836
9530
  if (inputEntries)
8837
9531
  {
8838
9532
  if (_Array_isArray$1(inputEntries))
8839
- outputEntries = inputEntries.map(clone);
9533
+ outputEntries = inputEntries.map(cloneEntry);
8840
9534
  else
8841
- outputEntries = [createEntryClone(inputEntries, EMPTY_MASK)];
9535
+ outputEntries = [createEntryClone(inputEntries, MASK_EMPTY)];
8842
9536
  }
8843
9537
  return outputEntries;
8844
9538
  }
8845
9539
 
9540
+ function cloneEntry(inputEntry)
9541
+ {
9542
+ var outputEntry = createEntryClone(inputEntry.definition, inputEntry.mask);
9543
+ return outputEntry;
9544
+ }
9545
+
8846
9546
  function createEncoder(features)
8847
9547
  {
8848
9548
  var mask = getFeatureMask(features);
@@ -8889,7 +9589,7 @@
8889
9589
 
8890
9590
  function getComplexEntry(complex)
8891
9591
  {
8892
- var entry = clone(COMPLEX[complex]);
9592
+ var entry = cloneEntry(COMPLEX[complex]);
8893
9593
  return entry;
8894
9594
  }
8895
9595
 
@@ -8923,15 +9623,15 @@
8923
9623
  return STRATEGIES;
8924
9624
  }
8925
9625
 
8926
- var EMPTY_MASK = maskNew();
8927
-
8928
9626
  // Miscellaneous entries
8929
9627
  var ENTRIES = createEmpty();
8930
- ENTRIES['BASE64_ALPHABET_HI_4:0'] = BASE64_ALPHABET_HI_4[0];
8931
- ENTRIES['BASE64_ALPHABET_HI_4:4'] = BASE64_ALPHABET_HI_4[4];
8932
- ENTRIES['BASE64_ALPHABET_HI_4:5'] = BASE64_ALPHABET_HI_4[5];
8933
- ENTRIES['BASE64_ALPHABET_LO_4:1'] = BASE64_ALPHABET_LO_4[1];
8934
- ENTRIES['BASE64_ALPHABET_LO_4:3'] = BASE64_ALPHABET_LO_4[3];
9628
+
9629
+ ENTRIES['BASE64_ALPHABET_HI_4:0'] = BASE64_ALPHABET_HI_4[0];
9630
+ ENTRIES['BASE64_ALPHABET_HI_4:1'] = BASE64_ALPHABET_HI_4[1];
9631
+ ENTRIES['BASE64_ALPHABET_HI_4:4'] = BASE64_ALPHABET_HI_4[4];
9632
+ ENTRIES['BASE64_ALPHABET_HI_4:5'] = BASE64_ALPHABET_HI_4[5];
9633
+ ENTRIES['BASE64_ALPHABET_LO_4:1'] = BASE64_ALPHABET_LO_4[1];
9634
+ ENTRIES['BASE64_ALPHABET_LO_4:3'] = BASE64_ALPHABET_LO_4[3];
8935
9635
 
8936
9636
  var featureFromMask = Feature._fromMask;
8937
9637
  var getFeatureMask = Feature._getMask;