goldstein 4.11.0 → 5.0.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/ChangeLog CHANGED
@@ -1,3 +1,23 @@
1
+ 2023.12.12, v5.0.0
2
+
3
+ feature:
4
+ - 3e54d9c goldstein: escover v4.0.1
5
+ - 9c35606 goldstein: drop support of node < 18
6
+ - fb7a96d goldstein: @putout/plugin-logical-expressions v5.0.0
7
+ - 51f1ff6 goldstein: @putout/printer v7.1.0
8
+ - 27106cb goldstein: @putout/test v8.0.0
9
+ - 04d7d2c goldstein: madrun v10.0.0
10
+ - f477bb7 goldstein: eslint-plugin-putout v22.0.0
11
+ - c8391d9 goldstein: putout v34.0.7
12
+ - 0c81207 goldstein: supertape v9.0.0
13
+ - fa384a5 goldstein: estree-to-babel v9.0.0
14
+
15
+ 2023.10.28, v4.12.0
16
+
17
+ feature:
18
+ - 9cd55bd package: @putout/printer v6.0.0
19
+ - 3ff2ebe package: eslint-plugin-putout v21.0.1
20
+
1
21
  2023.10.19, v4.11.0
2
22
 
3
23
  feature:
package/build/parser.cjs CHANGED
@@ -37,8 +37,8 @@ var import_estree_to_babel = __toESM(require("estree-to-babel"), 1);
37
37
 
38
38
  // node_modules/acorn/dist/acorn.mjs
39
39
  var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
40
- var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938, 6, 4191];
41
- var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F";
40
+ var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];
41
+ var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65";
42
42
  var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC";
43
43
  var reservedWords = {
44
44
  3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",
@@ -265,8 +265,9 @@ var hasOwn = Object.hasOwn || function(obj, propName) {
265
265
  var isArray = Array.isArray || function(obj) {
266
266
  return toString.call(obj) === "[object Array]";
267
267
  };
268
+ var regexpCache = /* @__PURE__ */ Object.create(null);
268
269
  function wordsRegexp(words) {
269
- return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$");
270
+ return regexpCache[words] || (regexpCache[words] = new RegExp("^(?:" + words.replace(/ /g, "|") + ")$"));
270
271
  }
271
272
  function codePointToString(code) {
272
273
  if (code <= 65535) {
@@ -312,11 +313,11 @@ var defaultOptions = {
312
313
  // Can be either `"script"` or `"module"`. This influences global
313
314
  // strict mode and parsing of `import` and `export` declarations.
314
315
  sourceType: "script",
315
- // `onInsertedSemicolon` can be a callback that will be called
316
- // when a semicolon is automatically inserted. It will be passed
317
- // the position of the comma as an offset, and if `locations` is
318
- // enabled, it is given the location as a `{line, column}` object
319
- // as second argument.
316
+ // `onInsertedSemicolon` can be a callback that will be called when
317
+ // a semicolon is automatically inserted. It will be passed the
318
+ // position of the inserted semicolon as an offset, and if
319
+ // `locations` is enabled, it is given the location as a `{line,
320
+ // column}` object as second argument.
320
321
  onInsertedSemicolon: null,
321
322
  // `onTrailingComma` is similar to `onInsertedSemicolon`, but for
322
323
  // trailing commas.
@@ -369,6 +370,8 @@ var defaultOptions = {
369
370
  // passed, the full `{line, column}` locations of the start and
370
371
  // end of the comments. Note that you are not allowed to call the
371
372
  // parser from the callback—that will corrupt its internal state.
373
+ // When this option has an array as value, objects representing the
374
+ // comments are pushed to it.
372
375
  onComment: null,
373
376
  // Nodes have their start and end characters offsets recorded in
374
377
  // `start` and `end` properties (directly on the node, rather than
@@ -1594,8 +1597,6 @@ pp$8.checkPatternExport = function(exports, pat) {
1594
1597
  this.checkPatternExport(exports, pat.left);
1595
1598
  } else if (type === "RestElement") {
1596
1599
  this.checkPatternExport(exports, pat.argument);
1597
- } else if (type === "ParenthesizedExpression") {
1598
- this.checkPatternExport(exports, pat.expression);
1599
1600
  }
1600
1601
  };
1601
1602
  pp$8.checkVariableExport = function(exports, decls) {
@@ -2072,6 +2073,12 @@ types$1._function.updateContext = types$1._class.updateContext = function(prevTy
2072
2073
  }
2073
2074
  this.exprAllowed = false;
2074
2075
  };
2076
+ types$1.colon.updateContext = function() {
2077
+ if (this.curContext().token === "function") {
2078
+ this.context.pop();
2079
+ }
2080
+ this.exprAllowed = true;
2081
+ };
2075
2082
  types$1.backQuote.updateContext = function() {
2076
2083
  if (this.curContext() === types.q_tmpl) {
2077
2084
  this.context.pop();
@@ -2694,9 +2701,12 @@ pp$5.parseNew = function() {
2694
2701
  this.raiseRecoverable(this.start, "Escape sequence in keyword new");
2695
2702
  }
2696
2703
  var node = this.startNode();
2697
- var meta = this.parseIdent(true);
2698
- if (this.options.ecmaVersion >= 6 && this.eat(types$1.dot)) {
2699
- node.meta = meta;
2704
+ this.next();
2705
+ if (this.options.ecmaVersion >= 6 && this.type === types$1.dot) {
2706
+ var meta = this.startNodeAt(node.start, node.startLoc);
2707
+ meta.name = "new";
2708
+ node.meta = this.finishNode(meta, "Identifier");
2709
+ this.next();
2700
2710
  var containsEsc = this.containsEsc;
2701
2711
  node.property = this.parseIdent(true);
2702
2712
  if (node.property.name !== "target") {
@@ -3072,6 +3082,7 @@ pp$5.parseIdentNode = function() {
3072
3082
  if ((node.name === "class" || node.name === "function") && (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {
3073
3083
  this.context.pop();
3074
3084
  }
3085
+ this.type = types$1.name;
3075
3086
  } else {
3076
3087
  this.unexpected();
3077
3088
  }
@@ -5344,7 +5355,7 @@ pp.readWord = function() {
5344
5355
  }
5345
5356
  return this.finishToken(type, word);
5346
5357
  };
5347
- var version = "8.10.0";
5358
+ var version = "8.11.2";
5348
5359
  Parser.acorn = {
5349
5360
  Parser,
5350
5361
  version,
@@ -5429,15 +5440,13 @@ function fn(Parser3) {
5429
5440
  return super.parse();
5430
5441
  }
5431
5442
  parseStatement(context, topLevel, exports) {
5432
- if (this.type === Parser3.acorn.keywordTypes.fn) {
5443
+ if (this.type === Parser3.acorn.keywordTypes.fn)
5433
5444
  this.type = Parser3.acorn.keywordTypes.function;
5434
- }
5435
5445
  return super.parseStatement(context, topLevel, exports);
5436
5446
  }
5437
5447
  shouldParseExportStatement() {
5438
- if (this.type === Parser3.acorn.keywordTypes.fn) {
5448
+ if (this.type === Parser3.acorn.keywordTypes.fn)
5439
5449
  return true;
5440
- }
5441
5450
  return super.shouldParseExportStatement();
5442
5451
  }
5443
5452
  };
@@ -5455,9 +5464,8 @@ function newSpeak(Parser3) {
5455
5464
  return super.parse();
5456
5465
  }
5457
5466
  parseStatement(context, topLevel, exports) {
5458
- if (this.type === keywordTypes.guard) {
5467
+ if (this.type === keywordTypes.guard)
5459
5468
  return this.parseGuard();
5460
- }
5461
5469
  return super.parseStatement(context, topLevel, exports);
5462
5470
  }
5463
5471
  parseGuard() {
@@ -5628,9 +5636,8 @@ function newSpeak2(Parser3) {
5628
5636
  return super.parse();
5629
5637
  }
5630
5638
  parseStatement(context, topLevel, exports) {
5631
- if (this.type === keywordTypes.should) {
5639
+ if (this.type === keywordTypes.should)
5632
5640
  return this.parseShould();
5633
- }
5634
5641
  return super.parseStatement(context, topLevel, exports);
5635
5642
  }
5636
5643
  parseShould() {
@@ -5692,9 +5699,8 @@ function keywordThrow(Parser3) {
5692
5699
  const { keywordTypes } = Parser3.acorn;
5693
5700
  return class extends Parser3 {
5694
5701
  parseExprAtom(refDestructuringErrors, forInit) {
5695
- if (this.type === keywordTypes.throw) {
5702
+ if (this.type === keywordTypes.throw)
5696
5703
  return this.parseThrowExpression();
5697
- }
5698
5704
  return super.parseExprAtom(refDestructuringErrors, forInit);
5699
5705
  }
5700
5706
  parseThrowExpression() {
@@ -5801,9 +5807,8 @@ function keywordFreeze(Parser3) {
5801
5807
  return super.parse();
5802
5808
  }
5803
5809
  parseStatement(context, topLevel, exports) {
5804
- if (this.type === keywordTypes.freeze) {
5810
+ if (this.type === keywordTypes.freeze)
5805
5811
  return this.parseFreeze();
5806
- }
5807
5812
  return super.parseStatement(context, topLevel, exports);
5808
5813
  }
5809
5814
  parseFreeze() {
@@ -5939,20 +5944,17 @@ function fn3(Parser3) {
5939
5944
  node.body = [];
5940
5945
  this.eat(types$1.arrow);
5941
5946
  this.expect(types$1.braceL);
5942
- if (createNewLexicalScope) {
5947
+ if (createNewLexicalScope)
5943
5948
  this.enterScope(0);
5944
- }
5945
5949
  while (this.type !== types$1.braceR) {
5946
5950
  const stmt = this.parseStatement(null);
5947
5951
  node.body.push(stmt);
5948
5952
  }
5949
- if (exitStrict) {
5953
+ if (exitStrict)
5950
5954
  this.strict = false;
5951
- }
5952
5955
  this.next();
5953
- if (createNewLexicalScope) {
5956
+ if (createNewLexicalScope)
5954
5957
  this.exitScope();
5955
- }
5956
5958
  return this.finishNode(node, "BlockStatement");
5957
5959
  }
5958
5960
  };
@@ -5971,9 +5973,8 @@ function keywordAddArray(Parser3) {
5971
5973
  return class extends Parser3 {
5972
5974
  parseMaybeAssign(forInit, refDestructuringErrors, afterLeftParse) {
5973
5975
  if (this.isContextual("yield")) {
5974
- if (this.inGenerator) {
5976
+ if (this.inGenerator)
5975
5977
  return this.parseYield(forInit);
5976
- }
5977
5978
  this.exprAllowed = false;
5978
5979
  }
5979
5980
  let ownDestructuringErrors = false;
@@ -5996,45 +5997,36 @@ function keywordAddArray(Parser3) {
5996
5997
  this.potentialArrowInForAwait = forInit === "await";
5997
5998
  }
5998
5999
  let left = this.parseMaybeConditional(forInit, refDestructuringErrors);
5999
- if (afterLeftParse) {
6000
+ if (afterLeftParse)
6000
6001
  left = afterLeftParse.call(this, left, startPos, startLoc);
6001
- }
6002
6002
  if (this.type.isAssign) {
6003
6003
  const node = this.startNodeAt(startPos, startLoc);
6004
6004
  node.operator = this.value;
6005
- if (this.type === types$1.eq) {
6005
+ if (this.type === types$1.eq)
6006
6006
  left = this.toAssignable(left, false, refDestructuringErrors);
6007
- }
6008
- if (!ownDestructuringErrors) {
6007
+ if (!ownDestructuringErrors)
6009
6008
  refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = refDestructuringErrors.doubleProto = -1;
6010
- }
6011
- if (refDestructuringErrors.shorthandAssign >= left.start) {
6009
+ if (refDestructuringErrors.shorthandAssign >= left.start)
6012
6010
  refDestructuringErrors.shorthandAssign = -1;
6013
- }
6014
- if (this.type === types$1.eq) {
6011
+ if (this.type === types$1.eq)
6015
6012
  this.checkLValPattern(left);
6016
- } else {
6013
+ else
6017
6014
  this.checkLValSimple(left);
6018
- }
6019
6015
  node.left = left;
6020
6016
  this.next();
6021
6017
  node.right = this.parseMaybeAssign(forInit);
6022
- if (oldDoubleProto > -1) {
6018
+ if (oldDoubleProto > -1)
6023
6019
  refDestructuringErrors.doubleProto = oldDoubleProto;
6024
- }
6025
6020
  if (node.operator === "+=" && isArrayExpression2(node.right))
6026
6021
  return createAppendNode(this, node);
6027
6022
  return this.finishNode(node, "AssignmentExpression");
6028
6023
  }
6029
- if (ownDestructuringErrors) {
6024
+ if (ownDestructuringErrors)
6030
6025
  this.checkExpressionErrors(refDestructuringErrors, true);
6031
- }
6032
- if (oldParenAssign > -1) {
6026
+ if (oldParenAssign > -1)
6033
6027
  refDestructuringErrors.parenthesizedAssign = oldParenAssign;
6034
- }
6035
- if (oldTrailingComma > -1) {
6028
+ if (oldTrailingComma > -1)
6036
6029
  refDestructuringErrors.trailingComma = oldTrailingComma;
6037
- }
6038
6030
  return left;
6039
6031
  }
6040
6032
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "goldstein",
3
- "version": "4.11.0",
3
+ "version": "5.0.0",
4
4
  "type": "module",
5
5
  "author": "coderaiser <mnemonic.enemy@gmail.com> (https://github.com/coderaiser)",
6
6
  "description": "JavaScript with no limits",
@@ -30,37 +30,36 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@putout/plugin-declare": "^2.0.1",
33
- "@putout/plugin-logical-expressions": "^4.0.0",
33
+ "@putout/plugin-logical-expressions": "^5.0.0",
34
34
  "@putout/plugin-try-catch": "^3.0.0",
35
- "@putout/printer": "^5.0.0",
35
+ "@putout/printer": "^7.1.0",
36
36
  "acorn": "^8.7.1",
37
37
  "esbuild": "^0.19.2",
38
38
  "esbuild-node-builtins": "^0.1.0",
39
- "estree-to-babel": "^8.0.0",
40
- "putout": "^32.0.1",
39
+ "estree-to-babel": "^9.0.0",
40
+ "putout": "^34.0.7",
41
41
  "try-catch": "^3.0.1"
42
42
  },
43
43
  "license": "MIT",
44
44
  "devDependencies": {
45
45
  "@cloudcmd/stub": "^4.0.1",
46
- "@putout/test": "^7.1.0",
46
+ "@putout/test": "^8.0.0",
47
47
  "c8": "^8.0.0",
48
48
  "check-dts": "^0.7.1",
49
- "escover": "^3.4.0",
49
+ "escover": "^4.0.1",
50
50
  "eslint": "^8.48.0",
51
51
  "eslint-plugin-n": "^16.0.1",
52
- "eslint-plugin-putout": "^20.0.0",
53
- "madrun": "^9.0.0",
52
+ "eslint-plugin-putout": "^22.0.0",
53
+ "madrun": "^10.0.0",
54
54
  "mock-require": "^3.0.3",
55
55
  "montag": "^1.2.1",
56
56
  "nodemon": "^3.0.1",
57
57
  "runsome": "^1.0.0",
58
- "supertape": "^8.0.1",
59
- "typescript": "^5.0.3",
60
- "zenload": "^2.0.0"
58
+ "supertape": "^9.0.0",
59
+ "typescript": "^5.0.3"
61
60
  },
62
61
  "engines": {
63
- "node": ">=16"
62
+ "node": ">=18"
64
63
  },
65
64
  "publishConfig": {
66
65
  "access": "public"
@@ -1,4 +1,5 @@
1
1
  import {types} from 'putout';
2
+
2
3
  const {
3
4
  VariableDeclaration,
4
5
  VariableDeclarator,
@@ -8,6 +9,7 @@ export const report = () => `Use 'add-array'`;
8
9
  export const replace = () => ({
9
10
  '{let __a = __b; if (__c) __d}': ({__a, __b}, path) => {
10
11
  const ifPath = path.get('body.1');
12
+
11
13
  ifPath.node.test = VariableDeclaration('let', [
12
14
  VariableDeclarator(__a, __b),
13
15
  ]);
@@ -15,4 +17,3 @@ export const replace = () => ({
15
17
  return ifPath;
16
18
  },
17
19
  });
18
-
@@ -15,9 +15,8 @@ export default function keywordAddArray(Parser) {
15
15
  return class extends Parser {
16
16
  parseMaybeAssign(forInit, refDestructuringErrors, afterLeftParse) {
17
17
  if (this.isContextual('yield')) {
18
- if (this.inGenerator) {
18
+ if (this.inGenerator)
19
19
  return this.parseYield(forInit);
20
- }
21
20
 
22
21
  // The tokenizer will assume an expression is allowed after
23
22
  // `yield`, but this isn't that kind of yield
@@ -49,41 +48,35 @@ export default function keywordAddArray(Parser) {
49
48
 
50
49
  let left = this.parseMaybeConditional(forInit, refDestructuringErrors);
51
50
 
52
- if (afterLeftParse) {
51
+ if (afterLeftParse)
53
52
  left = afterLeftParse.call(this, left, startPos, startLoc);
54
- }
55
53
 
56
54
  if (this.type.isAssign) {
57
55
  const node = this.startNodeAt(startPos, startLoc);
58
56
 
59
57
  node.operator = this.value;
60
58
 
61
- if (this.type === tt.eq) {
59
+ if (this.type === tt.eq)
62
60
  left = this.toAssignable(left, false, refDestructuringErrors);
63
- }
64
61
 
65
- if (!ownDestructuringErrors) {
62
+ if (!ownDestructuringErrors)
66
63
  refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = refDestructuringErrors.doubleProto = -1;
67
- }
68
64
 
69
- if (refDestructuringErrors.shorthandAssign >= left.start) {
65
+ if (refDestructuringErrors.shorthandAssign >= left.start)
70
66
  refDestructuringErrors.shorthandAssign = -1;
71
- }
72
67
 
73
68
  // reset because shorthand default was used correctly
74
- if (this.type === tt.eq) {
69
+ if (this.type === tt.eq)
75
70
  this.checkLValPattern(left);
76
- } else {
71
+ else
77
72
  this.checkLValSimple(left);
78
- }
79
73
 
80
74
  node.left = left;
81
75
  this.next();
82
76
  node.right = this.parseMaybeAssign(forInit);
83
77
 
84
- if (oldDoubleProto > -1) {
78
+ if (oldDoubleProto > -1)
85
79
  refDestructuringErrors.doubleProto = oldDoubleProto;
86
- }
87
80
 
88
81
  if (node.operator === '+=' && isArrayExpression(node.right))
89
82
  return createAppendNode(this, node);
@@ -91,17 +84,14 @@ export default function keywordAddArray(Parser) {
91
84
  return this.finishNode(node, 'AssignmentExpression');
92
85
  }
93
86
 
94
- if (ownDestructuringErrors) {
87
+ if (ownDestructuringErrors)
95
88
  this.checkExpressionErrors(refDestructuringErrors, true);
96
- }
97
89
 
98
- if (oldParenAssign > -1) {
90
+ if (oldParenAssign > -1)
99
91
  refDestructuringErrors.parenthesizedAssign = oldParenAssign;
100
- }
101
92
 
102
- if (oldTrailingComma > -1) {
93
+ if (oldTrailingComma > -1)
103
94
  refDestructuringErrors.trailingComma = oldTrailingComma;
104
- }
105
95
 
106
96
  return left;
107
97
  }
@@ -14,27 +14,23 @@ export default function fn(Parser) {
14
14
  this.eat(tt.arrow);
15
15
  this.expect(tt.braceL);
16
16
 
17
- if (createNewLexicalScope) {
17
+ if (createNewLexicalScope)
18
18
  this.enterScope(0);
19
- }
20
19
 
21
20
  while (this.type !== tt.braceR) {
22
21
  const stmt = this.parseStatement(null);
23
22
  node.body.push(stmt);
24
23
  }
25
24
 
26
- if (exitStrict) {
25
+ if (exitStrict)
27
26
  this.strict = false;
28
- }
29
27
 
30
28
  this.next();
31
29
 
32
- if (createNewLexicalScope) {
30
+ if (createNewLexicalScope)
33
31
  this.exitScope();
34
- }
35
32
 
36
33
  return this.finishNode(node, 'BlockStatement');
37
34
  }
38
35
  };
39
36
  }
40
-
@@ -30,4 +30,3 @@ export default function keywordCurry(Parser) {
30
30
  }
31
31
  };
32
32
  }
33
-
@@ -16,20 +16,17 @@ export default function fn(Parser) {
16
16
  }
17
17
 
18
18
  parseStatement(context, topLevel, exports) {
19
- if (this.type === Parser.acorn.keywordTypes.fn) {
19
+ if (this.type === Parser.acorn.keywordTypes.fn)
20
20
  this.type = Parser.acorn.keywordTypes.function;
21
- }
22
21
 
23
22
  return super.parseStatement(context, topLevel, exports);
24
23
  }
25
24
 
26
25
  shouldParseExportStatement() {
27
- if (this.type === Parser.acorn.keywordTypes.fn) {
26
+ if (this.type === Parser.acorn.keywordTypes.fn)
28
27
  return true;
29
- }
30
28
 
31
29
  return super.shouldParseExportStatement();
32
30
  }
33
31
  };
34
32
  }
35
-
@@ -23,9 +23,8 @@ export default function keywordFreeze(Parser) {
23
23
  }
24
24
 
25
25
  parseStatement(context, topLevel, exports) {
26
- if (this.type === keywordTypes.freeze) {
26
+ if (this.type === keywordTypes.freeze)
27
27
  return this.parseFreeze();
28
- }
29
28
 
30
29
  return super.parseStatement(context, topLevel, exports);
31
30
  }
@@ -55,4 +54,3 @@ export default function keywordFreeze(Parser) {
55
54
  }
56
55
  };
57
56
  }
58
-
@@ -18,9 +18,8 @@ export default function newSpeak(Parser) {
18
18
  }
19
19
 
20
20
  parseStatement(context, topLevel, exports) {
21
- if (this.type === keywordTypes.guard) {
21
+ if (this.type === keywordTypes.guard)
22
22
  return this.parseGuard();
23
- }
24
23
 
25
24
  return super.parseStatement(context, topLevel, exports);
26
25
  }
@@ -58,4 +57,3 @@ export default function newSpeak(Parser) {
58
57
  }
59
58
  };
60
59
  }
61
-
@@ -31,4 +31,3 @@ export default function keywordImport(Parser) {
31
31
  }
32
32
  };
33
33
  }
34
-
@@ -24,9 +24,8 @@ export default function newSpeak(Parser) {
24
24
  }
25
25
 
26
26
  parseStatement(context, topLevel, exports) {
27
- if (this.type === keywordTypes.should) {
27
+ if (this.type === keywordTypes.should)
28
28
  return this.parseShould();
29
- }
30
29
 
31
30
  return super.parseStatement(context, topLevel, exports);
32
31
  }
@@ -88,4 +87,3 @@ export default function newSpeak(Parser) {
88
87
  }
89
88
  };
90
89
  }
91
-
@@ -5,9 +5,8 @@ export default function keywordThrow(Parser) {
5
5
 
6
6
  return class extends Parser {
7
7
  parseExprAtom(refDestructuringErrors, forInit) {
8
- if (this.type === keywordTypes.throw) {
8
+ if (this.type === keywordTypes.throw)
9
9
  return this.parseThrowExpression();
10
- }
11
10
 
12
11
  return super.parseExprAtom(refDestructuringErrors, forInit);
13
12
  }
@@ -29,4 +28,3 @@ export default function keywordThrow(Parser) {
29
28
  }
30
29
  };
31
30
  }
32
-
@@ -117,4 +117,3 @@ export function createGoldsteinTry(args) {
117
117
  },
118
118
  };
119
119
  }
120
-
@@ -64,4 +64,3 @@ export default function stringInterpolation(Parser) {
64
64
  }
65
65
  };
66
66
  }
67
-