@danielx/civet 0.8.3 → 0.8.5
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.md +12 -0
- package/dist/browser.js +960 -517
- package/dist/civet +5 -8
- package/dist/config.js +1 -7182
- package/dist/config.mjs +1 -7205
- package/dist/main.js +960 -517
- package/dist/main.mjs +960 -517
- package/dist/types.d.ts +2 -2
- package/package.json +2 -2
package/dist/main.mjs
CHANGED
|
@@ -28,9 +28,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
mod
|
|
29
29
|
));
|
|
30
30
|
|
|
31
|
-
// node_modules
|
|
31
|
+
// node_modules/@danielx/hera/dist/machine.js
|
|
32
32
|
var require_machine = __commonJS({
|
|
33
|
-
"node_modules
|
|
33
|
+
"node_modules/@danielx/hera/dist/machine.js"(exports, module) {
|
|
34
34
|
"use strict";
|
|
35
35
|
var __defProp2 = Object.defineProperty;
|
|
36
36
|
var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
|
|
@@ -60,7 +60,7 @@ var require_machine = __commonJS({
|
|
|
60
60
|
$N: () => $N2,
|
|
61
61
|
$P: () => $P2,
|
|
62
62
|
$Q: () => $Q2,
|
|
63
|
-
$R: () => $
|
|
63
|
+
$R: () => $R101,
|
|
64
64
|
$R$0: () => $R$02,
|
|
65
65
|
$S: () => $S2,
|
|
66
66
|
$T: () => $T2,
|
|
@@ -97,7 +97,7 @@ var require_machine = __commonJS({
|
|
|
97
97
|
return;
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
|
-
function $
|
|
100
|
+
function $R101(regExp) {
|
|
101
101
|
return function(_ctx, state2) {
|
|
102
102
|
const { input, pos } = state2;
|
|
103
103
|
regExp.lastIndex = state2.pos;
|
|
@@ -543,6 +543,7 @@ __export(lib_exports, {
|
|
|
543
543
|
processForInOf: () => processForInOf,
|
|
544
544
|
processProgram: () => processProgram,
|
|
545
545
|
processProgramAsync: () => processProgramAsync,
|
|
546
|
+
processRangeExpression: () => processRangeExpression,
|
|
546
547
|
processTryBlock: () => processTryBlock,
|
|
547
548
|
processUnaryExpression: () => processUnaryExpression,
|
|
548
549
|
processUnaryNestedExpression: () => processUnaryNestedExpression,
|
|
@@ -571,6 +572,13 @@ var assert = {
|
|
|
571
572
|
if (a === b) {
|
|
572
573
|
throw new Error(`Assertion failed [${msg}]: ${a} === ${b}`);
|
|
573
574
|
}
|
|
575
|
+
},
|
|
576
|
+
notNull(a, msg) {
|
|
577
|
+
if (!(a != null)) {
|
|
578
|
+
throw new Error(`Assertion failed [${msg}]: got null`);
|
|
579
|
+
}
|
|
580
|
+
;
|
|
581
|
+
return;
|
|
574
582
|
}
|
|
575
583
|
};
|
|
576
584
|
function addParentPointers(node, parent) {
|
|
@@ -1030,6 +1038,9 @@ function makeLeftHandSideExpression(expression) {
|
|
|
1030
1038
|
expression = item;
|
|
1031
1039
|
}
|
|
1032
1040
|
if (isASTNodeObject(expression)) {
|
|
1041
|
+
if (expression.token) {
|
|
1042
|
+
return expression;
|
|
1043
|
+
}
|
|
1033
1044
|
if (expression.parenthesized) {
|
|
1034
1045
|
return expression;
|
|
1035
1046
|
}
|
|
@@ -1552,86 +1563,90 @@ function gatherBindingPatternTypeSuffix(pattern) {
|
|
|
1552
1563
|
let count = 0;
|
|
1553
1564
|
switch (pattern.type) {
|
|
1554
1565
|
case "ArrayBindingPattern": {
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1566
|
+
{
|
|
1567
|
+
const results = [];
|
|
1568
|
+
for (let ref2 = pattern.elements, i2 = 0, len1 = ref2.length; i2 < len1; i2++) {
|
|
1569
|
+
const elem = ref2[i2];
|
|
1570
|
+
let { typeSuffix } = elem;
|
|
1571
|
+
typeSuffix ??= elem.binding?.typeSuffix;
|
|
1572
|
+
if (typeSuffix) {
|
|
1573
|
+
count++;
|
|
1574
|
+
}
|
|
1575
|
+
let typeElement = [typeSuffix?.t, elem.delim];
|
|
1576
|
+
if (typeSuffix?.optional) {
|
|
1577
|
+
typeElement[0] = parenthesizeType(typeElement[0]);
|
|
1578
|
+
typeElement.unshift("undefined |");
|
|
1579
|
+
}
|
|
1580
|
+
if (elem.type === "BindingRestElement") {
|
|
1581
|
+
typeElement[0] ??= "unknown[]";
|
|
1582
|
+
typeElement.unshift(elem.dots);
|
|
1583
|
+
} else {
|
|
1584
|
+
typeElement[0] ??= "unknown";
|
|
1585
|
+
}
|
|
1586
|
+
results.push(typeElement);
|
|
1567
1587
|
}
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1588
|
+
;
|
|
1589
|
+
const types = results;
|
|
1590
|
+
if (count) {
|
|
1591
|
+
const t = [": [", types, "]"];
|
|
1592
|
+
pattern.typeSuffix = {
|
|
1593
|
+
type: "TypeSuffix",
|
|
1594
|
+
ts: true,
|
|
1595
|
+
t,
|
|
1596
|
+
children: [t]
|
|
1597
|
+
};
|
|
1573
1598
|
}
|
|
1574
|
-
results.push(typeElement);
|
|
1575
|
-
}
|
|
1576
|
-
;
|
|
1577
|
-
const types = results;
|
|
1578
|
-
if (count) {
|
|
1579
|
-
const t = [": [", types, "]"];
|
|
1580
|
-
pattern.typeSuffix = {
|
|
1581
|
-
type: "TypeSuffix",
|
|
1582
|
-
ts: true,
|
|
1583
|
-
t,
|
|
1584
|
-
children: [t]
|
|
1585
|
-
};
|
|
1586
1599
|
}
|
|
1587
1600
|
;
|
|
1588
1601
|
break;
|
|
1589
1602
|
}
|
|
1590
1603
|
case "ObjectBindingPattern": {
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
typeSuffix ??= {
|
|
1601
|
-
type: "TypeSuffix",
|
|
1602
|
-
ts: true,
|
|
1603
|
-
children: [": unknown"]
|
|
1604
|
-
};
|
|
1605
|
-
switch (prop.type) {
|
|
1606
|
-
case "BindingProperty": {
|
|
1607
|
-
const ws = prop.children.slice(0, prop.children.indexOf(prop.name));
|
|
1608
|
-
results1.push([...ws, prop.name, typeSuffix, prop.delim]);
|
|
1609
|
-
break;
|
|
1610
|
-
}
|
|
1611
|
-
case "AtBindingProperty": {
|
|
1612
|
-
const ws = prop.children.slice(0, prop.children.indexOf(prop.binding));
|
|
1613
|
-
results1.push([...ws, prop.ref.id, typeSuffix, prop.delim]);
|
|
1614
|
-
break;
|
|
1604
|
+
{
|
|
1605
|
+
let restType;
|
|
1606
|
+
const results1 = [];
|
|
1607
|
+
for (let ref3 = pattern.properties, i3 = 0, len22 = ref3.length; i3 < len22; i3++) {
|
|
1608
|
+
const prop = ref3[i3];
|
|
1609
|
+
let { typeSuffix } = prop;
|
|
1610
|
+
typeSuffix ??= prop.value?.typeSuffix;
|
|
1611
|
+
if (typeSuffix) {
|
|
1612
|
+
count++;
|
|
1615
1613
|
}
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1614
|
+
typeSuffix ??= {
|
|
1615
|
+
type: "TypeSuffix",
|
|
1616
|
+
ts: true,
|
|
1617
|
+
children: [": unknown"]
|
|
1618
|
+
};
|
|
1619
|
+
switch (prop.type) {
|
|
1620
|
+
case "BindingProperty": {
|
|
1621
|
+
const ws = prop.children.slice(0, prop.children.indexOf(prop.name));
|
|
1622
|
+
results1.push([...ws, prop.name, typeSuffix, prop.delim]);
|
|
1623
|
+
break;
|
|
1624
|
+
}
|
|
1625
|
+
case "AtBindingProperty": {
|
|
1626
|
+
const ws = prop.children.slice(0, prop.children.indexOf(prop.binding));
|
|
1627
|
+
results1.push([...ws, prop.ref.id, typeSuffix, prop.delim]);
|
|
1628
|
+
break;
|
|
1629
|
+
}
|
|
1630
|
+
case "BindingRestProperty": {
|
|
1631
|
+
restType = prop.typeSuffix?.t;
|
|
1632
|
+
continue;
|
|
1633
|
+
}
|
|
1619
1634
|
}
|
|
1620
1635
|
}
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1636
|
+
;
|
|
1637
|
+
const types = results1;
|
|
1638
|
+
if (count) {
|
|
1639
|
+
const t = ["{", types, "}"];
|
|
1640
|
+
if (restType != null) {
|
|
1641
|
+
t.push(" & ", parenthesizeType(trimFirstSpace(restType)));
|
|
1642
|
+
}
|
|
1643
|
+
pattern.typeSuffix = {
|
|
1644
|
+
type: "TypeSuffix",
|
|
1645
|
+
ts: true,
|
|
1646
|
+
t,
|
|
1647
|
+
children: [": ", t]
|
|
1648
|
+
};
|
|
1628
1649
|
}
|
|
1629
|
-
pattern.typeSuffix = {
|
|
1630
|
-
type: "TypeSuffix",
|
|
1631
|
-
ts: true,
|
|
1632
|
-
t,
|
|
1633
|
-
children: [": ", t]
|
|
1634
|
-
};
|
|
1635
1650
|
}
|
|
1636
1651
|
;
|
|
1637
1652
|
break;
|
|
@@ -1701,6 +1716,34 @@ var declareHelper = {
|
|
|
1701
1716
|
"\n"
|
|
1702
1717
|
]]);
|
|
1703
1718
|
},
|
|
1719
|
+
rslice(rsliceRef) {
|
|
1720
|
+
const RSliceable = makeRef("RSliceable");
|
|
1721
|
+
state.prelude.push(["", [
|
|
1722
|
+
ts(["type ", RSliceable, "<R> = string | {length: number; slice(start: number, end: number): {reverse(): R}}\n"]),
|
|
1723
|
+
preludeVar,
|
|
1724
|
+
rsliceRef,
|
|
1725
|
+
ts([": <R, T extends string | ", RSliceable, "<R>>(a: T, start?: number, end?: number) => T extends string ? string : T extends ", RSliceable, "<infer R> ? R : never"]),
|
|
1726
|
+
" = ((a, start, end) => {\n",
|
|
1727
|
+
" const l = a.length\n",
|
|
1728
|
+
" start = ",
|
|
1729
|
+
getHelperRef("modulo"),
|
|
1730
|
+
"(start ?? -1, l)\n",
|
|
1731
|
+
" end = ",
|
|
1732
|
+
getHelperRef("modulo"),
|
|
1733
|
+
"((end ?? -1) + 1, l)\n",
|
|
1734
|
+
" if (typeof a === 'string') {\n",
|
|
1735
|
+
` let r = ""
|
|
1736
|
+
`,
|
|
1737
|
+
" for (let i = start; i >= end; --i) r += a[i]\n",
|
|
1738
|
+
" return r",
|
|
1739
|
+
asAny,
|
|
1740
|
+
"\n",
|
|
1741
|
+
" } else {\n",
|
|
1742
|
+
" return a.slice(end, start + 1).reverse()\n",
|
|
1743
|
+
" }\n",
|
|
1744
|
+
"});\n"
|
|
1745
|
+
]]);
|
|
1746
|
+
},
|
|
1704
1747
|
div(divRef) {
|
|
1705
1748
|
state.prelude.push(["", [
|
|
1706
1749
|
// [indent, statement]
|
|
@@ -1827,6 +1870,9 @@ function getHelperRef(base) {
|
|
|
1827
1870
|
declareHelper[base](ref);
|
|
1828
1871
|
return state.helperRefs[base] = ref;
|
|
1829
1872
|
}
|
|
1873
|
+
function peekHelperRef(base) {
|
|
1874
|
+
return state.helperRefs[base];
|
|
1875
|
+
}
|
|
1830
1876
|
function extractPreludeFor(node) {
|
|
1831
1877
|
let helpers = new Set(Object.values(state.helperRefs));
|
|
1832
1878
|
helpers = new Set(gatherRecursive(node, helpers.has.bind(helpers)));
|
|
@@ -1870,6 +1916,9 @@ function gen(root, options) {
|
|
|
1870
1916
|
let ref;
|
|
1871
1917
|
if (ref = options.sourceMap) {
|
|
1872
1918
|
const sourceMap = ref;
|
|
1919
|
+
if (node.$loc != null) {
|
|
1920
|
+
sourceMap.updateSourceMap("", node.$loc.pos);
|
|
1921
|
+
}
|
|
1873
1922
|
line = sourceMap.data.srcLine + 1;
|
|
1874
1923
|
column = sourceMap.data.srcColumn + 1;
|
|
1875
1924
|
offset = sourceMap.data.srcOffset;
|
|
@@ -2494,7 +2543,7 @@ function assignResults(node, collect) {
|
|
|
2494
2543
|
case "IterationStatement":
|
|
2495
2544
|
case "DoStatement":
|
|
2496
2545
|
case "ComptimeStatement": {
|
|
2497
|
-
wrapIterationReturningResults(exp,
|
|
2546
|
+
wrapIterationReturningResults(exp, collect);
|
|
2498
2547
|
return;
|
|
2499
2548
|
}
|
|
2500
2549
|
case "BlockStatement": {
|
|
@@ -2534,7 +2583,7 @@ function assignResults(node, collect) {
|
|
|
2534
2583
|
}
|
|
2535
2584
|
node[1] = collect(node[1]);
|
|
2536
2585
|
}
|
|
2537
|
-
function insertReturn(node
|
|
2586
|
+
function insertReturn(node) {
|
|
2538
2587
|
if (!node)
|
|
2539
2588
|
return;
|
|
2540
2589
|
switch (node.type) {
|
|
@@ -2642,7 +2691,7 @@ function insertReturn(node, outerNode = node) {
|
|
|
2642
2691
|
case "IterationStatement":
|
|
2643
2692
|
case "DoStatement":
|
|
2644
2693
|
case "ComptimeStatement": {
|
|
2645
|
-
wrapIterationReturningResults(exp
|
|
2694
|
+
wrapIterationReturningResults(exp);
|
|
2646
2695
|
return;
|
|
2647
2696
|
}
|
|
2648
2697
|
case "BlockStatement": {
|
|
@@ -2738,11 +2787,11 @@ function processBreakContinueWith(statement) {
|
|
|
2738
2787
|
}
|
|
2739
2788
|
return changed;
|
|
2740
2789
|
}
|
|
2741
|
-
function wrapIterationReturningResults(statement,
|
|
2790
|
+
function wrapIterationReturningResults(statement, collect) {
|
|
2742
2791
|
if (statement.type === "DoStatement" || statement.type === "ComptimeStatement") {
|
|
2743
2792
|
let results;
|
|
2744
2793
|
if (statement.type === "ComptimeStatement") {
|
|
2745
|
-
insertReturn(statement.block
|
|
2794
|
+
insertReturn(statement.block);
|
|
2746
2795
|
const expression = expressionizeComptime(statement);
|
|
2747
2796
|
replaceNode(statement, expression);
|
|
2748
2797
|
const parent = expression.parent;
|
|
@@ -2758,7 +2807,7 @@ function wrapIterationReturningResults(statement, outer, collect) {
|
|
|
2758
2807
|
if (collect) {
|
|
2759
2808
|
assignResults(results, collect);
|
|
2760
2809
|
} else {
|
|
2761
|
-
insertReturn(results
|
|
2810
|
+
insertReturn(results);
|
|
2762
2811
|
}
|
|
2763
2812
|
return;
|
|
2764
2813
|
}
|
|
@@ -2768,6 +2817,27 @@ function wrapIterationReturningResults(statement, outer, collect) {
|
|
|
2768
2817
|
"wrapIterationReturningResults should not be called twice on the same statement"
|
|
2769
2818
|
);
|
|
2770
2819
|
const resultsRef = statement.resultsRef = makeRef("results");
|
|
2820
|
+
const { declaration, breakWithOnly } = iterationDeclaration(statement);
|
|
2821
|
+
const { ancestor, child } = findAncestor(statement, ($4) => $4.type === "BlockStatement");
|
|
2822
|
+
assert.notNull(ancestor, `Could not find block containing ${statement.type}`);
|
|
2823
|
+
const index = findChildIndex(ancestor.expressions, child);
|
|
2824
|
+
const iterationTuple = ancestor.expressions[index];
|
|
2825
|
+
ancestor.expressions.splice(index, 0, [iterationTuple[0], declaration, ";"]);
|
|
2826
|
+
iterationTuple[0] = "";
|
|
2827
|
+
braceBlock(ancestor);
|
|
2828
|
+
if (!breakWithOnly) {
|
|
2829
|
+
assignResults(statement.block, (node) => {
|
|
2830
|
+
return [resultsRef, ".push(", node, ")"];
|
|
2831
|
+
});
|
|
2832
|
+
}
|
|
2833
|
+
if (collect) {
|
|
2834
|
+
statement.children.push(collect(resultsRef));
|
|
2835
|
+
} else {
|
|
2836
|
+
statement.children.push(";return ", resultsRef, ";");
|
|
2837
|
+
}
|
|
2838
|
+
}
|
|
2839
|
+
function iterationDeclaration(statement) {
|
|
2840
|
+
const { resultsRef } = statement;
|
|
2771
2841
|
let decl = "const";
|
|
2772
2842
|
if (statement.type === "IterationStatement" || statement.type === "ForStatement") {
|
|
2773
2843
|
if (processBreakContinueWith(statement)) {
|
|
@@ -2793,17 +2863,7 @@ function wrapIterationReturningResults(statement, outer, collect) {
|
|
|
2793
2863
|
declaration.children.push(";", resultsRef, "=[]");
|
|
2794
2864
|
}
|
|
2795
2865
|
}
|
|
2796
|
-
|
|
2797
|
-
if (!breakWithOnly) {
|
|
2798
|
-
assignResults(statement.block, (node) => {
|
|
2799
|
-
return [resultsRef, ".push(", node, ")"];
|
|
2800
|
-
});
|
|
2801
|
-
}
|
|
2802
|
-
if (collect) {
|
|
2803
|
-
statement.children.push(collect(resultsRef));
|
|
2804
|
-
} else {
|
|
2805
|
-
statement.children.push(";return ", resultsRef, ";");
|
|
2806
|
-
}
|
|
2866
|
+
return { declaration, breakWithOnly };
|
|
2807
2867
|
}
|
|
2808
2868
|
function processParams(f) {
|
|
2809
2869
|
const { type, parameters, block } = f;
|
|
@@ -2828,9 +2888,9 @@ function processParams(f) {
|
|
|
2828
2888
|
injectParamProps: isConstructor
|
|
2829
2889
|
});
|
|
2830
2890
|
if (isConstructor) {
|
|
2831
|
-
const { ancestor } = findAncestor(f, ($
|
|
2891
|
+
const { ancestor } = findAncestor(f, ($5) => $5.type === "ClassExpression");
|
|
2832
2892
|
if (ancestor != null) {
|
|
2833
|
-
const fields = new Set(gatherRecursiveWithinFunction(ancestor, ($
|
|
2893
|
+
const fields = new Set(gatherRecursiveWithinFunction(ancestor, ($6) => $6.type === "FieldDefinition").map(($7) => $7.id).filter((a) => typeof a === "object" && a != null && "type" in a && a.type === "Identifier").map(($8) => $8.name));
|
|
2834
2894
|
const classExpressions = ancestor.body.expressions;
|
|
2835
2895
|
let index = findChildIndex(classExpressions, f);
|
|
2836
2896
|
assert.notEqual(index, -1, "Could not find constructor in class");
|
|
@@ -2839,12 +2899,12 @@ function processParams(f) {
|
|
|
2839
2899
|
index--;
|
|
2840
2900
|
}
|
|
2841
2901
|
const fStatement = classExpressions[index];
|
|
2842
|
-
for (let ref8 = gatherRecursive(parameters, ($
|
|
2902
|
+
for (let ref8 = gatherRecursive(parameters, ($9) => $9.type === "Parameter"), i1 = 0, len3 = ref8.length; i1 < len3; i1++) {
|
|
2843
2903
|
const parameter = ref8[i1];
|
|
2844
2904
|
if (!parameter.typeSuffix) {
|
|
2845
2905
|
continue;
|
|
2846
2906
|
}
|
|
2847
|
-
for (let ref9 = gatherRecursive(parameter, ($
|
|
2907
|
+
for (let ref9 = gatherRecursive(parameter, ($10) => $10.type === "AtBinding"), i2 = 0, len1 = ref9.length; i2 < len1; i2++) {
|
|
2848
2908
|
const binding = ref9[i2];
|
|
2849
2909
|
const typeSuffix = binding.parent?.typeSuffix;
|
|
2850
2910
|
if (!typeSuffix) {
|
|
@@ -2856,7 +2916,6 @@ function processParams(f) {
|
|
|
2856
2916
|
}
|
|
2857
2917
|
classExpressions.splice(index++, 0, [fStatement[0], {
|
|
2858
2918
|
type: "FieldDefinition",
|
|
2859
|
-
ts: true,
|
|
2860
2919
|
id,
|
|
2861
2920
|
typeSuffix,
|
|
2862
2921
|
children: [id, typeSuffix]
|
|
@@ -2905,8 +2964,8 @@ function processSignature(f) {
|
|
|
2905
2964
|
}
|
|
2906
2965
|
if (hasYield(block) && !f.generator?.length) {
|
|
2907
2966
|
if (f.type === "ArrowFunction") {
|
|
2908
|
-
gatherRecursiveWithinFunction(block, ($
|
|
2909
|
-
const i = y.children.findIndex(($
|
|
2967
|
+
gatherRecursiveWithinFunction(block, ($11) => $11.type === "YieldExpression").forEach((y) => {
|
|
2968
|
+
const i = y.children.findIndex(($12) => $12.type === "Yield");
|
|
2910
2969
|
return y.children.splice(i + 1, 0, {
|
|
2911
2970
|
type: "Error",
|
|
2912
2971
|
message: "Can't use yield inside of => arrow function"
|
|
@@ -2934,12 +2993,12 @@ function processFunctions(statements, config2) {
|
|
|
2934
2993
|
});
|
|
2935
2994
|
}
|
|
2936
2995
|
function expressionizeIteration(exp) {
|
|
2937
|
-
|
|
2996
|
+
let { async, generator, block, children, statement } = exp;
|
|
2938
2997
|
const i = children.indexOf(statement);
|
|
2939
2998
|
if (i < 0) {
|
|
2940
2999
|
throw new Error("Could not find iteration statement in iteration expression");
|
|
2941
3000
|
}
|
|
2942
|
-
if (
|
|
3001
|
+
if (statement.type === "DoStatement" || statement.type === "ComptimeStatement") {
|
|
2943
3002
|
children.splice(i, 1, wrapIIFE([["", statement, void 0]], async, generator));
|
|
2944
3003
|
updateParentPointers(exp);
|
|
2945
3004
|
return;
|
|
@@ -2952,7 +3011,6 @@ function expressionizeIteration(exp) {
|
|
|
2952
3011
|
children: ["yield ", node]
|
|
2953
3012
|
};
|
|
2954
3013
|
});
|
|
2955
|
-
braceBlock(block);
|
|
2956
3014
|
children.splice(
|
|
2957
3015
|
i,
|
|
2958
3016
|
1,
|
|
@@ -2967,17 +3025,19 @@ function expressionizeIteration(exp) {
|
|
|
2967
3025
|
], async, generator)
|
|
2968
3026
|
);
|
|
2969
3027
|
} else {
|
|
2970
|
-
|
|
2971
|
-
const {
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
3028
|
+
const resultsRef = statement.resultsRef ??= makeRef("results");
|
|
3029
|
+
const { declaration, breakWithOnly } = iterationDeclaration(statement);
|
|
3030
|
+
if (!breakWithOnly) {
|
|
3031
|
+
assignResults(block, (node) => {
|
|
3032
|
+
return [resultsRef, ".push(", node, ")"];
|
|
3033
|
+
});
|
|
3034
|
+
braceBlock(block);
|
|
3035
|
+
}
|
|
2976
3036
|
children.splice(
|
|
2977
3037
|
i,
|
|
2978
3038
|
1,
|
|
2979
3039
|
wrapIIFE([
|
|
2980
|
-
["",
|
|
3040
|
+
["", declaration, ";"],
|
|
2981
3041
|
["", statement, void 0],
|
|
2982
3042
|
["", wrapWithReturn(resultsRef)]
|
|
2983
3043
|
], async)
|
|
@@ -3033,7 +3093,7 @@ function processCoffeeDo(ws, expression) {
|
|
|
3033
3093
|
expression = {
|
|
3034
3094
|
...expression,
|
|
3035
3095
|
parameters: newParameters,
|
|
3036
|
-
children: expression.children.map(($
|
|
3096
|
+
children: expression.children.map(($13) => $13 === parameters ? newParameters : $13)
|
|
3037
3097
|
};
|
|
3038
3098
|
}
|
|
3039
3099
|
return {
|
|
@@ -3055,7 +3115,7 @@ function makeAmpersandFunction(rhs) {
|
|
|
3055
3115
|
ref = makeRef("$");
|
|
3056
3116
|
inplacePrepend(ref, body);
|
|
3057
3117
|
}
|
|
3058
|
-
if (startsWithPredicate(body, ($
|
|
3118
|
+
if (startsWithPredicate(body, ($14) => $14.type === "ObjectExpression")) {
|
|
3059
3119
|
body = makeLeftHandSideExpression(body);
|
|
3060
3120
|
}
|
|
3061
3121
|
const parameters = makeNode({
|
|
@@ -4160,8 +4220,7 @@ function prependStatementExpressionBlock(initializer, statement) {
|
|
|
4160
4220
|
};
|
|
4161
4221
|
pre.unshift(refDec);
|
|
4162
4222
|
} else {
|
|
4163
|
-
wrapIterationReturningResults(statement2,
|
|
4164
|
-
});
|
|
4223
|
+
wrapIterationReturningResults(statement2, () => void 0);
|
|
4165
4224
|
ref = initializer.expression = initializer.children[2] = statement2.resultsRef;
|
|
4166
4225
|
}
|
|
4167
4226
|
} else {
|
|
@@ -4917,22 +4976,168 @@ function processPipelineExpressions(statements) {
|
|
|
4917
4976
|
}
|
|
4918
4977
|
|
|
4919
4978
|
// source/parser/for.civet
|
|
4979
|
+
function processRangeExpression(start, ws1, range, end) {
|
|
4980
|
+
ws1 = [ws1, range.children[0]];
|
|
4981
|
+
const ws2 = range.children[1];
|
|
4982
|
+
const comma = { $loc: range.$loc, token: "," };
|
|
4983
|
+
let ref;
|
|
4984
|
+
switch (range.increasing) {
|
|
4985
|
+
case true: {
|
|
4986
|
+
ref = ($) => $;
|
|
4987
|
+
break;
|
|
4988
|
+
}
|
|
4989
|
+
case false: {
|
|
4990
|
+
ref = ($1) => -$1;
|
|
4991
|
+
break;
|
|
4992
|
+
}
|
|
4993
|
+
default: {
|
|
4994
|
+
ref = Math.abs;
|
|
4995
|
+
}
|
|
4996
|
+
}
|
|
4997
|
+
;
|
|
4998
|
+
const abs = ref;
|
|
4999
|
+
const lengthAdjust = 1 - Number(!range.left.inclusive) - Number(!range.right.inclusive);
|
|
5000
|
+
let ref1;
|
|
5001
|
+
if (lengthAdjust > 0)
|
|
5002
|
+
ref1 = ` + ${lengthAdjust}`;
|
|
5003
|
+
else if (lengthAdjust < 0)
|
|
5004
|
+
ref1 = ` - ${-lengthAdjust}`;
|
|
5005
|
+
else {
|
|
5006
|
+
ref1 = void 0;
|
|
5007
|
+
}
|
|
5008
|
+
;
|
|
5009
|
+
const lengthAdjustExpression = ref1;
|
|
5010
|
+
let children;
|
|
5011
|
+
if (typeof start === "object" && start != null && "type" in start && start.type === "Literal" && (typeof end === "object" && end != null && "type" in end && end.type === "Literal")) {
|
|
5012
|
+
let startValue = literalValue(start);
|
|
5013
|
+
let endValue = literalValue(end);
|
|
5014
|
+
if (typeof startValue === "string" && typeof endValue === "string") {
|
|
5015
|
+
if (!(startValue.length === 1 && 1 === endValue.length)) {
|
|
5016
|
+
throw new Error("String range start and end must be a single character");
|
|
5017
|
+
}
|
|
5018
|
+
let startCode = startValue.charCodeAt(0);
|
|
5019
|
+
let endCode = endValue.charCodeAt(0);
|
|
5020
|
+
const step = startCode <= endCode ? 1 : -1;
|
|
5021
|
+
const length = abs(endCode - startCode) + lengthAdjust;
|
|
5022
|
+
if (!range.left.inclusive) {
|
|
5023
|
+
startCode += step;
|
|
5024
|
+
}
|
|
5025
|
+
if (length <= 26) {
|
|
5026
|
+
children = [
|
|
5027
|
+
"[",
|
|
5028
|
+
Array.from({ length }, (_2, i) => {
|
|
5029
|
+
return JSON.stringify(String.fromCharCode(startCode + i * step));
|
|
5030
|
+
}).join(", "),
|
|
5031
|
+
"]"
|
|
5032
|
+
];
|
|
5033
|
+
} else {
|
|
5034
|
+
children = [
|
|
5035
|
+
`Array.from({length: ${length.toString()}}, `,
|
|
5036
|
+
"(_, i) => String.fromCharCode(",
|
|
5037
|
+
startCode.toString(),
|
|
5038
|
+
step > 0 ? " + " : " - ",
|
|
5039
|
+
"i))"
|
|
5040
|
+
];
|
|
5041
|
+
}
|
|
5042
|
+
if (range.error != null) {
|
|
5043
|
+
children.unshift(range.error);
|
|
5044
|
+
}
|
|
5045
|
+
} else if (typeof startValue === "number" && typeof endValue === "number") {
|
|
5046
|
+
const step = startValue <= endValue ? 1 : -1;
|
|
5047
|
+
const length = abs(endValue - startValue) + lengthAdjust;
|
|
5048
|
+
if (!range.left.inclusive) {
|
|
5049
|
+
startValue += step;
|
|
5050
|
+
}
|
|
5051
|
+
if (length <= 20) {
|
|
5052
|
+
children = [
|
|
5053
|
+
"[",
|
|
5054
|
+
Array.from({ length }, (_2, i) => startValue + i * step).join(", "),
|
|
5055
|
+
"]"
|
|
5056
|
+
];
|
|
5057
|
+
if (range.error != null) {
|
|
5058
|
+
children.unshift(range.error);
|
|
5059
|
+
}
|
|
5060
|
+
}
|
|
5061
|
+
}
|
|
5062
|
+
}
|
|
5063
|
+
if (!(children != null)) {
|
|
5064
|
+
if (range.increasing != null) {
|
|
5065
|
+
const sign = range.increasing ? "+" : "-";
|
|
5066
|
+
end = makeLeftHandSideExpression(end);
|
|
5067
|
+
children = [
|
|
5068
|
+
"((s) => Array.from({length: ",
|
|
5069
|
+
range.increasing ? [ws2, end, " - s"] : ["s - ", ws2, end],
|
|
5070
|
+
lengthAdjustExpression,
|
|
5071
|
+
"}, (_, i) => s ",
|
|
5072
|
+
sign,
|
|
5073
|
+
" i))",
|
|
5074
|
+
"(",
|
|
5075
|
+
range.left.inclusive ? start : [makeLeftHandSideExpression(start), ` ${sign} 1`],
|
|
5076
|
+
...ws1,
|
|
5077
|
+
")"
|
|
5078
|
+
];
|
|
5079
|
+
} else {
|
|
5080
|
+
children = [
|
|
5081
|
+
"((s, e) => {let step = e > s ? 1 : -1; return Array.from({length: Math.abs(e - s)",
|
|
5082
|
+
lengthAdjustExpression,
|
|
5083
|
+
"}, (_, i) => s + i * step)})",
|
|
5084
|
+
"(",
|
|
5085
|
+
start,
|
|
5086
|
+
...ws1,
|
|
5087
|
+
comma,
|
|
5088
|
+
ws2,
|
|
5089
|
+
end,
|
|
5090
|
+
")"
|
|
5091
|
+
];
|
|
5092
|
+
}
|
|
5093
|
+
}
|
|
5094
|
+
return {
|
|
5095
|
+
type: "RangeExpression",
|
|
5096
|
+
children,
|
|
5097
|
+
start,
|
|
5098
|
+
end,
|
|
5099
|
+
error: range.error,
|
|
5100
|
+
left: range.left,
|
|
5101
|
+
right: range.right,
|
|
5102
|
+
increasing: range.increasing
|
|
5103
|
+
};
|
|
5104
|
+
}
|
|
4920
5105
|
function forRange(open, forDeclaration, range, stepExp, close) {
|
|
4921
|
-
const { start, end,
|
|
5106
|
+
const { start, end, left, right, increasing } = range;
|
|
4922
5107
|
const counterRef = makeRef("i");
|
|
4923
|
-
const infinite = end.type === "Identifier" && end.name === "Infinity";
|
|
4924
|
-
let stepRef;
|
|
5108
|
+
const infinite = typeof end === "object" && end != null && "type" in end && end.type === "Identifier" && "name" in end && end.name === "Infinity";
|
|
5109
|
+
let stepRef, asc;
|
|
4925
5110
|
if (stepExp) {
|
|
4926
5111
|
stepExp = insertTrimmingSpace(stepExp, "");
|
|
4927
5112
|
stepRef = maybeRef(stepExp, "step");
|
|
4928
5113
|
} else if (infinite) {
|
|
4929
5114
|
stepExp = stepRef = "1";
|
|
5115
|
+
} else if (increasing != null) {
|
|
5116
|
+
if (increasing) {
|
|
5117
|
+
stepExp = stepRef = "1";
|
|
5118
|
+
asc = true;
|
|
5119
|
+
} else {
|
|
5120
|
+
stepExp = stepRef = "-1";
|
|
5121
|
+
asc = false;
|
|
5122
|
+
}
|
|
4930
5123
|
}
|
|
4931
|
-
let
|
|
5124
|
+
let ref2;
|
|
5125
|
+
if (stepRef)
|
|
5126
|
+
ref2 = start;
|
|
5127
|
+
else
|
|
5128
|
+
ref2 = maybeRef(start, "start");
|
|
5129
|
+
let startRef = ref2;
|
|
4932
5130
|
let endRef = maybeRef(end, "end");
|
|
4933
5131
|
const startRefDec = startRef !== start ? [startRef, " = ", start, ", "] : [];
|
|
4934
5132
|
const endRefDec = endRef !== end ? [endRef, " = ", end, ", "] : [];
|
|
4935
|
-
|
|
5133
|
+
if (!left.inclusive) {
|
|
5134
|
+
startRef = [
|
|
5135
|
+
makeLeftHandSideExpression(start),
|
|
5136
|
+
" + ",
|
|
5137
|
+
stepRef
|
|
5138
|
+
];
|
|
5139
|
+
}
|
|
5140
|
+
let ascDec = [], ascRef;
|
|
4936
5141
|
if (stepRef) {
|
|
4937
5142
|
if (!(stepRef === stepExp)) {
|
|
4938
5143
|
ascDec = [", ", stepRef, " = ", stepExp];
|
|
@@ -4967,12 +5172,12 @@ function forRange(open, forDeclaration, range, stepExp, close) {
|
|
|
4967
5172
|
children: ["let ", ...startRefDec, ...endRefDec, counterRef, " = ", ...varLetAssign, startRef, ...varLet, ...ascDec],
|
|
4968
5173
|
names: forDeclaration?.names
|
|
4969
5174
|
};
|
|
4970
|
-
const counterPart = inclusive ? [counterRef, " <= ", endRef, " : ", counterRef, " >= ", endRef] : [counterRef, " < ", endRef, " : ", counterRef, " > ", endRef];
|
|
4971
|
-
const condition = infinite ? [] : stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] :
|
|
4972
|
-
const increment =
|
|
5175
|
+
const counterPart = right.inclusive ? [counterRef, " <= ", endRef, " : ", counterRef, " >= ", endRef] : [counterRef, " < ", endRef, " : ", counterRef, " > ", endRef];
|
|
5176
|
+
const condition = infinite ? [] : asc != null ? asc ? counterPart.slice(0, 3) : counterPart.slice(4) : stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : [ascRef, " ? ", ...counterPart];
|
|
5177
|
+
const increment = stepRef === "1" ? [...varAssign, "++", counterRef] : stepRef === "-1" ? [...varAssign, "--", counterRef] : stepRef ? [...varAssign, counterRef, " += ", stepRef] : ascRef ? [...varAssign, ascRef, " ? ++", counterRef, " : --", counterRef] : [...varAssign, asc ? "++" : "--", counterRef];
|
|
4973
5178
|
return {
|
|
4974
5179
|
declaration,
|
|
4975
|
-
children: [open, declaration, "; ", ...condition, "; ", ...increment, close],
|
|
5180
|
+
children: [range.error, open, declaration, "; ", ...condition, "; ", ...increment, close],
|
|
4976
5181
|
blockPrefix
|
|
4977
5182
|
};
|
|
4978
5183
|
}
|
|
@@ -5614,7 +5819,131 @@ function handleThisPrivateShorthands(value) {
|
|
|
5614
5819
|
return [value, value.thisShorthand];
|
|
5615
5820
|
}
|
|
5616
5821
|
function processTryBlock($0) {
|
|
5617
|
-
let [t, , b,
|
|
5822
|
+
let [t, , b, cs, e, f] = $0;
|
|
5823
|
+
let c;
|
|
5824
|
+
let m;
|
|
5825
|
+
if (cs.some(($) => (m = $.binding?.parameter, typeof m === "object" && m != null && "type" in m && m.type === "CatchPattern"))) {
|
|
5826
|
+
const ref = makeRef("e");
|
|
5827
|
+
const binding = {
|
|
5828
|
+
type: "CatchBinding",
|
|
5829
|
+
children: ["(", ref, ")"],
|
|
5830
|
+
parameter: ref
|
|
5831
|
+
};
|
|
5832
|
+
const condition = {
|
|
5833
|
+
type: "ParenthesizedExpression",
|
|
5834
|
+
children: ["(", ref, ")"],
|
|
5835
|
+
expression: ref
|
|
5836
|
+
};
|
|
5837
|
+
let defaultClause = false;
|
|
5838
|
+
const clauses = cs.map((clause) => {
|
|
5839
|
+
let ref1;
|
|
5840
|
+
if ((ref1 = clause.binding?.parameter) && typeof ref1 === "object" && "type" in ref1 && ref1.type === "CatchPattern" && "patterns" in ref1) {
|
|
5841
|
+
const { type, patterns } = ref1;
|
|
5842
|
+
return {
|
|
5843
|
+
type: "PatternClause",
|
|
5844
|
+
patterns,
|
|
5845
|
+
block: clause.block,
|
|
5846
|
+
children: [patterns, clause.block]
|
|
5847
|
+
};
|
|
5848
|
+
} else {
|
|
5849
|
+
defaultClause = true;
|
|
5850
|
+
const parameter = clause.binding?.parameter;
|
|
5851
|
+
if (parameter != null) {
|
|
5852
|
+
assert.equal(
|
|
5853
|
+
parameter.type,
|
|
5854
|
+
"CatchParameter",
|
|
5855
|
+
`Invalid catch parameter ${parameter.type}`
|
|
5856
|
+
);
|
|
5857
|
+
const { binding: pattern, typeSuffix } = parameter;
|
|
5858
|
+
const initializer = {
|
|
5859
|
+
type: "Initializer",
|
|
5860
|
+
expression: ref,
|
|
5861
|
+
children: ["", " = ", ref]
|
|
5862
|
+
};
|
|
5863
|
+
const bindings = [{
|
|
5864
|
+
type: "Binding",
|
|
5865
|
+
names: pattern.names,
|
|
5866
|
+
pattern,
|
|
5867
|
+
typeSuffix,
|
|
5868
|
+
initializer,
|
|
5869
|
+
children: [pattern, typeSuffix, initializer],
|
|
5870
|
+
splices: [],
|
|
5871
|
+
thisAssignments: []
|
|
5872
|
+
}];
|
|
5873
|
+
clause.block.expressions.unshift(["", {
|
|
5874
|
+
type: "Declaration",
|
|
5875
|
+
children: ["let", " ", bindings],
|
|
5876
|
+
bindings,
|
|
5877
|
+
names: bindings[0].names,
|
|
5878
|
+
decl: "let"
|
|
5879
|
+
}, ";"]);
|
|
5880
|
+
}
|
|
5881
|
+
return {
|
|
5882
|
+
type: "DefaultClause",
|
|
5883
|
+
block: clause.block,
|
|
5884
|
+
children: ["default: ", clause.block]
|
|
5885
|
+
};
|
|
5886
|
+
}
|
|
5887
|
+
});
|
|
5888
|
+
if (!defaultClause) {
|
|
5889
|
+
const expressions = [[
|
|
5890
|
+
"",
|
|
5891
|
+
{
|
|
5892
|
+
type: "ThrowStatement",
|
|
5893
|
+
children: ["throw", " ", ref]
|
|
5894
|
+
}
|
|
5895
|
+
]];
|
|
5896
|
+
const block2 = {
|
|
5897
|
+
type: "BlockStatement",
|
|
5898
|
+
expressions,
|
|
5899
|
+
children: [" {", expressions, "}"],
|
|
5900
|
+
bare: false
|
|
5901
|
+
};
|
|
5902
|
+
clauses.push({
|
|
5903
|
+
type: "DefaultClause",
|
|
5904
|
+
block: block2,
|
|
5905
|
+
children: ["default: ", block2]
|
|
5906
|
+
});
|
|
5907
|
+
}
|
|
5908
|
+
const caseBlock = {
|
|
5909
|
+
type: "CaseBlock",
|
|
5910
|
+
clauses,
|
|
5911
|
+
children: [" {", clauses, "}"]
|
|
5912
|
+
};
|
|
5913
|
+
const patternSwitch = {
|
|
5914
|
+
type: "SwitchStatement",
|
|
5915
|
+
condition,
|
|
5916
|
+
caseBlock,
|
|
5917
|
+
children: ["switch", condition, caseBlock]
|
|
5918
|
+
};
|
|
5919
|
+
const block = {
|
|
5920
|
+
type: "BlockStatement",
|
|
5921
|
+
bare: false,
|
|
5922
|
+
expressions: [["", patternSwitch]],
|
|
5923
|
+
children: [" {", patternSwitch, "}"]
|
|
5924
|
+
};
|
|
5925
|
+
c = makeNode({
|
|
5926
|
+
type: "CatchClause",
|
|
5927
|
+
children: [
|
|
5928
|
+
cs[0].children[0],
|
|
5929
|
+
// whitespace
|
|
5930
|
+
cs[0].children[1],
|
|
5931
|
+
// catch token
|
|
5932
|
+
binding,
|
|
5933
|
+
block
|
|
5934
|
+
],
|
|
5935
|
+
binding,
|
|
5936
|
+
block
|
|
5937
|
+
});
|
|
5938
|
+
} else {
|
|
5939
|
+
c = cs[0];
|
|
5940
|
+
if (cs.length > 1) {
|
|
5941
|
+
c = append(c, {
|
|
5942
|
+
type: "Error",
|
|
5943
|
+
message: "Only one catch clause allowed unless using pattern matching"
|
|
5944
|
+
});
|
|
5945
|
+
}
|
|
5946
|
+
}
|
|
5618
5947
|
if (!c && (e || !f)) {
|
|
5619
5948
|
const emptyCatchBlock = makeEmptyBlock();
|
|
5620
5949
|
c = {
|
|
@@ -5713,8 +6042,9 @@ function processCallMemberExpression(node) {
|
|
|
5713
6042
|
}
|
|
5714
6043
|
}
|
|
5715
6044
|
}
|
|
5716
|
-
for (let
|
|
5717
|
-
const
|
|
6045
|
+
for (let i3 = 0, len22 = children.length; i3 < len22; i3++) {
|
|
6046
|
+
const i = i3;
|
|
6047
|
+
const glob = children[i3];
|
|
5718
6048
|
if (glob?.type === "PropertyGlob") {
|
|
5719
6049
|
let prefix = children.slice(0, i);
|
|
5720
6050
|
const parts = [];
|
|
@@ -5785,14 +6115,14 @@ function processCallMemberExpression(node) {
|
|
|
5785
6115
|
});
|
|
5786
6116
|
}
|
|
5787
6117
|
}
|
|
5788
|
-
let
|
|
6118
|
+
let ref2;
|
|
5789
6119
|
let object = {
|
|
5790
6120
|
type: "ObjectExpression",
|
|
5791
6121
|
children: [
|
|
5792
6122
|
glob.object.children[0],
|
|
5793
6123
|
// {
|
|
5794
6124
|
...parts,
|
|
5795
|
-
(
|
|
6125
|
+
(ref2 = glob.object.children)[ref2.length - 1]
|
|
5796
6126
|
// whitespace and }
|
|
5797
6127
|
],
|
|
5798
6128
|
properties: parts,
|
|
@@ -5834,6 +6164,33 @@ function processCallMemberExpression(node) {
|
|
|
5834
6164
|
...children.slice(i + 1)
|
|
5835
6165
|
]
|
|
5836
6166
|
});
|
|
6167
|
+
} else if (typeof glob === "object" && glob != null && "type" in glob && glob.type === "SliceExpression" && "reversed" in glob && glob.reversed === true) {
|
|
6168
|
+
const args = [
|
|
6169
|
+
{ ...node, children: node.children.slice(0, i) },
|
|
6170
|
+
{ ...glob.children[0], token: ", " },
|
|
6171
|
+
...glob.children.slice(1, -1)
|
|
6172
|
+
];
|
|
6173
|
+
let ref3;
|
|
6174
|
+
return makeNode({
|
|
6175
|
+
...node,
|
|
6176
|
+
children: [
|
|
6177
|
+
{
|
|
6178
|
+
type: "CallExpression",
|
|
6179
|
+
children: [
|
|
6180
|
+
getHelperRef("rslice"),
|
|
6181
|
+
makeNode({
|
|
6182
|
+
type: "Call",
|
|
6183
|
+
args,
|
|
6184
|
+
children: [
|
|
6185
|
+
"(",
|
|
6186
|
+
args,
|
|
6187
|
+
(ref3 = glob.children)[ref3.length - 1]
|
|
6188
|
+
]
|
|
6189
|
+
})
|
|
6190
|
+
]
|
|
6191
|
+
}
|
|
6192
|
+
]
|
|
6193
|
+
});
|
|
5837
6194
|
}
|
|
5838
6195
|
}
|
|
5839
6196
|
return node;
|
|
@@ -5844,9 +6201,9 @@ function replaceNode(node, newNode, parent) {
|
|
|
5844
6201
|
throw new Error("replaceNode failed: node has no parent");
|
|
5845
6202
|
}
|
|
5846
6203
|
function recurse(children) {
|
|
5847
|
-
for (let
|
|
5848
|
-
const i =
|
|
5849
|
-
const child = children[
|
|
6204
|
+
for (let i4 = 0, len3 = children.length; i4 < len3; i4++) {
|
|
6205
|
+
const i = i4;
|
|
6206
|
+
const child = children[i4];
|
|
5850
6207
|
if (child === node) {
|
|
5851
6208
|
children[i] = newNode;
|
|
5852
6209
|
return true;
|
|
@@ -5938,8 +6295,8 @@ function convertNamedImportsToObject(node, pattern) {
|
|
|
5938
6295
|
return { type: "Error", message: "cannot use `type` in dynamic import" };
|
|
5939
6296
|
} else {
|
|
5940
6297
|
const { source, binding } = specifier;
|
|
5941
|
-
let
|
|
5942
|
-
const delim = (
|
|
6298
|
+
let ref4;
|
|
6299
|
+
const delim = (ref4 = specifier.children)[ref4.length - 1];
|
|
5943
6300
|
return {
|
|
5944
6301
|
type: pattern ? "BindingProperty" : "Property",
|
|
5945
6302
|
name: source,
|
|
@@ -5949,7 +6306,7 @@ function convertNamedImportsToObject(node, pattern) {
|
|
|
5949
6306
|
};
|
|
5950
6307
|
}
|
|
5951
6308
|
});
|
|
5952
|
-
let
|
|
6309
|
+
let ref5;
|
|
5953
6310
|
return {
|
|
5954
6311
|
type: pattern ? "ObjectBindingPattern" : "ObjectExpression",
|
|
5955
6312
|
names: node.names,
|
|
@@ -5958,7 +6315,7 @@ function convertNamedImportsToObject(node, pattern) {
|
|
|
5958
6315
|
node.children[0],
|
|
5959
6316
|
// {
|
|
5960
6317
|
properties,
|
|
5961
|
-
(
|
|
6318
|
+
(ref5 = node.children)[ref5.length - 1]
|
|
5962
6319
|
// }
|
|
5963
6320
|
]
|
|
5964
6321
|
};
|
|
@@ -6064,8 +6421,8 @@ function processAssignments(statements) {
|
|
|
6064
6421
|
while (expr.type === "ParenthesizedExpression") {
|
|
6065
6422
|
expr = expr.expression;
|
|
6066
6423
|
}
|
|
6067
|
-
let
|
|
6068
|
-
if (
|
|
6424
|
+
let m1;
|
|
6425
|
+
if (m1 = expr.type, m1 === "AssignmentExpression" || m1 === "UpdateExpression") {
|
|
6069
6426
|
if (expr.type === "UpdateExpression" && expr.children[0] === expr.assigned) {
|
|
6070
6427
|
pre.push("(");
|
|
6071
6428
|
post.push([", ", lhs, ")"]);
|
|
@@ -6079,15 +6436,15 @@ function processAssignments(statements) {
|
|
|
6079
6436
|
return;
|
|
6080
6437
|
}
|
|
6081
6438
|
const pre = [], post = [];
|
|
6082
|
-
let
|
|
6439
|
+
let ref6;
|
|
6083
6440
|
switch (exp.type) {
|
|
6084
6441
|
case "AssignmentExpression": {
|
|
6085
6442
|
if (!exp.lhs)
|
|
6086
6443
|
return;
|
|
6087
6444
|
exp.lhs.forEach((lhsPart, i) => {
|
|
6088
|
-
let
|
|
6089
|
-
if (
|
|
6090
|
-
const newLhs =
|
|
6445
|
+
let ref7;
|
|
6446
|
+
if (ref7 = extractAssignment(lhsPart[1])) {
|
|
6447
|
+
const newLhs = ref7;
|
|
6091
6448
|
return lhsPart[1] = newLhs;
|
|
6092
6449
|
}
|
|
6093
6450
|
;
|
|
@@ -6096,8 +6453,8 @@ function processAssignments(statements) {
|
|
|
6096
6453
|
break;
|
|
6097
6454
|
}
|
|
6098
6455
|
case "UpdateExpression": {
|
|
6099
|
-
if (
|
|
6100
|
-
const newLhs =
|
|
6456
|
+
if (ref6 = extractAssignment(exp.assigned)) {
|
|
6457
|
+
const newLhs = ref6;
|
|
6101
6458
|
const i = exp.children.indexOf(exp.assigned);
|
|
6102
6459
|
exp.assigned = exp.children[i] = newLhs;
|
|
6103
6460
|
}
|
|
@@ -6113,7 +6470,7 @@ function processAssignments(statements) {
|
|
|
6113
6470
|
const { assigned } = exp;
|
|
6114
6471
|
const ref = makeRef();
|
|
6115
6472
|
const newMemberExp = unchainOptionalMemberExpression(assigned, ref, (children) => {
|
|
6116
|
-
return exp.children.map(($) => $ === assigned ? children : $);
|
|
6473
|
+
return exp.children.map(($3) => $3 === assigned ? children : $3);
|
|
6117
6474
|
});
|
|
6118
6475
|
if (newMemberExp !== assigned) {
|
|
6119
6476
|
if (newMemberExp.usesRef) {
|
|
@@ -6137,23 +6494,23 @@ function processAssignments(statements) {
|
|
|
6137
6494
|
(exp) => {
|
|
6138
6495
|
let { lhs: $1, expression: $2 } = exp, tail = [], len3 = $1.length;
|
|
6139
6496
|
let block;
|
|
6140
|
-
let
|
|
6141
|
-
if (exp.parent?.type === "BlockStatement" && !(
|
|
6497
|
+
let ref8;
|
|
6498
|
+
if (exp.parent?.type === "BlockStatement" && !(ref8 = $1[$1.length - 1])?.[ref8.length - 1]?.special) {
|
|
6142
6499
|
block = makeBlockFragment();
|
|
6143
|
-
let
|
|
6144
|
-
if (
|
|
6500
|
+
let ref9;
|
|
6501
|
+
if (ref9 = prependStatementExpressionBlock(
|
|
6145
6502
|
{ type: "Initializer", expression: $2, children: [void 0, void 0, $2] },
|
|
6146
6503
|
block
|
|
6147
6504
|
)) {
|
|
6148
|
-
const ref =
|
|
6149
|
-
exp.children = exp.children.map(($
|
|
6505
|
+
const ref = ref9;
|
|
6506
|
+
exp.children = exp.children.map(($4) => $4 === $2 ? ref : $4);
|
|
6150
6507
|
$2 = ref;
|
|
6151
6508
|
} else {
|
|
6152
6509
|
block = void 0;
|
|
6153
6510
|
}
|
|
6154
6511
|
}
|
|
6155
|
-
let
|
|
6156
|
-
if ($1.some(($
|
|
6512
|
+
let ref10;
|
|
6513
|
+
if ($1.some(($5) => (ref10 = $5)[ref10.length - 1].special)) {
|
|
6157
6514
|
if ($1.length !== 1)
|
|
6158
6515
|
throw new Error("Only one assignment with id= is allowed");
|
|
6159
6516
|
const [, lhs, , op] = $1[0];
|
|
@@ -6178,8 +6535,8 @@ function processAssignments(statements) {
|
|
|
6178
6535
|
if (!(op.token === "=")) {
|
|
6179
6536
|
continue;
|
|
6180
6537
|
}
|
|
6181
|
-
let
|
|
6182
|
-
if (
|
|
6538
|
+
let m2;
|
|
6539
|
+
if (m2 = lhs.type, m2 === "ObjectExpression" || m2 === "ObjectBindingPattern") {
|
|
6183
6540
|
if (!wrapped) {
|
|
6184
6541
|
wrapped = true;
|
|
6185
6542
|
lhs.children.splice(0, 0, "(");
|
|
@@ -6193,10 +6550,17 @@ function processAssignments(statements) {
|
|
|
6193
6550
|
const lastAssignment = $1[i];
|
|
6194
6551
|
if (lastAssignment[3].token === "=") {
|
|
6195
6552
|
const lhs = lastAssignment[1];
|
|
6196
|
-
let
|
|
6553
|
+
let m3;
|
|
6197
6554
|
if (lhs.type === "MemberExpression") {
|
|
6198
6555
|
const members = lhs.children;
|
|
6199
6556
|
const lastMember = members[members.length - 1];
|
|
6557
|
+
if (typeof lastMember === "object" && lastMember != null && "type" in lastMember && lastMember.type === "CallExpression" && "children" in lastMember && Array.isArray(lastMember.children) && lastMember.children.length >= 1 && lastMember.children[0] === peekHelperRef("rslice")) {
|
|
6558
|
+
lastMember.children.push({
|
|
6559
|
+
type: "Error",
|
|
6560
|
+
message: "Slice range cannot be decreasing in assignment"
|
|
6561
|
+
});
|
|
6562
|
+
break;
|
|
6563
|
+
}
|
|
6200
6564
|
if (lastMember.type === "SliceExpression") {
|
|
6201
6565
|
const { start, end, children: c } = lastMember;
|
|
6202
6566
|
c[0].token = ".splice(";
|
|
@@ -6219,9 +6583,9 @@ function processAssignments(statements) {
|
|
|
6219
6583
|
exp.names = [];
|
|
6220
6584
|
break;
|
|
6221
6585
|
}
|
|
6222
|
-
} else if (
|
|
6586
|
+
} else if (m3 = lhs.type, m3 === "ObjectBindingPattern" || m3 === "ArrayBindingPattern") {
|
|
6223
6587
|
processBindingPatternLHS(lhs, tail);
|
|
6224
|
-
gatherRecursiveAll(lhs, ($
|
|
6588
|
+
gatherRecursiveAll(lhs, ($6) => $6.type === "Ref").forEach(refsToDeclare.add.bind(refsToDeclare));
|
|
6225
6589
|
}
|
|
6226
6590
|
}
|
|
6227
6591
|
i--;
|
|
@@ -6254,7 +6618,7 @@ function processAssignments(statements) {
|
|
|
6254
6618
|
}
|
|
6255
6619
|
if (refsToDeclare.size) {
|
|
6256
6620
|
if (exp.hoistDec) {
|
|
6257
|
-
exp.hoistDec.children.push([...refsToDeclare].map(($
|
|
6621
|
+
exp.hoistDec.children.push([...refsToDeclare].map(($7) => [",", $7]));
|
|
6258
6622
|
} else {
|
|
6259
6623
|
exp.hoistDec = {
|
|
6260
6624
|
type: "Declaration",
|
|
@@ -6328,9 +6692,9 @@ function unchainOptionalMemberExpression(exp, ref, innerExp) {
|
|
|
6328
6692
|
}
|
|
6329
6693
|
j++;
|
|
6330
6694
|
}
|
|
6331
|
-
let
|
|
6332
|
-
if (
|
|
6333
|
-
const l =
|
|
6695
|
+
let ref11;
|
|
6696
|
+
if (ref11 = conditions.length) {
|
|
6697
|
+
const l = ref11;
|
|
6334
6698
|
const cs = flatJoin(conditions, " && ");
|
|
6335
6699
|
return {
|
|
6336
6700
|
...exp,
|
|
@@ -6369,27 +6733,27 @@ function processTypes(node) {
|
|
|
6369
6733
|
if (!unary.suffix.length) {
|
|
6370
6734
|
return;
|
|
6371
6735
|
}
|
|
6372
|
-
let
|
|
6373
|
-
let
|
|
6374
|
-
if (
|
|
6375
|
-
const { token } =
|
|
6736
|
+
let ref12;
|
|
6737
|
+
let m4;
|
|
6738
|
+
if (m4 = (ref12 = unary.suffix)[ref12.length - 1], typeof m4 === "object" && m4 != null && "token" in m4 && m4.token === "?") {
|
|
6739
|
+
const { token } = m4;
|
|
6376
6740
|
let last;
|
|
6377
6741
|
let count = 0;
|
|
6378
|
-
let
|
|
6379
|
-
while (unary.suffix.length && (
|
|
6742
|
+
let ref13;
|
|
6743
|
+
while (unary.suffix.length && (ref13 = unary.suffix)[ref13.length - 1]?.token === "?") {
|
|
6380
6744
|
last = unary.suffix.pop();
|
|
6381
6745
|
count++;
|
|
6382
6746
|
}
|
|
6383
|
-
let
|
|
6384
|
-
while (unary.suffix.length && (
|
|
6747
|
+
let ref14;
|
|
6748
|
+
while (unary.suffix.length && (ref14 = unary.suffix)[ref14.length - 1]?.type === "NonNullAssertion") {
|
|
6385
6749
|
unary.suffix.pop();
|
|
6386
6750
|
}
|
|
6387
|
-
let
|
|
6751
|
+
let ref15;
|
|
6388
6752
|
if (unary.suffix.length || unary.prefix.length)
|
|
6389
|
-
|
|
6753
|
+
ref15 = unary;
|
|
6390
6754
|
else
|
|
6391
|
-
|
|
6392
|
-
const t =
|
|
6755
|
+
ref15 = unary.t;
|
|
6756
|
+
const t = ref15;
|
|
6393
6757
|
if (unary.parent?.type === "TypeTuple") {
|
|
6394
6758
|
if (count === 1) {
|
|
6395
6759
|
unary.suffix.push(last);
|
|
@@ -6415,14 +6779,14 @@ function processTypes(node) {
|
|
|
6415
6779
|
]
|
|
6416
6780
|
});
|
|
6417
6781
|
}
|
|
6418
|
-
} else if (typeof
|
|
6419
|
-
const { type } =
|
|
6420
|
-
let
|
|
6421
|
-
while (unary.suffix.length && (
|
|
6782
|
+
} else if (typeof m4 === "object" && m4 != null && "type" in m4 && m4.type === "NonNullAssertion") {
|
|
6783
|
+
const { type } = m4;
|
|
6784
|
+
let ref16;
|
|
6785
|
+
while (unary.suffix.length && (ref16 = unary.suffix)[ref16.length - 1]?.type === "NonNullAssertion") {
|
|
6422
6786
|
unary.suffix.pop();
|
|
6423
6787
|
}
|
|
6424
|
-
let
|
|
6425
|
-
while (unary.suffix.length && (
|
|
6788
|
+
let ref17;
|
|
6789
|
+
while (unary.suffix.length && (ref17 = unary.suffix)[ref17.length - 1]?.token === "?") {
|
|
6426
6790
|
unary.suffix.pop();
|
|
6427
6791
|
}
|
|
6428
6792
|
const t = trimFirstSpace(
|
|
@@ -6448,14 +6812,14 @@ function processTypes(node) {
|
|
|
6448
6812
|
});
|
|
6449
6813
|
}
|
|
6450
6814
|
function processStatementExpressions(statements) {
|
|
6451
|
-
gatherRecursiveAll(statements, ($
|
|
6815
|
+
gatherRecursiveAll(statements, ($8) => $8.type === "StatementExpression").forEach((_exp) => {
|
|
6452
6816
|
const exp = _exp;
|
|
6453
6817
|
const { statement } = exp;
|
|
6454
|
-
let
|
|
6818
|
+
let ref18;
|
|
6455
6819
|
switch (statement.type) {
|
|
6456
6820
|
case "IfStatement": {
|
|
6457
|
-
if (
|
|
6458
|
-
const expression =
|
|
6821
|
+
if (ref18 = expressionizeIfStatement(statement)) {
|
|
6822
|
+
const expression = ref18;
|
|
6459
6823
|
return replaceNode(statement, expression, exp);
|
|
6460
6824
|
} else {
|
|
6461
6825
|
return replaceNode(statement, wrapIIFE([["", statement]]), exp);
|
|
@@ -6524,7 +6888,7 @@ function processProgram(root) {
|
|
|
6524
6888
|
if (config2.iife || config2.repl) {
|
|
6525
6889
|
rootIIFE = wrapIIFE(root.expressions, root.topLevelAwait);
|
|
6526
6890
|
const newExpressions = [["", rootIIFE]];
|
|
6527
|
-
root.children = root.children.map(($
|
|
6891
|
+
root.children = root.children.map(($9) => $9 === root.expressions ? newExpressions : $9);
|
|
6528
6892
|
root.expressions = newExpressions;
|
|
6529
6893
|
}
|
|
6530
6894
|
addParentPointers(root);
|
|
@@ -6564,17 +6928,17 @@ async function processProgramAsync(root) {
|
|
|
6564
6928
|
await processComptime(statements);
|
|
6565
6929
|
}
|
|
6566
6930
|
function processRepl(root, rootIIFE) {
|
|
6567
|
-
const topBlock = gatherRecursive(rootIIFE, ($
|
|
6931
|
+
const topBlock = gatherRecursive(rootIIFE, ($10) => $10.type === "BlockStatement")[0];
|
|
6568
6932
|
let i = 0;
|
|
6569
|
-
for (let
|
|
6570
|
-
const decl =
|
|
6933
|
+
for (let ref19 = gatherRecursiveWithinFunction(topBlock, ($11) => $11.type === "Declaration"), i5 = 0, len4 = ref19.length; i5 < len4; i5++) {
|
|
6934
|
+
const decl = ref19[i5];
|
|
6571
6935
|
if (decl.parent === topBlock || decl.decl === "var") {
|
|
6572
6936
|
decl.children.shift();
|
|
6573
6937
|
root.expressions.splice(i++, 0, ["", `var ${decl.names.join(",")};`]);
|
|
6574
6938
|
}
|
|
6575
6939
|
}
|
|
6576
|
-
for (let
|
|
6577
|
-
const func =
|
|
6940
|
+
for (let ref20 = gatherRecursive(topBlock, ($12) => $12.type === "FunctionExpression"), i6 = 0, len5 = ref20.length; i6 < len5; i6++) {
|
|
6941
|
+
const func = ref20[i6];
|
|
6578
6942
|
if (func.name && func.parent?.type === "BlockStatement") {
|
|
6579
6943
|
if (func.parent === topBlock) {
|
|
6580
6944
|
replaceNode(func, void 0);
|
|
@@ -6586,17 +6950,17 @@ function processRepl(root, rootIIFE) {
|
|
|
6586
6950
|
}
|
|
6587
6951
|
}
|
|
6588
6952
|
}
|
|
6589
|
-
for (let
|
|
6590
|
-
const classExp =
|
|
6591
|
-
let
|
|
6592
|
-
if (classExp.name && classExp.parent === topBlock || (
|
|
6953
|
+
for (let ref21 = gatherRecursiveWithinFunction(topBlock, ($13) => $13.type === "ClassExpression"), i7 = 0, len6 = ref21.length; i7 < len6; i7++) {
|
|
6954
|
+
const classExp = ref21[i7];
|
|
6955
|
+
let m5;
|
|
6956
|
+
if (classExp.name && classExp.parent === topBlock || (m5 = classExp.parent, typeof m5 === "object" && m5 != null && "type" in m5 && m5.type === "ReturnStatement" && "parent" in m5 && m5.parent === topBlock)) {
|
|
6593
6957
|
classExp.children.unshift(classExp.name, "=");
|
|
6594
6958
|
root.expressions.splice(i++, 0, ["", `var ${classExp.name};`]);
|
|
6595
6959
|
}
|
|
6596
6960
|
}
|
|
6597
6961
|
}
|
|
6598
6962
|
function populateRefs(statements) {
|
|
6599
|
-
const refNodes = gatherRecursive(statements, ($
|
|
6963
|
+
const refNodes = gatherRecursive(statements, ($14) => $14.type === "Ref");
|
|
6600
6964
|
if (refNodes.length) {
|
|
6601
6965
|
const ids = gatherRecursive(statements, (s) => s.type === "Identifier");
|
|
6602
6966
|
const names = new Set(ids.flatMap(({ names: names2 }) => names2 || []));
|
|
@@ -6619,11 +6983,11 @@ function populateRefs(statements) {
|
|
|
6619
6983
|
function processPlaceholders(statements) {
|
|
6620
6984
|
const placeholderMap = /* @__PURE__ */ new Map();
|
|
6621
6985
|
const liftedIfs = /* @__PURE__ */ new Set();
|
|
6622
|
-
gatherRecursiveAll(statements, ($
|
|
6986
|
+
gatherRecursiveAll(statements, ($15) => $15.type === "Placeholder").forEach((_exp) => {
|
|
6623
6987
|
const exp = _exp;
|
|
6624
6988
|
let ancestor;
|
|
6625
6989
|
if (exp.subtype === ".") {
|
|
6626
|
-
({ ancestor } = findAncestor(exp, ($
|
|
6990
|
+
({ ancestor } = findAncestor(exp, ($16) => $16.type === "Call"));
|
|
6627
6991
|
ancestor = ancestor?.parent;
|
|
6628
6992
|
while (ancestor?.parent?.type === "UnaryExpression" || ancestor?.parent?.type === "NewExpression") {
|
|
6629
6993
|
ancestor = ancestor.parent;
|
|
@@ -6642,10 +7006,10 @@ function processPlaceholders(statements) {
|
|
|
6642
7006
|
if (type === "IfStatement") {
|
|
6643
7007
|
liftedIfs.add(ancestor2);
|
|
6644
7008
|
}
|
|
6645
|
-
let m5;
|
|
6646
7009
|
let m6;
|
|
7010
|
+
let m7;
|
|
6647
7011
|
return type === "Call" || // Block, except for if/else blocks when condition already lifted
|
|
6648
|
-
type === "BlockStatement" && !((
|
|
7012
|
+
type === "BlockStatement" && !((m6 = ancestor2.parent, typeof m6 === "object" && m6 != null && "type" in m6 && m6.type === "IfStatement") && liftedIfs.has(ancestor2.parent)) && !((m7 = ancestor2.parent, typeof m7 === "object" && m7 != null && "type" in m7 && m7.type === "ElseClause" && "parent" in m7 && typeof m7.parent === "object" && m7.parent != null && "type" in m7.parent && m7.parent.type === "IfStatement") && liftedIfs.has(ancestor2.parent.parent)) || type === "PipelineExpression" || // Declaration
|
|
6649
7013
|
type === "Initializer" || // Right-hand side of assignment
|
|
6650
7014
|
type === "AssignmentExpression" && findChildIndex(ancestor2, child2) === ancestor2.children.indexOf(ancestor2.expression) || type === "ReturnStatement" || type === "YieldExpression";
|
|
6651
7015
|
}));
|
|
@@ -6721,11 +7085,11 @@ function processPlaceholders(statements) {
|
|
|
6721
7085
|
for (const [ancestor, placeholders] of placeholderMap) {
|
|
6722
7086
|
let ref = makeRef("$");
|
|
6723
7087
|
let typeSuffix;
|
|
6724
|
-
for (let
|
|
6725
|
-
const placeholder = placeholders[
|
|
7088
|
+
for (let i8 = 0, len7 = placeholders.length; i8 < len7; i8++) {
|
|
7089
|
+
const placeholder = placeholders[i8];
|
|
6726
7090
|
typeSuffix ??= placeholder.typeSuffix;
|
|
6727
|
-
let
|
|
6728
|
-
replaceNode((
|
|
7091
|
+
let ref22;
|
|
7092
|
+
replaceNode((ref22 = placeholder.children)[ref22.length - 1], ref);
|
|
6729
7093
|
}
|
|
6730
7094
|
const { parent } = ancestor;
|
|
6731
7095
|
const body = maybeUnwrap(ancestor);
|
|
@@ -6746,16 +7110,16 @@ function processPlaceholders(statements) {
|
|
|
6746
7110
|
}
|
|
6747
7111
|
case "PipelineExpression": {
|
|
6748
7112
|
const i = findChildIndex(parent, ancestor);
|
|
6749
|
-
let
|
|
7113
|
+
let ref23;
|
|
6750
7114
|
if (i === 1) {
|
|
6751
|
-
|
|
7115
|
+
ref23 = ancestor === parent.children[i];
|
|
6752
7116
|
} else if (i === 2) {
|
|
6753
|
-
|
|
7117
|
+
ref23 = ancestor === parent.children[i][findChildIndex(parent.children[i], ancestor)][3];
|
|
6754
7118
|
} else {
|
|
6755
|
-
|
|
7119
|
+
ref23 = void 0;
|
|
6756
7120
|
}
|
|
6757
7121
|
;
|
|
6758
|
-
outer =
|
|
7122
|
+
outer = ref23;
|
|
6759
7123
|
break;
|
|
6760
7124
|
}
|
|
6761
7125
|
case "AssignmentExpression":
|
|
@@ -6770,9 +7134,9 @@ function processPlaceholders(statements) {
|
|
|
6770
7134
|
fnExp = makeLeftHandSideExpression(fnExp);
|
|
6771
7135
|
}
|
|
6772
7136
|
replaceNode(ancestor, fnExp, parent);
|
|
6773
|
-
let
|
|
6774
|
-
if (
|
|
6775
|
-
const ws =
|
|
7137
|
+
let ref24;
|
|
7138
|
+
if (ref24 = getTrimmingSpace(body)) {
|
|
7139
|
+
const ws = ref24;
|
|
6776
7140
|
inplaceInsertTrimmingSpace(body, "");
|
|
6777
7141
|
inplacePrepend(ws, fnExp);
|
|
6778
7142
|
}
|
|
@@ -6817,8 +7181,8 @@ function reorderBindingRestProperty(props) {
|
|
|
6817
7181
|
}
|
|
6818
7182
|
];
|
|
6819
7183
|
}
|
|
6820
|
-
let
|
|
6821
|
-
if (Array.isArray(rest.delim) && (
|
|
7184
|
+
let ref25;
|
|
7185
|
+
if (Array.isArray(rest.delim) && (ref25 = rest.delim)[ref25.length - 1]?.token === ",") {
|
|
6822
7186
|
rest.delim = rest.delim.slice(0, -1);
|
|
6823
7187
|
rest.children = [...rest.children.slice(0, -1), rest.delim];
|
|
6824
7188
|
}
|
|
@@ -6843,9 +7207,9 @@ function replaceNodes(root, predicate, replacer) {
|
|
|
6843
7207
|
return root;
|
|
6844
7208
|
}
|
|
6845
7209
|
}
|
|
6846
|
-
for (let
|
|
6847
|
-
const i =
|
|
6848
|
-
const node = array[
|
|
7210
|
+
for (let i9 = 0, len8 = array.length; i9 < len8; i9++) {
|
|
7211
|
+
const i = i9;
|
|
7212
|
+
const node = array[i9];
|
|
6849
7213
|
if (!(node != null)) {
|
|
6850
7214
|
return;
|
|
6851
7215
|
}
|
|
@@ -6869,9 +7233,9 @@ function replaceNodesRecursive(root, predicate, replacer) {
|
|
|
6869
7233
|
return root;
|
|
6870
7234
|
}
|
|
6871
7235
|
}
|
|
6872
|
-
for (let
|
|
6873
|
-
const i =
|
|
6874
|
-
const node = array[
|
|
7236
|
+
for (let i10 = 0, len9 = array.length; i10 < len9; i10++) {
|
|
7237
|
+
const i = i10;
|
|
7238
|
+
const node = array[i10];
|
|
6875
7239
|
if (!(node != null)) {
|
|
6876
7240
|
continue;
|
|
6877
7241
|
}
|
|
@@ -7171,6 +7535,8 @@ var grammar = {
|
|
|
7171
7535
|
UpcomingAssignment,
|
|
7172
7536
|
ArrayLiteral,
|
|
7173
7537
|
_ArrayLiteral,
|
|
7538
|
+
RangeDots,
|
|
7539
|
+
RangeEnd,
|
|
7174
7540
|
RangeExpression,
|
|
7175
7541
|
ArrayLiteralContent,
|
|
7176
7542
|
NestedElementList,
|
|
@@ -7287,7 +7653,7 @@ var grammar = {
|
|
|
7287
7653
|
IgnoreColon,
|
|
7288
7654
|
TryStatement,
|
|
7289
7655
|
CatchClause,
|
|
7290
|
-
|
|
7656
|
+
CatchBinding,
|
|
7291
7657
|
FinallyClause,
|
|
7292
7658
|
CatchParameter,
|
|
7293
7659
|
Condition,
|
|
@@ -7631,6 +7997,7 @@ var grammar = {
|
|
|
7631
7997
|
TypeSuffix,
|
|
7632
7998
|
MaybeNestedType,
|
|
7633
7999
|
MaybeNestedTypePrimary,
|
|
8000
|
+
MaybeNestedTypeUnary,
|
|
7634
8001
|
ReturnTypeSuffix,
|
|
7635
8002
|
ReturnType,
|
|
7636
8003
|
TypePredicate,
|
|
@@ -8018,86 +8385,87 @@ var $R16 = (0, import_lib4.$R)(new RegExp("(?=true|false|yes|no|on|off)", "suy")
|
|
|
8018
8385
|
var $R17 = (0, import_lib4.$R)(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
|
|
8019
8386
|
var $R18 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
|
|
8020
8387
|
var $R19 = (0, import_lib4.$R)(new RegExp("(?=\\[|\\s*[.\u2022])", "suy"));
|
|
8021
|
-
var $R20 = (0, import_lib4.$R)(new RegExp("[
|
|
8022
|
-
var $R21 = (0, import_lib4.$R)(new RegExp("[ \\t]
|
|
8023
|
-
var $R22 = (0, import_lib4.$R)(new RegExp("[
|
|
8024
|
-
var $R23 = (0, import_lib4.$R)(new RegExp("
|
|
8025
|
-
var $R24 = (0, import_lib4.$R)(new RegExp("[
|
|
8026
|
-
var $R25 = (0, import_lib4.$R)(new RegExp("
|
|
8027
|
-
var $R26 = (0, import_lib4.$R)(new RegExp("
|
|
8028
|
-
var $R27 = (0, import_lib4.$R)(new RegExp("
|
|
8029
|
-
var $R28 = (0, import_lib4.$R)(new RegExp("[
|
|
8030
|
-
var $R29 = (0, import_lib4.$R)(new RegExp("
|
|
8031
|
-
var $R30 = (0, import_lib4.$R)(new RegExp("(?=
|
|
8032
|
-
var $R31 = (0, import_lib4.$R)(new RegExp(
|
|
8033
|
-
var $R32 = (0, import_lib4.$R)(new RegExp("
|
|
8034
|
-
var $R33 = (0, import_lib4.$R)(new RegExp("(
|
|
8035
|
-
var $R34 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)
|
|
8036
|
-
var $R35 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(
|
|
8037
|
-
var $R36 = (0, import_lib4.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
|
|
8038
|
-
var $R37 = (0, import_lib4.$R)(new RegExp("(
|
|
8039
|
-
var $R38 = (0, import_lib4.$R)(new RegExp("
|
|
8040
|
-
var $R39 = (0, import_lib4.$R)(new RegExp("0[
|
|
8041
|
-
var $R40 = (0, import_lib4.$R)(new RegExp("0[
|
|
8042
|
-
var $R41 = (0, import_lib4.$R)(new RegExp("(
|
|
8043
|
-
var $R42 = (0, import_lib4.$R)(new RegExp("(
|
|
8044
|
-
var $R43 = (0, import_lib4.$R)(new RegExp(
|
|
8045
|
-
var $R44 = (0, import_lib4.$R)(new RegExp(
|
|
8046
|
-
var $R45 = (0, import_lib4.$R)(new RegExp(
|
|
8047
|
-
var $R46 = (0, import_lib4.$R)(new RegExp(
|
|
8048
|
-
var $R47 = (0, import_lib4.$R)(new RegExp('(
|
|
8049
|
-
var $R48 = (0, import_lib4.$R)(new RegExp(
|
|
8050
|
-
var $R49 = (0, import_lib4.$R)(new RegExp("(
|
|
8051
|
-
var $R50 = (0, import_lib4.$R)(new RegExp("
|
|
8052
|
-
var $R51 = (0, import_lib4.$R)(new RegExp("
|
|
8053
|
-
var $R52 = (0, import_lib4.$R)(new RegExp("
|
|
8054
|
-
var $R53 = (0, import_lib4.$R)(new RegExp("[
|
|
8055
|
-
var $R54 = (0, import_lib4.$R)(new RegExp("
|
|
8056
|
-
var $R55 = (0, import_lib4.$R)(new RegExp("(
|
|
8057
|
-
var $R56 = (0, import_lib4.$R)(new RegExp("(
|
|
8058
|
-
var $R57 = (0, import_lib4.$R)(new RegExp("(
|
|
8059
|
-
var $R58 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)
|
|
8060
|
-
var $R59 = (0, import_lib4.$R)(new RegExp("(
|
|
8061
|
-
var $R60 = (0, import_lib4.$R)(new RegExp("(?:
|
|
8062
|
-
var $R61 = (0, import_lib4.$R)(new RegExp("(?:
|
|
8063
|
-
var $R62 = (0, import_lib4.$R)(new RegExp("(?:
|
|
8064
|
-
var $R63 = (0, import_lib4.$R)(new RegExp("(?:
|
|
8065
|
-
var $R64 = (0, import_lib4.$R)(new RegExp("(
|
|
8066
|
-
var $R65 = (0, import_lib4.$R)(new RegExp("
|
|
8067
|
-
var $R66 = (0, import_lib4.$R)(new RegExp("
|
|
8068
|
-
var $R67 = (0, import_lib4.$R)(new RegExp("
|
|
8069
|
-
var $R68 = (0, import_lib4.$R)(new RegExp("[
|
|
8070
|
-
var $R69 = (0, import_lib4.$R)(new RegExp("
|
|
8071
|
-
var $R70 = (0, import_lib4.$R)(new RegExp("
|
|
8072
|
-
var $R71 = (0, import_lib4.$R)(new RegExp("(
|
|
8073
|
-
var $R72 = (0, import_lib4.$R)(new RegExp("(
|
|
8074
|
-
var $R73 = (0, import_lib4.$R)(new RegExp("(
|
|
8075
|
-
var $R74 = (0, import_lib4.$R)(new RegExp("
|
|
8076
|
-
var $R75 = (0, import_lib4.$R)(new RegExp("[
|
|
8077
|
-
var $R76 = (0, import_lib4.$R)(new RegExp("
|
|
8078
|
-
var $R77 = (0, import_lib4.$R)(new RegExp("
|
|
8079
|
-
var $R78 = (0, import_lib4.$R)(new RegExp("(
|
|
8080
|
-
var $R79 = (0, import_lib4.$R)(new RegExp("[
|
|
8081
|
-
var $R80 = (0, import_lib4.$R)(new RegExp("[
|
|
8082
|
-
var $R81 = (0, import_lib4.$R)(new RegExp("
|
|
8083
|
-
var $R82 = (0, import_lib4.$R)(new RegExp(
|
|
8084
|
-
var $R83 = (0, import_lib4.$R)(new RegExp("[
|
|
8085
|
-
var $R84 = (0, import_lib4.$R)(new RegExp("[
|
|
8086
|
-
var $R85 = (0, import_lib4.$R)(new RegExp("
|
|
8087
|
-
var $R86 = (0, import_lib4.$R)(new RegExp("[
|
|
8088
|
-
var $R87 = (0, import_lib4.$R)(new RegExp("[
|
|
8089
|
-
var $R88 = (0, import_lib4.$R)(new RegExp("
|
|
8090
|
-
var $R89 = (0, import_lib4.$R)(new RegExp("
|
|
8091
|
-
var $R90 = (0, import_lib4.$R)(new RegExp("
|
|
8092
|
-
var $R91 = (0, import_lib4.$R)(new RegExp("
|
|
8093
|
-
var $R92 = (0, import_lib4.$R)(new RegExp("
|
|
8094
|
-
var $R93 = (0, import_lib4.$R)(new RegExp("[\\
|
|
8095
|
-
var $R94 = (0, import_lib4.$R)(new RegExp("[\\
|
|
8096
|
-
var $R95 = (0, import_lib4.$R)(new RegExp("
|
|
8097
|
-
var $R96 = (0, import_lib4.$R)(new RegExp("
|
|
8098
|
-
var $R97 = (0, import_lib4.$R)(new RegExp("
|
|
8099
|
-
var $R98 = (0, import_lib4.$R)(new RegExp("\\r\\n
|
|
8100
|
-
var $R99 = (0, import_lib4.$R)(new RegExp("
|
|
8388
|
+
var $R20 = (0, import_lib4.$R)(new RegExp("([<>])(=?)|([\u2264\u2265])", "suy"));
|
|
8389
|
+
var $R21 = (0, import_lib4.$R)(new RegExp("[ \\t]*", "suy"));
|
|
8390
|
+
var $R22 = (0, import_lib4.$R)(new RegExp("[ \\t]+", "suy"));
|
|
8391
|
+
var $R23 = (0, import_lib4.$R)(new RegExp("[!+-]?", "suy"));
|
|
8392
|
+
var $R24 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
|
|
8393
|
+
var $R25 = (0, import_lib4.$R)(new RegExp("[=>]", "suy"));
|
|
8394
|
+
var $R26 = (0, import_lib4.$R)(new RegExp("(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])", "suy"));
|
|
8395
|
+
var $R27 = (0, import_lib4.$R)(new RegExp("!\\^\\^?", "suy"));
|
|
8396
|
+
var $R28 = (0, import_lib4.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
|
|
8397
|
+
var $R29 = (0, import_lib4.$R)(new RegExp("[:.]", "suy"));
|
|
8398
|
+
var $R30 = (0, import_lib4.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
|
|
8399
|
+
var $R31 = (0, import_lib4.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
|
|
8400
|
+
var $R32 = (0, import_lib4.$R)(new RegExp('[^;"\\s]+', "suy"));
|
|
8401
|
+
var $R33 = (0, import_lib4.$R)(new RegExp("(?=[0-9.])", "suy"));
|
|
8402
|
+
var $R34 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
|
|
8403
|
+
var $R35 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
|
|
8404
|
+
var $R36 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
|
|
8405
|
+
var $R37 = (0, import_lib4.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
|
|
8406
|
+
var $R38 = (0, import_lib4.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
|
|
8407
|
+
var $R39 = (0, import_lib4.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
|
|
8408
|
+
var $R40 = (0, import_lib4.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
|
|
8409
|
+
var $R41 = (0, import_lib4.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
|
|
8410
|
+
var $R42 = (0, import_lib4.$R)(new RegExp("(?=[0-9])", "suy"));
|
|
8411
|
+
var $R43 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
|
|
8412
|
+
var $R44 = (0, import_lib4.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
|
|
8413
|
+
var $R45 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
|
|
8414
|
+
var $R46 = (0, import_lib4.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
|
|
8415
|
+
var $R47 = (0, import_lib4.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
|
|
8416
|
+
var $R48 = (0, import_lib4.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
|
|
8417
|
+
var $R49 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
|
|
8418
|
+
var $R50 = (0, import_lib4.$R)(new RegExp("(?:\\\\.)", "suy"));
|
|
8419
|
+
var $R51 = (0, import_lib4.$R)(new RegExp("[\\s]+", "suy"));
|
|
8420
|
+
var $R52 = (0, import_lib4.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
|
|
8421
|
+
var $R53 = (0, import_lib4.$R)(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
|
|
8422
|
+
var $R54 = (0, import_lib4.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
|
|
8423
|
+
var $R55 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
|
|
8424
|
+
var $R56 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
|
|
8425
|
+
var $R57 = (0, import_lib4.$R)(new RegExp("(?=[`'\"])", "suy"));
|
|
8426
|
+
var $R58 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
|
|
8427
|
+
var $R59 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
|
|
8428
|
+
var $R60 = (0, import_lib4.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
|
|
8429
|
+
var $R61 = (0, import_lib4.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
|
|
8430
|
+
var $R62 = (0, import_lib4.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
|
|
8431
|
+
var $R63 = (0, import_lib4.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
|
|
8432
|
+
var $R64 = (0, import_lib4.$R)(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
|
|
8433
|
+
var $R65 = (0, import_lib4.$R)(new RegExp("(?=\\/|#)", "suy"));
|
|
8434
|
+
var $R66 = (0, import_lib4.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
|
|
8435
|
+
var $R67 = (0, import_lib4.$R)(new RegExp(".", "suy"));
|
|
8436
|
+
var $R68 = (0, import_lib4.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
|
|
8437
|
+
var $R69 = (0, import_lib4.$R)(new RegExp("[^]*?###", "suy"));
|
|
8438
|
+
var $R70 = (0, import_lib4.$R)(new RegExp("###(?!#)", "suy"));
|
|
8439
|
+
var $R71 = (0, import_lib4.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
|
|
8440
|
+
var $R72 = (0, import_lib4.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
|
|
8441
|
+
var $R73 = (0, import_lib4.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
|
|
8442
|
+
var $R74 = (0, import_lib4.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
|
|
8443
|
+
var $R75 = (0, import_lib4.$R)(new RegExp("[=:]", "suy"));
|
|
8444
|
+
var $R76 = (0, import_lib4.$R)(new RegExp("['\u2019]s", "suy"));
|
|
8445
|
+
var $R77 = (0, import_lib4.$R)(new RegExp("\\s", "suy"));
|
|
8446
|
+
var $R78 = (0, import_lib4.$R)(new RegExp("(?=[<])", "suy"));
|
|
8447
|
+
var $R79 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
|
|
8448
|
+
var $R80 = (0, import_lib4.$R)(new RegExp("[!+-]", "suy"));
|
|
8449
|
+
var $R81 = (0, import_lib4.$R)(new RegExp("[\\s>]|\\/>", "suy"));
|
|
8450
|
+
var $R82 = (0, import_lib4.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
|
|
8451
|
+
var $R83 = (0, import_lib4.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
|
|
8452
|
+
var $R84 = (0, import_lib4.$R)(new RegExp("[<>]", "suy"));
|
|
8453
|
+
var $R85 = (0, import_lib4.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
|
|
8454
|
+
var $R86 = (0, import_lib4.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
|
|
8455
|
+
var $R87 = (0, import_lib4.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
|
|
8456
|
+
var $R88 = (0, import_lib4.$R)(new RegExp("[+-]?", "suy"));
|
|
8457
|
+
var $R89 = (0, import_lib4.$R)(new RegExp("(?=if|unless)", "suy"));
|
|
8458
|
+
var $R90 = (0, import_lib4.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy"));
|
|
8459
|
+
var $R91 = (0, import_lib4.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
|
|
8460
|
+
var $R92 = (0, import_lib4.$R)(new RegExp("const|in|out", "suy"));
|
|
8461
|
+
var $R93 = (0, import_lib4.$R)(new RegExp("#![^\\r\\n]*", "suy"));
|
|
8462
|
+
var $R94 = (0, import_lib4.$R)(new RegExp("[\\t ]*", "suy"));
|
|
8463
|
+
var $R95 = (0, import_lib4.$R)(new RegExp("[\\s]*", "suy"));
|
|
8464
|
+
var $R96 = (0, import_lib4.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy"));
|
|
8465
|
+
var $R97 = (0, import_lib4.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
|
|
8466
|
+
var $R98 = (0, import_lib4.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
|
|
8467
|
+
var $R99 = (0, import_lib4.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
|
|
8468
|
+
var $R100 = (0, import_lib4.$R)(new RegExp("[^]*", "suy"));
|
|
8101
8469
|
var Program$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Reset, Init, (0, import_lib4.$E)(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
|
|
8102
8470
|
var reset = $1;
|
|
8103
8471
|
var init = $2;
|
|
@@ -8300,7 +8668,7 @@ var ExplicitArguments$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(OpenParen, Al
|
|
|
8300
8668
|
function ExplicitArguments(ctx, state2) {
|
|
8301
8669
|
return (0, import_lib4.$EVENT)(ctx, state2, "ExplicitArguments", ExplicitArguments$0);
|
|
8302
8670
|
}
|
|
8303
|
-
var ApplicationStart$0 = (0, import_lib4.$S)(IndentedApplicationAllowed, (0, import_lib4.$Y)((0, import_lib4.$S)(IndentedFurther, (0, import_lib4.$N)(IdentifierBinaryOp))), (0, import_lib4.$N)(IndentedTrailingMemberExpression));
|
|
8671
|
+
var ApplicationStart$0 = (0, import_lib4.$S)(IndentedApplicationAllowed, (0, import_lib4.$Y)((0, import_lib4.$S)(IndentedFurther, (0, import_lib4.$N)(IdentifierBinaryOp), (0, import_lib4.$N)(ReservedBinary))), (0, import_lib4.$N)(IndentedTrailingMemberExpression));
|
|
8304
8672
|
var ApplicationStart$1 = (0, import_lib4.$S)((0, import_lib4.$N)(EOS), (0, import_lib4.$Y)((0, import_lib4.$S)(_, (0, import_lib4.$C)(BracedApplicationAllowed, (0, import_lib4.$N)((0, import_lib4.$EXPECT)($L1, 'ApplicationStart "{"'))), (0, import_lib4.$N)(ForbiddenImplicitCalls))));
|
|
8305
8673
|
var ApplicationStart$$ = [ApplicationStart$0, ApplicationStart$1];
|
|
8306
8674
|
function ApplicationStart(ctx, state2) {
|
|
@@ -8469,11 +8837,15 @@ var BinaryOpExpression$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(UnaryExpress
|
|
|
8469
8837
|
function BinaryOpExpression(ctx, state2) {
|
|
8470
8838
|
return (0, import_lib4.$EVENT)(ctx, state2, "BinaryOpExpression", BinaryOpExpression$0);
|
|
8471
8839
|
}
|
|
8472
|
-
var BinaryOpNotDedented$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$
|
|
8840
|
+
var BinaryOpNotDedented$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$N)(NewlineBinaryOpAllowed), (0, import_lib4.$E)(_)), function(value) {
|
|
8841
|
+
return value[1];
|
|
8842
|
+
});
|
|
8843
|
+
var BinaryOpNotDedented$1 = (0, import_lib4.$T)((0, import_lib4.$S)(NewlineBinaryOpAllowed, (0, import_lib4.$C)(NestedBinaryOpAllowed, (0, import_lib4.$N)(Nested)), NotDedented), function(value) {
|
|
8473
8844
|
return value[1];
|
|
8474
8845
|
});
|
|
8846
|
+
var BinaryOpNotDedented$$ = [BinaryOpNotDedented$0, BinaryOpNotDedented$1];
|
|
8475
8847
|
function BinaryOpNotDedented(ctx, state2) {
|
|
8476
|
-
return (0, import_lib4.$
|
|
8848
|
+
return (0, import_lib4.$EVENT_C)(ctx, state2, "BinaryOpNotDedented", BinaryOpNotDedented$$);
|
|
8477
8849
|
}
|
|
8478
8850
|
var BinaryOpRHS$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(BinaryOpNotDedented, IsLike, (0, import_lib4.$E)(_), PatternExpressionList), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
8479
8851
|
var ws1 = $1;
|
|
@@ -8614,8 +8986,15 @@ var TypePostfix$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(_, NWTypePostfix),
|
|
|
8614
8986
|
var postfix = $2;
|
|
8615
8987
|
return prepend(ws, postfix);
|
|
8616
8988
|
});
|
|
8989
|
+
var TypePostfix$1 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$Y)(EOS), BinaryOpNotDedented, (0, import_lib4.$E)(_), NWTypePostfix), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
8990
|
+
var indent = $2;
|
|
8991
|
+
var ws = $3;
|
|
8992
|
+
var postfix = $4;
|
|
8993
|
+
return prepend(ws || " ", postfix);
|
|
8994
|
+
});
|
|
8995
|
+
var TypePostfix$$ = [TypePostfix$0, TypePostfix$1];
|
|
8617
8996
|
function TypePostfix(ctx, state2) {
|
|
8618
|
-
return (0, import_lib4.$
|
|
8997
|
+
return (0, import_lib4.$EVENT_C)(ctx, state2, "TypePostfix", TypePostfix$$);
|
|
8619
8998
|
}
|
|
8620
8999
|
var Tuple$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L8, 'Tuple "tuple"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
|
|
8621
9000
|
return {
|
|
@@ -9677,11 +10056,12 @@ var MemberBracketContent$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(OpenBracke
|
|
|
9677
10056
|
var ws = $3;
|
|
9678
10057
|
var close = $4;
|
|
9679
10058
|
if (expression.type === "SliceParameters") {
|
|
9680
|
-
const { start, end, children } = expression;
|
|
10059
|
+
const { start, end, reversed, children } = expression;
|
|
9681
10060
|
return {
|
|
9682
10061
|
type: "SliceExpression",
|
|
9683
10062
|
start,
|
|
9684
10063
|
end,
|
|
10064
|
+
reversed,
|
|
9685
10065
|
children: [
|
|
9686
10066
|
{ ...open, token: ".slice(" },
|
|
9687
10067
|
...children,
|
|
@@ -9698,20 +10078,44 @@ var MemberBracketContent$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(OpenBracke
|
|
|
9698
10078
|
function MemberBracketContent(ctx, state2) {
|
|
9699
10079
|
return (0, import_lib4.$EVENT)(ctx, state2, "MemberBracketContent", MemberBracketContent$0);
|
|
9700
10080
|
}
|
|
9701
|
-
var SliceParameters$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(
|
|
9702
|
-
var
|
|
9703
|
-
var
|
|
9704
|
-
var
|
|
9705
|
-
var
|
|
9706
|
-
|
|
10081
|
+
var SliceParameters$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Loc, (0, import_lib4.$E)(Expression), __, RangeDots, Loc, (0, import_lib4.$E)(Expression)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
|
|
10082
|
+
var ls = $1;
|
|
10083
|
+
var start = $2;
|
|
10084
|
+
var ws = $3;
|
|
10085
|
+
var dots = $4;
|
|
10086
|
+
var le = $5;
|
|
10087
|
+
var end = $6;
|
|
10088
|
+
const reversed = dots.increasing === false;
|
|
10089
|
+
const sign = reversed ? "-" : "+";
|
|
9707
10090
|
let children;
|
|
10091
|
+
start ??= {
|
|
10092
|
+
$loc: ls.$loc,
|
|
10093
|
+
token: reversed ? "-1" : "0"
|
|
10094
|
+
};
|
|
10095
|
+
if (!end) {
|
|
10096
|
+
if (reversed) {
|
|
10097
|
+
end = {
|
|
10098
|
+
$loc: le.$loc,
|
|
10099
|
+
token: "0"
|
|
10100
|
+
};
|
|
10101
|
+
} else if (!dots.right.inclusive && !dots.triple) {
|
|
10102
|
+
end = {
|
|
10103
|
+
$loc: le.$loc,
|
|
10104
|
+
token: "-1"
|
|
10105
|
+
};
|
|
10106
|
+
}
|
|
10107
|
+
}
|
|
10108
|
+
if (!dots.left.inclusive) {
|
|
10109
|
+
start = [makeLeftHandSideExpression(start), ` ${sign} 1`];
|
|
10110
|
+
}
|
|
9708
10111
|
if (end) {
|
|
9709
10112
|
const inc = [];
|
|
9710
|
-
if (inclusive) {
|
|
9711
|
-
end = [
|
|
9712
|
-
|
|
10113
|
+
if (dots.right.inclusive) {
|
|
10114
|
+
end = [makeLeftHandSideExpression(end), ` ${sign} 1`];
|
|
10115
|
+
if (!reversed)
|
|
10116
|
+
inc.push(" || 1/0");
|
|
9713
10117
|
}
|
|
9714
|
-
children = [start, [...ws, {
|
|
10118
|
+
children = [start, [...ws, dots.children[0], { token: ", ", $loc: dots.$loc }], [dots.children[1], end, ...inc]];
|
|
9715
10119
|
} else {
|
|
9716
10120
|
children = [start, ws];
|
|
9717
10121
|
}
|
|
@@ -9719,48 +10123,12 @@ var SliceParameters$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Expression, __,
|
|
|
9719
10123
|
type: "SliceParameters",
|
|
9720
10124
|
start,
|
|
9721
10125
|
end,
|
|
10126
|
+
reversed,
|
|
9722
10127
|
children
|
|
9723
10128
|
};
|
|
9724
10129
|
});
|
|
9725
|
-
var SliceParameters$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(Loc, __, (0, import_lib4.$C)(DotDotDot, DotDot), Expression), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
9726
|
-
var l = $1;
|
|
9727
|
-
var ws = $2;
|
|
9728
|
-
var sep = $3;
|
|
9729
|
-
var end = $4;
|
|
9730
|
-
const inclusive = sep.token === "..";
|
|
9731
|
-
const inc = [];
|
|
9732
|
-
if (inclusive) {
|
|
9733
|
-
end = ["1 + ", end];
|
|
9734
|
-
inc.push(" || 1/0");
|
|
9735
|
-
}
|
|
9736
|
-
const start = {
|
|
9737
|
-
$loc: l.$loc,
|
|
9738
|
-
token: "0"
|
|
9739
|
-
};
|
|
9740
|
-
return {
|
|
9741
|
-
type: "SliceParameters",
|
|
9742
|
-
start,
|
|
9743
|
-
end,
|
|
9744
|
-
children: [start, [...ws, { ...sep, token: ", " }], [end, ...inc]]
|
|
9745
|
-
};
|
|
9746
|
-
});
|
|
9747
|
-
var SliceParameters$2 = (0, import_lib4.$TS)((0, import_lib4.$S)(Loc, __, (0, import_lib4.$C)(DotDot, DotDotDot), (0, import_lib4.$Y)((0, import_lib4.$S)(__, CloseBracket))), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
9748
|
-
var l = $1;
|
|
9749
|
-
var ws = $2;
|
|
9750
|
-
const start = {
|
|
9751
|
-
$loc: l.$loc,
|
|
9752
|
-
token: "0"
|
|
9753
|
-
};
|
|
9754
|
-
return {
|
|
9755
|
-
type: "SliceParameters",
|
|
9756
|
-
start,
|
|
9757
|
-
end: void 0,
|
|
9758
|
-
children: [start, ws]
|
|
9759
|
-
};
|
|
9760
|
-
});
|
|
9761
|
-
var SliceParameters$$ = [SliceParameters$0, SliceParameters$1, SliceParameters$2];
|
|
9762
10130
|
function SliceParameters(ctx, state2) {
|
|
9763
|
-
return (0, import_lib4.$
|
|
10131
|
+
return (0, import_lib4.$EVENT)(ctx, state2, "SliceParameters", SliceParameters$0);
|
|
9764
10132
|
}
|
|
9765
10133
|
var AccessStart$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)(PropertyAccessModifier), Dot, (0, import_lib4.$N)((0, import_lib4.$EXPECT)($R11, "AccessStart /[.\\s]/"))), function($skip, $loc, $0, $1, $2, $3) {
|
|
9766
10134
|
var modifier = $1;
|
|
@@ -11223,10 +11591,7 @@ var SingleLineStatements$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(ForbidNewl
|
|
|
11223
11591
|
if (last)
|
|
11224
11592
|
expressions.push(last);
|
|
11225
11593
|
const maybeComment = expressions.at(-1)?.[2]?.children?.[2]?.at(-1);
|
|
11226
|
-
|
|
11227
|
-
if (maybeComment?.type === "Comment" && maybeComment.token.startsWith("//")) {
|
|
11228
|
-
hasTrailingComment = true;
|
|
11229
|
-
}
|
|
11594
|
+
const hasTrailingComment = maybeComment?.type === "Comment" && maybeComment.token.startsWith("//");
|
|
11230
11595
|
const children = [expressions];
|
|
11231
11596
|
if (hasTrailingComment)
|
|
11232
11597
|
children.push("\n");
|
|
@@ -11425,70 +11790,83 @@ var _ArrayLiteral$$ = [_ArrayLiteral$0, _ArrayLiteral$1, _ArrayLiteral$2];
|
|
|
11425
11790
|
function _ArrayLiteral(ctx, state2) {
|
|
11426
11791
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "_ArrayLiteral", _ArrayLiteral$$);
|
|
11427
11792
|
}
|
|
11428
|
-
var
|
|
11429
|
-
|
|
11430
|
-
|
|
11431
|
-
|
|
11432
|
-
|
|
11433
|
-
|
|
11434
|
-
|
|
11435
|
-
|
|
11436
|
-
|
|
11437
|
-
|
|
11438
|
-
|
|
11439
|
-
|
|
11440
|
-
|
|
11441
|
-
|
|
11442
|
-
|
|
11443
|
-
|
|
11444
|
-
|
|
11445
|
-
|
|
11446
|
-
|
|
11447
|
-
|
|
11448
|
-
|
|
11449
|
-
|
|
11450
|
-
|
|
11451
|
-
|
|
11452
|
-
|
|
11453
|
-
|
|
11454
|
-
|
|
11455
|
-
|
|
11456
|
-
|
|
11457
|
-
|
|
11458
|
-
|
|
11459
|
-
|
|
11460
|
-
|
|
11461
|
-
|
|
11462
|
-
|
|
11463
|
-
|
|
11464
|
-
|
|
11465
|
-
|
|
11466
|
-
|
|
11467
|
-
|
|
11468
|
-
|
|
11469
|
-
|
|
11470
|
-
|
|
11471
|
-
|
|
11472
|
-
|
|
11473
|
-
|
|
11474
|
-
|
|
11475
|
-
|
|
11476
|
-
|
|
11477
|
-
|
|
11478
|
-
|
|
11479
|
-
|
|
11793
|
+
var RangeDots$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(DotDotDot), function($skip, $loc, $0, $1) {
|
|
11794
|
+
return {
|
|
11795
|
+
...$1,
|
|
11796
|
+
type: "RangeDots",
|
|
11797
|
+
left: { inclusive: true, raw: "" },
|
|
11798
|
+
right: { inclusive: false, raw: "." },
|
|
11799
|
+
increasing: void 0,
|
|
11800
|
+
triple: true,
|
|
11801
|
+
children: []
|
|
11802
|
+
};
|
|
11803
|
+
});
|
|
11804
|
+
var RangeDots$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(RangeEnd, (0, import_lib4.$E)(_), DotDot, (0, import_lib4.$E)(_), RangeEnd), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
|
|
11805
|
+
var left = $1;
|
|
11806
|
+
var ws1 = $2;
|
|
11807
|
+
var dots = $3;
|
|
11808
|
+
var ws2 = $4;
|
|
11809
|
+
var right = $5;
|
|
11810
|
+
const increasing = left.increasing ?? right.increasing;
|
|
11811
|
+
if (left.increasing != null && right.increasing != null && left.increasing !== right.increasing) {
|
|
11812
|
+
const error = {
|
|
11813
|
+
type: "Error",
|
|
11814
|
+
message: `${left.raw}..${right.raw} uses inconsistent < vs. >`,
|
|
11815
|
+
$loc: dots.$loc
|
|
11816
|
+
};
|
|
11817
|
+
return {
|
|
11818
|
+
...dots,
|
|
11819
|
+
left,
|
|
11820
|
+
right,
|
|
11821
|
+
increasing,
|
|
11822
|
+
error,
|
|
11823
|
+
type: "RangeDots",
|
|
11824
|
+
children: [error]
|
|
11825
|
+
};
|
|
11826
|
+
}
|
|
11827
|
+
return {
|
|
11828
|
+
...dots,
|
|
11829
|
+
left,
|
|
11830
|
+
right,
|
|
11831
|
+
increasing,
|
|
11832
|
+
type: "RangeDots",
|
|
11833
|
+
children: [ws1, ws2]
|
|
11834
|
+
};
|
|
11835
|
+
});
|
|
11836
|
+
var RangeDots$$ = [RangeDots$0, RangeDots$1];
|
|
11837
|
+
function RangeDots(ctx, state2) {
|
|
11838
|
+
return (0, import_lib4.$EVENT_C)(ctx, state2, "RangeDots", RangeDots$$);
|
|
11839
|
+
}
|
|
11840
|
+
var RangeEnd$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R20, "RangeEnd /([<>])(=?)|([\u2264\u2265])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
11841
|
+
let dir = $1, equal = $2, unicode = $3;
|
|
11842
|
+
if (unicode) {
|
|
11843
|
+
equal = "=";
|
|
11844
|
+
if (unicode === "\u2264") {
|
|
11845
|
+
dir = "<";
|
|
11846
|
+
} else if (unicode === "\u2265") {
|
|
11847
|
+
dir = ">";
|
|
11480
11848
|
}
|
|
11481
11849
|
}
|
|
11482
|
-
const inclusiveAdjust = inclusive ? " + 1" : "";
|
|
11483
|
-
const children = ["((s, e) => {let step = e > s ? 1 : -1; return Array.from({length: Math.abs(e - s)", inclusiveAdjust, "}, (_, i) => s + i * step)})(", s, ws, range, e, ")"];
|
|
11484
11850
|
return {
|
|
11485
|
-
|
|
11486
|
-
|
|
11487
|
-
|
|
11488
|
-
start: s,
|
|
11489
|
-
end: e
|
|
11851
|
+
increasing: dir === "<",
|
|
11852
|
+
inclusive: equal === "=",
|
|
11853
|
+
raw: $0
|
|
11490
11854
|
};
|
|
11491
11855
|
});
|
|
11856
|
+
var RangeEnd$1 = (0, import_lib4.$T)((0, import_lib4.$EXPECT)($L0, 'RangeEnd ""'), function(value) {
|
|
11857
|
+
return { "increasing": void 0, "inclusive": true, "raw": "" };
|
|
11858
|
+
});
|
|
11859
|
+
var RangeEnd$$ = [RangeEnd$0, RangeEnd$1];
|
|
11860
|
+
function RangeEnd(ctx, state2) {
|
|
11861
|
+
return (0, import_lib4.$EVENT_C)(ctx, state2, "RangeEnd", RangeEnd$$);
|
|
11862
|
+
}
|
|
11863
|
+
var RangeExpression$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Expression, __, RangeDots, Expression), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
11864
|
+
var start = $1;
|
|
11865
|
+
var ws = $2;
|
|
11866
|
+
var range = $3;
|
|
11867
|
+
var end = $4;
|
|
11868
|
+
return processRangeExpression(start, ws, range, end);
|
|
11869
|
+
});
|
|
11492
11870
|
var RangeExpression$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(Expression, __, DotDot, (0, import_lib4.$Y)((0, import_lib4.$S)(__, CloseBracket))), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
11493
11871
|
var s = $1;
|
|
11494
11872
|
var ws = $2;
|
|
@@ -11503,7 +11881,10 @@ var RangeExpression$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(Expression, __,
|
|
|
11503
11881
|
type: "Identifier",
|
|
11504
11882
|
name: "Infinity",
|
|
11505
11883
|
children: ["Infinity"]
|
|
11506
|
-
}
|
|
11884
|
+
},
|
|
11885
|
+
left: { inclusive: true, raw: "" },
|
|
11886
|
+
right: { inclusive: true, raw: "" },
|
|
11887
|
+
increasing: true
|
|
11507
11888
|
};
|
|
11508
11889
|
});
|
|
11509
11890
|
var RangeExpression$$ = [RangeExpression$0, RangeExpression$1];
|
|
@@ -11717,7 +12098,7 @@ var ArrayBulletDelimiter$$ = [ArrayBulletDelimiter$0, ArrayBulletDelimiter$1];
|
|
|
11717
12098
|
function ArrayBulletDelimiter(ctx, state2) {
|
|
11718
12099
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "ArrayBulletDelimiter", ArrayBulletDelimiter$$);
|
|
11719
12100
|
}
|
|
11720
|
-
var BulletIndent$0 = (0, import_lib4.$TV)((0, import_lib4.$C)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L47, 'BulletIndent "\u2022"'), (0, import_lib4.$EXPECT)($
|
|
12101
|
+
var BulletIndent$0 = (0, import_lib4.$TV)((0, import_lib4.$C)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L47, 'BulletIndent "\u2022"'), (0, import_lib4.$EXPECT)($R21, "BulletIndent /[ \\t]*/")), (0, import_lib4.$S)((0, import_lib4.$EXPECT)($L7, 'BulletIndent "."'), (0, import_lib4.$EXPECT)($R22, "BulletIndent /[ \\t]+/"))), function($skip, $loc, $0, $1) {
|
|
11721
12102
|
const [bullet, ws] = $1;
|
|
11722
12103
|
const indent = {
|
|
11723
12104
|
token: " " + ws,
|
|
@@ -11933,7 +12314,7 @@ var PropertyDefinition$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_l
|
|
|
11933
12314
|
var prop = $2;
|
|
11934
12315
|
return prepend(ws, prop);
|
|
11935
12316
|
});
|
|
11936
|
-
var PropertyDefinition$1 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)(_), (0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($
|
|
12317
|
+
var PropertyDefinition$1 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)(_), (0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($R23, "PropertyDefinition /[!+-]?/")), PropertyName, (0, import_lib4.$Y)(ObjectPropertyDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
11937
12318
|
var ws = $1;
|
|
11938
12319
|
var toggle = $2;
|
|
11939
12320
|
var id = $3;
|
|
@@ -12084,7 +12465,7 @@ function SnugNamedProperty(ctx, state2) {
|
|
|
12084
12465
|
var PropertyName$0 = NumericLiteral;
|
|
12085
12466
|
var PropertyName$1 = ComputedPropertyName;
|
|
12086
12467
|
var PropertyName$2 = StringLiteral;
|
|
12087
|
-
var PropertyName$3 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$E)(IdentifierName), (0, import_lib4.$EXPECT)($L24, 'PropertyName "-"'), (0, import_lib4.$EXPECT)($
|
|
12468
|
+
var PropertyName$3 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$E)(IdentifierName), (0, import_lib4.$EXPECT)($L24, 'PropertyName "-"'), (0, import_lib4.$EXPECT)($R24, "PropertyName /(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"))), function($skip, $loc, $0, $1) {
|
|
12088
12469
|
return {
|
|
12089
12470
|
token: `"${$1}"`,
|
|
12090
12471
|
$loc
|
|
@@ -12483,7 +12864,7 @@ var AssignmentOpSymbol$22 = (0, import_lib4.$T)((0, import_lib4.$EXPECT)($L71, '
|
|
|
12483
12864
|
var AssignmentOpSymbol$23 = (0, import_lib4.$T)((0, import_lib4.$EXPECT)($L72, 'AssignmentOpSymbol "?="'), function(value) {
|
|
12484
12865
|
return "??=";
|
|
12485
12866
|
});
|
|
12486
|
-
var AssignmentOpSymbol$24 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L3, 'AssignmentOpSymbol "="'), (0, import_lib4.$N)((0, import_lib4.$EXPECT)($
|
|
12867
|
+
var AssignmentOpSymbol$24 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L3, 'AssignmentOpSymbol "="'), (0, import_lib4.$N)((0, import_lib4.$EXPECT)($R25, "AssignmentOpSymbol /[=>]/"))), function(value) {
|
|
12487
12868
|
return value[0];
|
|
12488
12869
|
});
|
|
12489
12870
|
var AssignmentOpSymbol$25 = (0, import_lib4.$T)((0, import_lib4.$S)(CoffeeWordAssignmentOp), function(value) {
|
|
@@ -12536,7 +12917,7 @@ var IdentifierBinaryOp$0 = (0, import_lib4.$TV)(Identifier, function($skip, $loc
|
|
|
12536
12917
|
function IdentifierBinaryOp(ctx, state2) {
|
|
12537
12918
|
return (0, import_lib4.$EVENT)(ctx, state2, "IdentifierBinaryOp", IdentifierBinaryOp$0);
|
|
12538
12919
|
}
|
|
12539
|
-
var BinaryOp$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
12920
|
+
var BinaryOp$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R26, "BinaryOp /(?=\\p{ID_Start}|[_$^\u226A\u226B\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2A76\u2A75\u2016\u2047&|*\\/!?%\xF7<>\u29FA+-])/"), _BinaryOp), function(value) {
|
|
12540
12921
|
var op = value[1];
|
|
12541
12922
|
return op;
|
|
12542
12923
|
});
|
|
@@ -12681,7 +13062,7 @@ var BinaryOpSymbol$35 = (0, import_lib4.$TV)((0, import_lib4.$C)((0, import_lib4
|
|
|
12681
13062
|
prec: "^^"
|
|
12682
13063
|
};
|
|
12683
13064
|
});
|
|
12684
|
-
var BinaryOpSymbol$36 = (0, import_lib4.$TV)((0, import_lib4.$C)((0, import_lib4.$EXPECT)($
|
|
13065
|
+
var BinaryOpSymbol$36 = (0, import_lib4.$TV)((0, import_lib4.$C)((0, import_lib4.$EXPECT)($R27, "BinaryOpSymbol /!\\^\\^?/"), (0, import_lib4.$S)((0, import_lib4.$EXPECT)($L109, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
|
|
12685
13066
|
return {
|
|
12686
13067
|
call: getHelperRef("xnor"),
|
|
12687
13068
|
special: true,
|
|
@@ -12845,24 +13226,24 @@ var Xor$$ = [Xor$0, Xor$1];
|
|
|
12845
13226
|
function Xor(ctx, state2) {
|
|
12846
13227
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "Xor", Xor$$);
|
|
12847
13228
|
}
|
|
12848
|
-
var Xnor$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
13229
|
+
var Xnor$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R27, "Xnor /!\\^\\^?/"));
|
|
12849
13230
|
var Xnor$1 = (0, import_lib4.$EXPECT)($L109, 'Xnor "xnor"');
|
|
12850
13231
|
var Xnor$$ = [Xnor$0, Xnor$1];
|
|
12851
13232
|
function Xnor(ctx, state2) {
|
|
12852
13233
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "Xnor", Xnor$$);
|
|
12853
13234
|
}
|
|
12854
|
-
var UnaryOp$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
13235
|
+
var UnaryOp$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R28, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12855
13236
|
return { $loc, token: $0 };
|
|
12856
13237
|
});
|
|
12857
13238
|
var UnaryOp$1 = AwaitOp;
|
|
12858
|
-
var UnaryOp$2 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$C)(Delete, Void, Typeof), (0, import_lib4.$N)((0, import_lib4.$EXPECT)($
|
|
13239
|
+
var UnaryOp$2 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$C)(Delete, Void, Typeof), (0, import_lib4.$N)((0, import_lib4.$EXPECT)($R29, "UnaryOp /[:.]/")), (0, import_lib4.$E)(_)), function($skip, $loc, $0, $1, $2, $3) {
|
|
12859
13240
|
var op = $1;
|
|
12860
13241
|
var ws = $3;
|
|
12861
13242
|
if (!ws)
|
|
12862
13243
|
return [op, [" "]];
|
|
12863
13244
|
return [op, ws];
|
|
12864
13245
|
});
|
|
12865
|
-
var UnaryOp$3 = (0, import_lib4.$T)((0, import_lib4.$S)(Not, (0, import_lib4.$N)((0, import_lib4.$EXPECT)($
|
|
13246
|
+
var UnaryOp$3 = (0, import_lib4.$T)((0, import_lib4.$S)(Not, (0, import_lib4.$N)((0, import_lib4.$EXPECT)($R29, "UnaryOp /[:.]/")), (0, import_lib4.$E)((0, import_lib4.$EXPECT)($L18, 'UnaryOp " "')), (0, import_lib4.$E)(_)), function(value) {
|
|
12866
13247
|
return [value[0], value[3]];
|
|
12867
13248
|
});
|
|
12868
13249
|
var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
|
|
@@ -12949,7 +13330,7 @@ var PostfixedCommaExpression$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Postfi
|
|
|
12949
13330
|
function PostfixedCommaExpression(ctx, state2) {
|
|
12950
13331
|
return (0, import_lib4.$EVENT)(ctx, state2, "PostfixedCommaExpression", PostfixedCommaExpression$0);
|
|
12951
13332
|
}
|
|
12952
|
-
var PostfixStatement$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
13333
|
+
var PostfixStatement$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R30, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
|
|
12953
13334
|
return value[1];
|
|
12954
13335
|
});
|
|
12955
13336
|
function PostfixStatement(ctx, state2) {
|
|
@@ -12989,7 +13370,9 @@ function Statement(ctx, state2) {
|
|
|
12989
13370
|
}
|
|
12990
13371
|
var ShouldExpressionize$0 = AllowedTrailingCallExpressions;
|
|
12991
13372
|
var ShouldExpressionize$1 = (0, import_lib4.$S)(NotDedented, Pipe);
|
|
12992
|
-
var ShouldExpressionize
|
|
13373
|
+
var ShouldExpressionize$2 = BinaryOpRHS;
|
|
13374
|
+
var ShouldExpressionize$3 = UnaryPostfix;
|
|
13375
|
+
var ShouldExpressionize$$ = [ShouldExpressionize$0, ShouldExpressionize$1, ShouldExpressionize$2, ShouldExpressionize$3];
|
|
12993
13376
|
function ShouldExpressionize(ctx, state2) {
|
|
12994
13377
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "ShouldExpressionize", ShouldExpressionize$$);
|
|
12995
13378
|
}
|
|
@@ -13140,7 +13523,7 @@ var IfClause$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$C)(If
|
|
|
13140
13523
|
function IfClause(ctx, state2) {
|
|
13141
13524
|
return (0, import_lib4.$EVENT)(ctx, state2, "IfClause", IfClause$0);
|
|
13142
13525
|
}
|
|
13143
|
-
var IterationStatement$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
13526
|
+
var IterationStatement$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R31, "IterationStatement /(?=loop|comptime|do|for|until|while)/"), _IterationStatement), function(value) {
|
|
13144
13527
|
return value[1];
|
|
13145
13528
|
});
|
|
13146
13529
|
function IterationStatement(ctx, state2) {
|
|
@@ -13692,12 +14075,14 @@ var CaseClause$3 = (0, import_lib4.$TS)((0, import_lib4.$S)(Default, ImpliedColo
|
|
|
13692
14075
|
};
|
|
13693
14076
|
});
|
|
13694
14077
|
var CaseClause$4 = (0, import_lib4.$TS)((0, import_lib4.$S)(Else, ImpliedColon, (0, import_lib4.$C)(ThenClause, BracedBlock, EmptyBlock)), function($skip, $loc, $0, $1, $2, $3) {
|
|
14078
|
+
var e = $1;
|
|
14079
|
+
var colon = $2;
|
|
13695
14080
|
var block = $3;
|
|
13696
|
-
|
|
14081
|
+
e = { ...e, token: "default" };
|
|
13697
14082
|
return {
|
|
13698
14083
|
type: "DefaultClause",
|
|
13699
14084
|
block,
|
|
13700
|
-
children:
|
|
14085
|
+
children: [e, colon, block]
|
|
13701
14086
|
};
|
|
13702
14087
|
});
|
|
13703
14088
|
var CaseClause$$ = [CaseClause$0, CaseClause$1, CaseClause$2, CaseClause$3, CaseClause$4];
|
|
@@ -13768,36 +14153,56 @@ var IgnoreColon$0 = (0, import_lib4.$TV)((0, import_lib4.$E)((0, import_lib4.$S)
|
|
|
13768
14153
|
function IgnoreColon(ctx, state2) {
|
|
13769
14154
|
return (0, import_lib4.$EVENT)(ctx, state2, "IgnoreColon", IgnoreColon$0);
|
|
13770
14155
|
}
|
|
13771
|
-
var TryStatement$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Try, (0, import_lib4.$N)((0, import_lib4.$EXPECT)($L16, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, (0, import_lib4.$
|
|
14156
|
+
var TryStatement$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Try, (0, import_lib4.$N)((0, import_lib4.$EXPECT)($L16, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, (0, import_lib4.$Q)(CatchClause), (0, import_lib4.$E)(ElseClause), (0, import_lib4.$E)(FinallyClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
|
|
13772
14157
|
return processTryBlock($0);
|
|
13773
14158
|
});
|
|
13774
14159
|
function TryStatement(ctx, state2) {
|
|
13775
14160
|
return (0, import_lib4.$EVENT)(ctx, state2, "TryStatement", TryStatement$0);
|
|
13776
14161
|
}
|
|
13777
|
-
var CatchClause$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$C)(Nested, _), Catch, (0, import_lib4.$E)(
|
|
14162
|
+
var CatchClause$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$C)(Nested, _), Catch, (0, import_lib4.$E)(CatchBinding), (0, import_lib4.$C)(BracedThenClause, BracedOrEmptyBlock)), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
14163
|
+
var binding = $3;
|
|
13778
14164
|
var block = $4;
|
|
13779
14165
|
return {
|
|
13780
14166
|
type: "CatchClause",
|
|
13781
14167
|
children: $0,
|
|
13782
|
-
block
|
|
14168
|
+
block,
|
|
14169
|
+
binding
|
|
13783
14170
|
};
|
|
13784
14171
|
});
|
|
13785
14172
|
function CatchClause(ctx, state2) {
|
|
13786
14173
|
return (0, import_lib4.$EVENT)(ctx, state2, "CatchClause", CatchClause$0);
|
|
13787
14174
|
}
|
|
13788
|
-
var
|
|
13789
|
-
var
|
|
14175
|
+
var CatchBinding$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)(_), OpenParen, __, AllowAll, (0, import_lib4.$E)(CatchParameter), RestoreAll, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
|
|
14176
|
+
var ws1 = $1;
|
|
14177
|
+
var open = $2;
|
|
14178
|
+
var ws2 = $3;
|
|
14179
|
+
var parameter = $5;
|
|
14180
|
+
var ws3 = $7;
|
|
14181
|
+
var close = $8;
|
|
14182
|
+
if (!parameter)
|
|
14183
|
+
return $skip;
|
|
14184
|
+
return {
|
|
14185
|
+
type: "CatchBinding",
|
|
14186
|
+
parameter,
|
|
14187
|
+
children: [ws1, open, ws2, parameter, ws3, close]
|
|
14188
|
+
};
|
|
14189
|
+
});
|
|
14190
|
+
var CatchBinding$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(_, InsertOpenParen, (0, import_lib4.$N)(EOS), ForbidIndentedApplication, (0, import_lib4.$E)(CatchParameter), RestoreIndentedApplication, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
|
|
13790
14191
|
var ws = $1;
|
|
13791
14192
|
var open = $2;
|
|
13792
|
-
var
|
|
14193
|
+
var parameter = $5;
|
|
13793
14194
|
var close = $7;
|
|
13794
|
-
if (!
|
|
14195
|
+
if (!parameter)
|
|
13795
14196
|
return $skip;
|
|
13796
|
-
return
|
|
14197
|
+
return {
|
|
14198
|
+
type: "CatchBinding",
|
|
14199
|
+
parameter,
|
|
14200
|
+
children: [ws, open, parameter, close]
|
|
14201
|
+
};
|
|
13797
14202
|
});
|
|
13798
|
-
var
|
|
13799
|
-
function
|
|
13800
|
-
return (0, import_lib4.$EVENT_C)(ctx, state2, "
|
|
14203
|
+
var CatchBinding$$ = [CatchBinding$0, CatchBinding$1];
|
|
14204
|
+
function CatchBinding(ctx, state2) {
|
|
14205
|
+
return (0, import_lib4.$EVENT_C)(ctx, state2, "CatchBinding", CatchBinding$$);
|
|
13801
14206
|
}
|
|
13802
14207
|
var FinallyClause$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$C)(Nested, _), Finally, (0, import_lib4.$C)(BracedThenClause, BracedOrEmptyBlock)), function($skip, $loc, $0, $1, $2, $3) {
|
|
13803
14208
|
var block = $3;
|
|
@@ -13810,9 +14215,34 @@ var FinallyClause$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$
|
|
|
13810
14215
|
function FinallyClause(ctx, state2) {
|
|
13811
14216
|
return (0, import_lib4.$EVENT)(ctx, state2, "FinallyClause", FinallyClause$0);
|
|
13812
14217
|
}
|
|
13813
|
-
var CatchParameter$0 = (0, import_lib4.$S)(BindingIdentifier, (0, import_lib4.$E)(TypeSuffix))
|
|
13814
|
-
var
|
|
13815
|
-
var
|
|
14218
|
+
var CatchParameter$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(BindingIdentifier, (0, import_lib4.$E)(TypeSuffix)), function($skip, $loc, $0, $1, $2) {
|
|
14219
|
+
var binding = $1;
|
|
14220
|
+
var typeSuffix = $2;
|
|
14221
|
+
return {
|
|
14222
|
+
type: "CatchParameter",
|
|
14223
|
+
binding,
|
|
14224
|
+
typeSuffix,
|
|
14225
|
+
children: $0
|
|
14226
|
+
};
|
|
14227
|
+
});
|
|
14228
|
+
var CatchParameter$1 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$C)(ObjectBindingPattern, ArrayBindingPattern), TypeSuffix), function($skip, $loc, $0, $1, $2) {
|
|
14229
|
+
var binding = $1;
|
|
14230
|
+
var typeSuffix = $2;
|
|
14231
|
+
return {
|
|
14232
|
+
type: "CatchParameter",
|
|
14233
|
+
binding,
|
|
14234
|
+
typeSuffix,
|
|
14235
|
+
children: [binding, typeSuffix]
|
|
14236
|
+
};
|
|
14237
|
+
});
|
|
14238
|
+
var CatchParameter$2 = (0, import_lib4.$TS)((0, import_lib4.$S)(PatternExpressionList), function($skip, $loc, $0, $1) {
|
|
14239
|
+
return {
|
|
14240
|
+
type: "CatchPattern",
|
|
14241
|
+
children: $0,
|
|
14242
|
+
patterns: $1
|
|
14243
|
+
};
|
|
14244
|
+
});
|
|
14245
|
+
var CatchParameter$$ = [CatchParameter$0, CatchParameter$1, CatchParameter$2];
|
|
13816
14246
|
function CatchParameter(ctx, state2) {
|
|
13817
14247
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "CatchParameter", CatchParameter$$);
|
|
13818
14248
|
}
|
|
@@ -14580,7 +15010,7 @@ var UnprocessedModuleSpecifier$$ = [UnprocessedModuleSpecifier$0, UnprocessedMod
|
|
|
14580
15010
|
function UnprocessedModuleSpecifier(ctx, state2) {
|
|
14581
15011
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
|
|
14582
15012
|
}
|
|
14583
|
-
var UnquotedSpecifier$0 = (0, import_lib4.$TV)((0, import_lib4.$EXPECT)($
|
|
15013
|
+
var UnquotedSpecifier$0 = (0, import_lib4.$TV)((0, import_lib4.$EXPECT)($R32, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
|
|
14584
15014
|
var spec = $0;
|
|
14585
15015
|
return { $loc, token: `"${spec}"` };
|
|
14586
15016
|
});
|
|
@@ -14840,7 +15270,7 @@ var VariableDeclarationList$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Lexical
|
|
|
14840
15270
|
function VariableDeclarationList(ctx, state2) {
|
|
14841
15271
|
return (0, import_lib4.$EVENT)(ctx, state2, "VariableDeclarationList", VariableDeclarationList$0);
|
|
14842
15272
|
}
|
|
14843
|
-
var NumericLiteral$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15273
|
+
var NumericLiteral$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R33, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
|
|
14844
15274
|
var token = $2;
|
|
14845
15275
|
return { type: "NumericLiteral", $loc, token };
|
|
14846
15276
|
});
|
|
@@ -14856,36 +15286,36 @@ var NumericLiteralKind$$ = [NumericLiteralKind$0, NumericLiteralKind$1, NumericL
|
|
|
14856
15286
|
function NumericLiteralKind(ctx, state2) {
|
|
14857
15287
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "NumericLiteralKind", NumericLiteralKind$$);
|
|
14858
15288
|
}
|
|
14859
|
-
var DecimalBigIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15289
|
+
var DecimalBigIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R34, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
|
|
14860
15290
|
function DecimalBigIntegerLiteral(ctx, state2) {
|
|
14861
15291
|
return (0, import_lib4.$EVENT)(ctx, state2, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
|
|
14862
15292
|
}
|
|
14863
|
-
var DecimalLiteral$0 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($
|
|
15293
|
+
var DecimalLiteral$0 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($R35, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
|
|
14864
15294
|
return $1 + ".";
|
|
14865
15295
|
});
|
|
14866
|
-
var DecimalLiteral$1 = (0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
14867
|
-
var DecimalLiteral$2 = (0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15296
|
+
var DecimalLiteral$1 = (0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R36, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), (0, import_lib4.$E)(ExponentPart)));
|
|
15297
|
+
var DecimalLiteral$2 = (0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R37, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), (0, import_lib4.$E)(ExponentPart)));
|
|
14868
15298
|
var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
|
|
14869
15299
|
function DecimalLiteral(ctx, state2) {
|
|
14870
15300
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "DecimalLiteral", DecimalLiteral$$);
|
|
14871
15301
|
}
|
|
14872
|
-
var ExponentPart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15302
|
+
var ExponentPart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R38, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
|
|
14873
15303
|
function ExponentPart(ctx, state2) {
|
|
14874
15304
|
return (0, import_lib4.$EVENT)(ctx, state2, "ExponentPart", ExponentPart$0);
|
|
14875
15305
|
}
|
|
14876
|
-
var BinaryIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15306
|
+
var BinaryIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R39, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
|
|
14877
15307
|
function BinaryIntegerLiteral(ctx, state2) {
|
|
14878
15308
|
return (0, import_lib4.$EVENT)(ctx, state2, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
|
|
14879
15309
|
}
|
|
14880
|
-
var OctalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15310
|
+
var OctalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R40, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
|
|
14881
15311
|
function OctalIntegerLiteral(ctx, state2) {
|
|
14882
15312
|
return (0, import_lib4.$EVENT)(ctx, state2, "OctalIntegerLiteral", OctalIntegerLiteral$0);
|
|
14883
15313
|
}
|
|
14884
|
-
var HexIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15314
|
+
var HexIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R41, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
|
|
14885
15315
|
function HexIntegerLiteral(ctx, state2) {
|
|
14886
15316
|
return (0, import_lib4.$EVENT)(ctx, state2, "HexIntegerLiteral", HexIntegerLiteral$0);
|
|
14887
15317
|
}
|
|
14888
|
-
var IntegerLiteral$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15318
|
+
var IntegerLiteral$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R42, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
|
|
14889
15319
|
var token = $2;
|
|
14890
15320
|
return { $loc, token };
|
|
14891
15321
|
});
|
|
@@ -14901,7 +15331,7 @@ var IntegerLiteralKind$$ = [IntegerLiteralKind$0, IntegerLiteralKind$1, IntegerL
|
|
|
14901
15331
|
function IntegerLiteralKind(ctx, state2) {
|
|
14902
15332
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "IntegerLiteralKind", IntegerLiteralKind$$);
|
|
14903
15333
|
}
|
|
14904
|
-
var DecimalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15334
|
+
var DecimalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R43, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
|
|
14905
15335
|
function DecimalIntegerLiteral(ctx, state2) {
|
|
14906
15336
|
return (0, import_lib4.$EVENT)(ctx, state2, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
|
|
14907
15337
|
}
|
|
@@ -14925,25 +15355,25 @@ var StringLiteral$$ = [StringLiteral$0, StringLiteral$1];
|
|
|
14925
15355
|
function StringLiteral(ctx, state2) {
|
|
14926
15356
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "StringLiteral", StringLiteral$$);
|
|
14927
15357
|
}
|
|
14928
|
-
var DoubleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15358
|
+
var DoubleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R44, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
14929
15359
|
return { $loc, token: $0 };
|
|
14930
15360
|
});
|
|
14931
15361
|
function DoubleStringCharacters(ctx, state2) {
|
|
14932
15362
|
return (0, import_lib4.$EVENT)(ctx, state2, "DoubleStringCharacters", DoubleStringCharacters$0);
|
|
14933
15363
|
}
|
|
14934
|
-
var SingleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15364
|
+
var SingleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R45, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
14935
15365
|
return { $loc, token: $0 };
|
|
14936
15366
|
});
|
|
14937
15367
|
function SingleStringCharacters(ctx, state2) {
|
|
14938
15368
|
return (0, import_lib4.$EVENT)(ctx, state2, "SingleStringCharacters", SingleStringCharacters$0);
|
|
14939
15369
|
}
|
|
14940
|
-
var TripleDoubleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15370
|
+
var TripleDoubleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R46, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
14941
15371
|
return { $loc, token: $0 };
|
|
14942
15372
|
});
|
|
14943
15373
|
function TripleDoubleStringCharacters(ctx, state2) {
|
|
14944
15374
|
return (0, import_lib4.$EVENT)(ctx, state2, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
|
|
14945
15375
|
}
|
|
14946
|
-
var TripleSingleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15376
|
+
var TripleSingleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R47, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
14947
15377
|
return { $loc, token: $0 };
|
|
14948
15378
|
});
|
|
14949
15379
|
function TripleSingleStringCharacters(ctx, state2) {
|
|
@@ -14966,7 +15396,7 @@ var CoffeeInterpolatedDoubleQuotedString$0 = (0, import_lib4.$TS)((0, import_lib
|
|
|
14966
15396
|
function CoffeeInterpolatedDoubleQuotedString(ctx, state2) {
|
|
14967
15397
|
return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
|
|
14968
15398
|
}
|
|
14969
|
-
var CoffeeDoubleQuotedStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15399
|
+
var CoffeeDoubleQuotedStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R48, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
14970
15400
|
return { $loc, token: $0 };
|
|
14971
15401
|
});
|
|
14972
15402
|
function CoffeeDoubleQuotedStringCharacters(ctx, state2) {
|
|
@@ -14986,7 +15416,7 @@ var RegularExpressionClass$0 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, i
|
|
|
14986
15416
|
function RegularExpressionClass(ctx, state2) {
|
|
14987
15417
|
return (0, import_lib4.$EVENT)(ctx, state2, "RegularExpressionClass", RegularExpressionClass$0);
|
|
14988
15418
|
}
|
|
14989
|
-
var RegularExpressionClassCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15419
|
+
var RegularExpressionClassCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R49, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
14990
15420
|
return { $loc, token: $0 };
|
|
14991
15421
|
});
|
|
14992
15422
|
function RegularExpressionClassCharacters(ctx, state2) {
|
|
@@ -15043,7 +15473,7 @@ var HeregexPart$1 = (0, import_lib4.$T)((0, import_lib4.$S)(CoffeeStringSubstitu
|
|
|
15043
15473
|
var HeregexPart$2 = (0, import_lib4.$T)((0, import_lib4.$S)(TemplateSubstitution), function(value) {
|
|
15044
15474
|
return { "type": "Substitution", "children": value[0] };
|
|
15045
15475
|
});
|
|
15046
|
-
var HeregexPart$3 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15476
|
+
var HeregexPart$3 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R50, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
15047
15477
|
let token = $0;
|
|
15048
15478
|
switch ($0[1]) {
|
|
15049
15479
|
case "\n":
|
|
@@ -15061,13 +15491,13 @@ var HeregexPart$3 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R49, "Heregex
|
|
|
15061
15491
|
var HeregexPart$4 = (0, import_lib4.$TS)((0, import_lib4.$S)(HeregexComment), function($skip, $loc, $0, $1) {
|
|
15062
15492
|
return { $loc, token: "" };
|
|
15063
15493
|
});
|
|
15064
|
-
var HeregexPart$5 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15494
|
+
var HeregexPart$5 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R51, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
15065
15495
|
return { $loc, token: "" };
|
|
15066
15496
|
});
|
|
15067
|
-
var HeregexPart$6 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15497
|
+
var HeregexPart$6 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R52, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
15068
15498
|
return { $loc, token: "\\/" };
|
|
15069
15499
|
});
|
|
15070
|
-
var HeregexPart$7 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15500
|
+
var HeregexPart$7 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R53, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
15071
15501
|
return { $loc, token: $0 };
|
|
15072
15502
|
});
|
|
15073
15503
|
var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
|
|
@@ -15080,7 +15510,7 @@ var HeregexComment$$ = [HeregexComment$0, HeregexComment$1];
|
|
|
15080
15510
|
function HeregexComment(ctx, state2) {
|
|
15081
15511
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "HeregexComment", HeregexComment$$);
|
|
15082
15512
|
}
|
|
15083
|
-
var RegularExpressionBody$0 = (0, import_lib4.$S)((0, import_lib4.$N)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15513
|
+
var RegularExpressionBody$0 = (0, import_lib4.$S)((0, import_lib4.$N)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R54, "RegularExpressionBody /[*\\/\\r\\n]/"))), (0, import_lib4.$Q)(RegExpPart));
|
|
15084
15514
|
function RegularExpressionBody(ctx, state2) {
|
|
15085
15515
|
return (0, import_lib4.$EVENT)(ctx, state2, "RegularExpressionBody", RegularExpressionBody$0);
|
|
15086
15516
|
}
|
|
@@ -15090,15 +15520,15 @@ var RegExpPart$$ = [RegExpPart$0, RegExpPart$1];
|
|
|
15090
15520
|
function RegExpPart(ctx, state2) {
|
|
15091
15521
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "RegExpPart", RegExpPart$$);
|
|
15092
15522
|
}
|
|
15093
|
-
var RegExpCharacter$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15523
|
+
var RegExpCharacter$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R55, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
|
|
15094
15524
|
function RegExpCharacter(ctx, state2) {
|
|
15095
15525
|
return (0, import_lib4.$EVENT)(ctx, state2, "RegExpCharacter", RegExpCharacter$0);
|
|
15096
15526
|
}
|
|
15097
|
-
var RegularExpressionFlags$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15527
|
+
var RegularExpressionFlags$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R56, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
|
|
15098
15528
|
function RegularExpressionFlags(ctx, state2) {
|
|
15099
15529
|
return (0, import_lib4.$EVENT)(ctx, state2, "RegularExpressionFlags", RegularExpressionFlags$0);
|
|
15100
15530
|
}
|
|
15101
|
-
var TemplateLiteral$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15531
|
+
var TemplateLiteral$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R57, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
|
|
15102
15532
|
return value[1];
|
|
15103
15533
|
});
|
|
15104
15534
|
function TemplateLiteral(ctx, state2) {
|
|
@@ -15138,28 +15568,28 @@ var TemplateSubstitution$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Substituti
|
|
|
15138
15568
|
function TemplateSubstitution(ctx, state2) {
|
|
15139
15569
|
return (0, import_lib4.$EVENT)(ctx, state2, "TemplateSubstitution", TemplateSubstitution$0);
|
|
15140
15570
|
}
|
|
15141
|
-
var TemplateCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15571
|
+
var TemplateCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R58, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
15142
15572
|
return { $loc, token: $0 };
|
|
15143
15573
|
});
|
|
15144
15574
|
function TemplateCharacters(ctx, state2) {
|
|
15145
15575
|
return (0, import_lib4.$EVENT)(ctx, state2, "TemplateCharacters", TemplateCharacters$0);
|
|
15146
15576
|
}
|
|
15147
|
-
var TemplateBlockCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15577
|
+
var TemplateBlockCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R59, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
15148
15578
|
return { $loc, token: $0 };
|
|
15149
15579
|
});
|
|
15150
15580
|
function TemplateBlockCharacters(ctx, state2) {
|
|
15151
15581
|
return (0, import_lib4.$EVENT)(ctx, state2, "TemplateBlockCharacters", TemplateBlockCharacters$0);
|
|
15152
15582
|
}
|
|
15153
|
-
var ReservedWord$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15154
|
-
var ReservedWord$1 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15155
|
-
var ReservedWord$2 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15156
|
-
var ReservedWord$3 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15157
|
-
var ReservedWord$4 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15583
|
+
var ReservedWord$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R60, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
|
|
15584
|
+
var ReservedWord$1 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R61, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
|
|
15585
|
+
var ReservedWord$2 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R62, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
|
|
15586
|
+
var ReservedWord$3 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R63, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
|
|
15587
|
+
var ReservedWord$4 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R64, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
|
|
15158
15588
|
var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
|
|
15159
15589
|
function ReservedWord(ctx, state2) {
|
|
15160
15590
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "ReservedWord", ReservedWord$$);
|
|
15161
15591
|
}
|
|
15162
|
-
var Comment$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15592
|
+
var Comment$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R65, "Comment /(?=\\/|#)/"), _Comment), function(value) {
|
|
15163
15593
|
return value[1];
|
|
15164
15594
|
});
|
|
15165
15595
|
function Comment(ctx, state2) {
|
|
@@ -15177,7 +15607,7 @@ var SingleLineComment$$ = [SingleLineComment$0, SingleLineComment$1];
|
|
|
15177
15607
|
function SingleLineComment(ctx, state2) {
|
|
15178
15608
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "SingleLineComment", SingleLineComment$$);
|
|
15179
15609
|
}
|
|
15180
|
-
var JSSingleLineComment$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15610
|
+
var JSSingleLineComment$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R66, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
15181
15611
|
return { type: "Comment", $loc, token: $0 };
|
|
15182
15612
|
});
|
|
15183
15613
|
function JSSingleLineComment(ctx, state2) {
|
|
@@ -15189,30 +15619,30 @@ var MultiLineComment$$ = [MultiLineComment$0, MultiLineComment$1];
|
|
|
15189
15619
|
function MultiLineComment(ctx, state2) {
|
|
15190
15620
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "MultiLineComment", MultiLineComment$$);
|
|
15191
15621
|
}
|
|
15192
|
-
var JSMultiLineComment$0 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L130, 'JSMultiLineComment "/*"'), (0, import_lib4.$Q)((0, import_lib4.$S)((0, import_lib4.$N)((0, import_lib4.$EXPECT)($L131, 'JSMultiLineComment "*/"')), (0, import_lib4.$EXPECT)($
|
|
15622
|
+
var JSMultiLineComment$0 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L130, 'JSMultiLineComment "/*"'), (0, import_lib4.$Q)((0, import_lib4.$S)((0, import_lib4.$N)((0, import_lib4.$EXPECT)($L131, 'JSMultiLineComment "*/"')), (0, import_lib4.$EXPECT)($R67, "JSMultiLineComment /./"))), (0, import_lib4.$EXPECT)($L131, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
|
|
15193
15623
|
return { type: "Comment", $loc, token: $1 };
|
|
15194
15624
|
});
|
|
15195
15625
|
function JSMultiLineComment(ctx, state2) {
|
|
15196
15626
|
return (0, import_lib4.$EVENT)(ctx, state2, "JSMultiLineComment", JSMultiLineComment$0);
|
|
15197
15627
|
}
|
|
15198
|
-
var CoffeeSingleLineComment$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15628
|
+
var CoffeeSingleLineComment$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R68, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
15199
15629
|
return { type: "Comment", $loc, token: `//${$1}` };
|
|
15200
15630
|
});
|
|
15201
15631
|
function CoffeeSingleLineComment(ctx, state2) {
|
|
15202
15632
|
return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
|
|
15203
15633
|
}
|
|
15204
|
-
var CoffeeMultiLineComment$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(CoffeeHereCommentStart, (0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($
|
|
15634
|
+
var CoffeeMultiLineComment$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(CoffeeHereCommentStart, (0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($R69, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
|
|
15205
15635
|
$2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
|
|
15206
15636
|
return { type: "Comment", $loc, token: `/*${$2}*/` };
|
|
15207
15637
|
});
|
|
15208
15638
|
function CoffeeMultiLineComment(ctx, state2) {
|
|
15209
15639
|
return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
|
|
15210
15640
|
}
|
|
15211
|
-
var CoffeeHereCommentStart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15641
|
+
var CoffeeHereCommentStart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R70, "CoffeeHereCommentStart /###(?!#)/"));
|
|
15212
15642
|
function CoffeeHereCommentStart(ctx, state2) {
|
|
15213
15643
|
return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
|
|
15214
15644
|
}
|
|
15215
|
-
var InlineComment$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15645
|
+
var InlineComment$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R71, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
15216
15646
|
return { $loc, token: $0 };
|
|
15217
15647
|
});
|
|
15218
15648
|
function InlineComment(ctx, state2) {
|
|
@@ -15226,13 +15656,13 @@ var TrailingComment$0 = (0, import_lib4.$S)((0, import_lib4.$E)(_), (0, import_l
|
|
|
15226
15656
|
function TrailingComment(ctx, state2) {
|
|
15227
15657
|
return (0, import_lib4.$EVENT)(ctx, state2, "TrailingComment", TrailingComment$0);
|
|
15228
15658
|
}
|
|
15229
|
-
var _$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15659
|
+
var _$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R72, "_ /(?=[ \\t\\/\\\\])/"), (0, import_lib4.$P)((0, import_lib4.$C)(NonNewlineWhitespace, InlineComment))), function(value) {
|
|
15230
15660
|
return value[1];
|
|
15231
15661
|
});
|
|
15232
15662
|
function _(ctx, state2) {
|
|
15233
15663
|
return (0, import_lib4.$EVENT)(ctx, state2, "_", _$0);
|
|
15234
15664
|
}
|
|
15235
|
-
var NonNewlineWhitespace$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15665
|
+
var NonNewlineWhitespace$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R22, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
15236
15666
|
return { $loc, token: $0 };
|
|
15237
15667
|
});
|
|
15238
15668
|
var NonNewlineWhitespace$1 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L132, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
|
|
@@ -15249,7 +15679,7 @@ var Trimmed_$0 = (0, import_lib4.$TV)(_, function($skip, $loc, $0, $1) {
|
|
|
15249
15679
|
function Trimmed_(ctx, state2) {
|
|
15250
15680
|
return (0, import_lib4.$EVENT)(ctx, state2, "Trimmed_", Trimmed_$0);
|
|
15251
15681
|
}
|
|
15252
|
-
var __$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15682
|
+
var __$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R73, "__ /(?=\\s|\\/|#)/"), (0, import_lib4.$Q)((0, import_lib4.$C)(Whitespace, Comment))), function(value) {
|
|
15253
15683
|
return value[1];
|
|
15254
15684
|
});
|
|
15255
15685
|
var __$1 = (0, import_lib4.$EXPECT)($L0, '__ ""');
|
|
@@ -15257,7 +15687,7 @@ var __$$ = [__$0, __$1];
|
|
|
15257
15687
|
function __(ctx, state2) {
|
|
15258
15688
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "__", __$$);
|
|
15259
15689
|
}
|
|
15260
|
-
var Whitespace$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15690
|
+
var Whitespace$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R51, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
15261
15691
|
return { $loc, token: $0 };
|
|
15262
15692
|
});
|
|
15263
15693
|
function Whitespace(ctx, state2) {
|
|
@@ -15295,7 +15725,7 @@ var SemicolonDelimiter$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_l
|
|
|
15295
15725
|
function SemicolonDelimiter(ctx, state2) {
|
|
15296
15726
|
return (0, import_lib4.$EVENT)(ctx, state2, "SemicolonDelimiter", SemicolonDelimiter$0);
|
|
15297
15727
|
}
|
|
15298
|
-
var NonIdContinue$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15728
|
+
var NonIdContinue$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R74, "NonIdContinue /(?!\\p{ID_Continue})/"));
|
|
15299
15729
|
function NonIdContinue(ctx, state2) {
|
|
15300
15730
|
return (0, import_lib4.$EVENT)(ctx, state2, "NonIdContinue", NonIdContinue$0);
|
|
15301
15731
|
}
|
|
@@ -15413,7 +15843,7 @@ var CoffeeSubstitutionStart$0 = (0, import_lib4.$TV)((0, import_lib4.$EXPECT)($L
|
|
|
15413
15843
|
function CoffeeSubstitutionStart(ctx, state2) {
|
|
15414
15844
|
return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
|
|
15415
15845
|
}
|
|
15416
|
-
var Colon$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L16, 'Colon ":"'), (0, import_lib4.$N)((0, import_lib4.$EXPECT)($
|
|
15846
|
+
var Colon$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L16, 'Colon ":"'), (0, import_lib4.$N)((0, import_lib4.$EXPECT)($R75, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
|
|
15417
15847
|
return { $loc, token: $1 };
|
|
15418
15848
|
});
|
|
15419
15849
|
function Colon(ctx, state2) {
|
|
@@ -15464,7 +15894,7 @@ function Do(ctx, state2) {
|
|
|
15464
15894
|
var Dot$0 = (0, import_lib4.$TV)((0, import_lib4.$EXPECT)($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
|
|
15465
15895
|
return { $loc, token: $1 };
|
|
15466
15896
|
});
|
|
15467
|
-
var Dot$1 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15897
|
+
var Dot$1 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R76, "Dot /['\u2019]s/"), Trimmed_), function($skip, $loc, $0, $1, $2) {
|
|
15468
15898
|
var ws = $2;
|
|
15469
15899
|
return [
|
|
15470
15900
|
{ $loc, token: "." },
|
|
@@ -15591,7 +16021,7 @@ var If$0 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, import_lib4.$S)((0, i
|
|
|
15591
16021
|
function If(ctx, state2) {
|
|
15592
16022
|
return (0, import_lib4.$EVENT)(ctx, state2, "If", If$0);
|
|
15593
16023
|
}
|
|
15594
|
-
var Import$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L15, 'Import "import"'), (0, import_lib4.$Y)((0, import_lib4.$EXPECT)($
|
|
16024
|
+
var Import$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L15, 'Import "import"'), (0, import_lib4.$Y)((0, import_lib4.$EXPECT)($R77, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
|
|
15595
16025
|
return { $loc, token: $1 };
|
|
15596
16026
|
});
|
|
15597
16027
|
function Import(ctx, state2) {
|
|
@@ -15949,7 +16379,7 @@ var JSXImplicitFragment$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(JSXTag, (0,
|
|
|
15949
16379
|
function JSXImplicitFragment(ctx, state2) {
|
|
15950
16380
|
return (0, import_lib4.$EVENT)(ctx, state2, "JSXImplicitFragment", JSXImplicitFragment$0);
|
|
15951
16381
|
}
|
|
15952
|
-
var JSXTag$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
16382
|
+
var JSXTag$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R78, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
|
|
15953
16383
|
return value[1];
|
|
15954
16384
|
});
|
|
15955
16385
|
function JSXTag(ctx, state2) {
|
|
@@ -16096,7 +16526,7 @@ var JSXElementName$$ = [JSXElementName$0, JSXElementName$1];
|
|
|
16096
16526
|
function JSXElementName(ctx, state2) {
|
|
16097
16527
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "JSXElementName", JSXElementName$$);
|
|
16098
16528
|
}
|
|
16099
|
-
var JSXIdentifierName$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
16529
|
+
var JSXIdentifierName$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R79, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
|
|
16100
16530
|
function JSXIdentifierName(ctx, state2) {
|
|
16101
16531
|
return (0, import_lib4.$EVENT)(ctx, state2, "JSXIdentifierName", JSXIdentifierName$0);
|
|
16102
16532
|
}
|
|
@@ -16275,7 +16705,7 @@ var JSXAttribute$6 = (0, import_lib4.$TS)((0, import_lib4.$S)(Dot, JSXShorthandS
|
|
|
16275
16705
|
class: $2
|
|
16276
16706
|
};
|
|
16277
16707
|
});
|
|
16278
|
-
var JSXAttribute$7 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($
|
|
16708
|
+
var JSXAttribute$7 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($R80, "JSXAttribute /[!+-]/")), JSXAttributeName, (0, import_lib4.$Y)(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
|
|
16279
16709
|
var toggle = $1;
|
|
16280
16710
|
var id = $2;
|
|
16281
16711
|
const value = toggle === "+" ? "true" : "false";
|
|
@@ -16285,11 +16715,11 @@ var JSXAttribute$$ = [JSXAttribute$0, JSXAttribute$1, JSXAttribute$2, JSXAttribu
|
|
|
16285
16715
|
function JSXAttribute(ctx, state2) {
|
|
16286
16716
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "JSXAttribute", JSXAttribute$$);
|
|
16287
16717
|
}
|
|
16288
|
-
var JSXAttributeSpace$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
16718
|
+
var JSXAttributeSpace$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R81, "JSXAttributeSpace /[\\s>]|\\/>/"));
|
|
16289
16719
|
function JSXAttributeSpace(ctx, state2) {
|
|
16290
16720
|
return (0, import_lib4.$EVENT)(ctx, state2, "JSXAttributeSpace", JSXAttributeSpace$0);
|
|
16291
16721
|
}
|
|
16292
|
-
var JSXShorthandString$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
16722
|
+
var JSXShorthandString$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R82, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
16293
16723
|
return quoteString($0);
|
|
16294
16724
|
});
|
|
16295
16725
|
var JSXShorthandString$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(TemplateLiteral), function($skip, $loc, $0, $1) {
|
|
@@ -16336,7 +16766,7 @@ var JSXAttributeValue$3 = (0, import_lib4.$TS)((0, import_lib4.$S)(InsertInlineO
|
|
|
16336
16766
|
}
|
|
16337
16767
|
return [open, value, close];
|
|
16338
16768
|
});
|
|
16339
|
-
var JSXAttributeValue$4 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
16769
|
+
var JSXAttributeValue$4 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R83, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
|
|
16340
16770
|
var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
|
|
16341
16771
|
function JSXAttributeValue(ctx, state2) {
|
|
16342
16772
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "JSXAttributeValue", JSXAttributeValue$$);
|
|
@@ -16349,7 +16779,7 @@ var InlineJSXAttributeValue$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(InlineJ
|
|
|
16349
16779
|
function InlineJSXAttributeValue(ctx, state2) {
|
|
16350
16780
|
return (0, import_lib4.$EVENT)(ctx, state2, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
|
|
16351
16781
|
}
|
|
16352
|
-
var InlineJSXBinaryOpRHS$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$N)((0, import_lib4.$EXPECT)($
|
|
16782
|
+
var InlineJSXBinaryOpRHS$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$N)((0, import_lib4.$EXPECT)($R84, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
|
|
16353
16783
|
var op = $2;
|
|
16354
16784
|
var rhs = $3;
|
|
16355
16785
|
return [[], op, [], rhs];
|
|
@@ -16366,7 +16796,7 @@ var InlineJSXUnaryExpression$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, im
|
|
|
16366
16796
|
function InlineJSXUnaryExpression(ctx, state2) {
|
|
16367
16797
|
return (0, import_lib4.$EVENT)(ctx, state2, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
|
|
16368
16798
|
}
|
|
16369
|
-
var InlineJSXUnaryOp$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
16799
|
+
var InlineJSXUnaryOp$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R85, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
16370
16800
|
return { $loc, token: $0 };
|
|
16371
16801
|
});
|
|
16372
16802
|
function InlineJSXUnaryOp(ctx, state2) {
|
|
@@ -16617,13 +17047,13 @@ var JSXComment$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXP
|
|
|
16617
17047
|
function JSXComment(ctx, state2) {
|
|
16618
17048
|
return (0, import_lib4.$EVENT)(ctx, state2, "JSXComment", JSXComment$0);
|
|
16619
17049
|
}
|
|
16620
|
-
var JSXCommentContent$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
17050
|
+
var JSXCommentContent$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R86, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
16621
17051
|
return { $loc, token: $0.replace(/\*\//g, "* /") };
|
|
16622
17052
|
});
|
|
16623
17053
|
function JSXCommentContent(ctx, state2) {
|
|
16624
17054
|
return (0, import_lib4.$EVENT)(ctx, state2, "JSXCommentContent", JSXCommentContent$0);
|
|
16625
17055
|
}
|
|
16626
|
-
var JSXText$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
17056
|
+
var JSXText$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R87, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
16627
17057
|
return {
|
|
16628
17058
|
type: "JSXText",
|
|
16629
17059
|
token: $0,
|
|
@@ -17157,7 +17587,7 @@ var TypeProperty$0 = (0, import_lib4.$S)((0, import_lib4.$E)((0, import_lib4.$S)
|
|
|
17157
17587
|
function TypeProperty(ctx, state2) {
|
|
17158
17588
|
return (0, import_lib4.$EVENT)(ctx, state2, "TypeProperty", TypeProperty$0);
|
|
17159
17589
|
}
|
|
17160
|
-
var TypeIndexSignature$0 = (0, import_lib4.$S)((0, import_lib4.$E)((0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
17590
|
+
var TypeIndexSignature$0 = (0, import_lib4.$S)((0, import_lib4.$E)((0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R88, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, (0, import_lib4.$E)((0, import_lib4.$S)(__, (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R13, "TypeIndexSignature /[+-]/")), (0, import_lib4.$Y)((0, import_lib4.$S)((0, import_lib4.$E)(_), QuestionMark)))));
|
|
17161
17591
|
function TypeIndexSignature(ctx, state2) {
|
|
17162
17592
|
return (0, import_lib4.$EVENT)(ctx, state2, "TypeIndexSignature", TypeIndexSignature$0);
|
|
17163
17593
|
}
|
|
@@ -17218,6 +17648,19 @@ var MaybeNestedTypePrimary$$ = [MaybeNestedTypePrimary$0, MaybeNestedTypePrimary
|
|
|
17218
17648
|
function MaybeNestedTypePrimary(ctx, state2) {
|
|
17219
17649
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "MaybeNestedTypePrimary", MaybeNestedTypePrimary$$);
|
|
17220
17650
|
}
|
|
17651
|
+
var MaybeNestedTypeUnary$0 = NestedTypeBulletedTuple;
|
|
17652
|
+
var MaybeNestedTypeUnary$1 = NestedInterfaceBlock;
|
|
17653
|
+
var MaybeNestedTypeUnary$2 = NestedTypeBinaryChain;
|
|
17654
|
+
var MaybeNestedTypeUnary$3 = (0, import_lib4.$TS)((0, import_lib4.$S)(PushIndent, (0, import_lib4.$E)((0, import_lib4.$S)(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
|
|
17655
|
+
if (!$2)
|
|
17656
|
+
return $skip;
|
|
17657
|
+
return $2;
|
|
17658
|
+
});
|
|
17659
|
+
var MaybeNestedTypeUnary$4 = (0, import_lib4.$S)(NotDedented, TypeUnary);
|
|
17660
|
+
var MaybeNestedTypeUnary$$ = [MaybeNestedTypeUnary$0, MaybeNestedTypeUnary$1, MaybeNestedTypeUnary$2, MaybeNestedTypeUnary$3, MaybeNestedTypeUnary$4];
|
|
17661
|
+
function MaybeNestedTypeUnary(ctx, state2) {
|
|
17662
|
+
return (0, import_lib4.$EVENT_C)(ctx, state2, "MaybeNestedTypeUnary", MaybeNestedTypeUnary$$);
|
|
17663
|
+
}
|
|
17221
17664
|
var ReturnTypeSuffix$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)(_), (0, import_lib4.$E)(QuestionMark), (0, import_lib4.$E)(_), Colon, ReturnType), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
|
|
17222
17665
|
var optional = $2;
|
|
17223
17666
|
var t = $5;
|
|
@@ -17272,7 +17715,7 @@ var Type$0 = TypeWithPostfix;
|
|
|
17272
17715
|
function Type(ctx, state2) {
|
|
17273
17716
|
return (0, import_lib4.$EVENT)(ctx, state2, "Type", Type$0);
|
|
17274
17717
|
}
|
|
17275
|
-
var TypeBinary$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)((0, import_lib4.$S)(NotDedented, TypeBinaryOp, __)), TypeUnary, (0, import_lib4.$Q)((0, import_lib4.$S)(NotDedented, TypeBinaryOp,
|
|
17718
|
+
var TypeBinary$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)((0, import_lib4.$S)(NotDedented, TypeBinaryOp, __)), TypeUnary, (0, import_lib4.$Q)((0, import_lib4.$S)(NotDedented, TypeBinaryOp, MaybeNestedTypeUnary))), function($skip, $loc, $0, $1, $2, $3) {
|
|
17276
17719
|
var optionalPrefix = $1;
|
|
17277
17720
|
var t = $2;
|
|
17278
17721
|
var ops = $3;
|
|
@@ -17639,7 +18082,7 @@ var TypeWithPostfix$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(TypeConditional
|
|
|
17639
18082
|
function TypeWithPostfix(ctx, state2) {
|
|
17640
18083
|
return (0, import_lib4.$EVENT)(ctx, state2, "TypeWithPostfix", TypeWithPostfix$0);
|
|
17641
18084
|
}
|
|
17642
|
-
var TypeConditional$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)(_), (0, import_lib4.$EXPECT)($
|
|
18085
|
+
var TypeConditional$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)(_), (0, import_lib4.$EXPECT)($R89, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
|
|
17643
18086
|
return prepend($1, expressionizeTypeIf($3));
|
|
17644
18087
|
});
|
|
17645
18088
|
var TypeConditional$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(TypeCondition, NotDedented, QuestionMark, __, Type, __, Colon, __, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
@@ -17841,8 +18284,8 @@ function TypeApplicationStart(ctx, state2) {
|
|
|
17841
18284
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "TypeApplicationStart", TypeApplicationStart$$);
|
|
17842
18285
|
}
|
|
17843
18286
|
var ForbiddenImplicitTypeCalls$0 = ReservedBinary;
|
|
17844
|
-
var ForbiddenImplicitTypeCalls$1 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
17845
|
-
var ForbiddenImplicitTypeCalls$2 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
18287
|
+
var ForbiddenImplicitTypeCalls$1 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R90, "ForbiddenImplicitTypeCalls /[|&<!=\\-\u21D2\u2192]/"));
|
|
18288
|
+
var ForbiddenImplicitTypeCalls$2 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R91, "ForbiddenImplicitTypeCalls /(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
|
|
17846
18289
|
var ForbiddenImplicitTypeCalls$$ = [ForbiddenImplicitTypeCalls$0, ForbiddenImplicitTypeCalls$1, ForbiddenImplicitTypeCalls$2];
|
|
17847
18290
|
function ForbiddenImplicitTypeCalls(ctx, state2) {
|
|
17848
18291
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "ForbiddenImplicitTypeCalls", ForbiddenImplicitTypeCalls$$);
|
|
@@ -17925,7 +18368,7 @@ var TypeParameters$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(OpenAngleBracket
|
|
|
17925
18368
|
function TypeParameters(ctx, state2) {
|
|
17926
18369
|
return (0, import_lib4.$EVENT)(ctx, state2, "TypeParameters", TypeParameters$0);
|
|
17927
18370
|
}
|
|
17928
|
-
var TypeParameter$0 = (0, import_lib4.$S)(__, (0, import_lib4.$Q)((0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
18371
|
+
var TypeParameter$0 = (0, import_lib4.$S)(__, (0, import_lib4.$Q)((0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R92, "TypeParameter /const|in|out/")), _)), Identifier, (0, import_lib4.$E)(TypeConstraint), (0, import_lib4.$E)(TypeInitializer), TypeParameterDelimiter);
|
|
17929
18372
|
function TypeParameter(ctx, state2) {
|
|
17930
18373
|
return (0, import_lib4.$EVENT)(ctx, state2, "TypeParameter", TypeParameter$0);
|
|
17931
18374
|
}
|
|
@@ -17952,15 +18395,15 @@ var ThisType$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$E)(_),
|
|
|
17952
18395
|
function ThisType(ctx, state2) {
|
|
17953
18396
|
return (0, import_lib4.$EVENT)(ctx, state2, "ThisType", ThisType$0);
|
|
17954
18397
|
}
|
|
17955
|
-
var Shebang$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
18398
|
+
var Shebang$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R93, "Shebang /#![^\\r\\n]*/")), EOL);
|
|
17956
18399
|
function Shebang(ctx, state2) {
|
|
17957
18400
|
return (0, import_lib4.$EVENT)(ctx, state2, "Shebang", Shebang$0);
|
|
17958
18401
|
}
|
|
17959
|
-
var CivetPrologue$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
18402
|
+
var CivetPrologue$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R94, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, (0, import_lib4.$EXPECT)($R21, "CivetPrologue /[ \\t]*/"), (0, import_lib4.$C)(EOL, (0, import_lib4.$Y)(RestOfLine))), function(value) {
|
|
17960
18403
|
var content = value[2];
|
|
17961
18404
|
return content;
|
|
17962
18405
|
});
|
|
17963
|
-
var CivetPrologue$1 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
18406
|
+
var CivetPrologue$1 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R94, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, (0, import_lib4.$EXPECT)($R21, "CivetPrologue /[ \\t]*/"), (0, import_lib4.$C)(EOL, (0, import_lib4.$Y)(RestOfLine))), function(value) {
|
|
17964
18407
|
var content = value[2];
|
|
17965
18408
|
return content;
|
|
17966
18409
|
});
|
|
@@ -17968,7 +18411,7 @@ var CivetPrologue$$ = [CivetPrologue$0, CivetPrologue$1];
|
|
|
17968
18411
|
function CivetPrologue(ctx, state2) {
|
|
17969
18412
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "CivetPrologue", CivetPrologue$$);
|
|
17970
18413
|
}
|
|
17971
|
-
var CivetPrologueContent$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L238, 'CivetPrologueContent "civet"'), NonIdContinue, (0, import_lib4.$Q)(CivetOption), (0, import_lib4.$EXPECT)($
|
|
18414
|
+
var CivetPrologueContent$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L238, 'CivetPrologueContent "civet"'), NonIdContinue, (0, import_lib4.$Q)(CivetOption), (0, import_lib4.$EXPECT)($R95, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
17972
18415
|
var options = $3;
|
|
17973
18416
|
return {
|
|
17974
18417
|
type: "CivetPrologue",
|
|
@@ -17979,7 +18422,7 @@ var CivetPrologueContent$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import
|
|
|
17979
18422
|
function CivetPrologueContent(ctx, state2) {
|
|
17980
18423
|
return (0, import_lib4.$EVENT)(ctx, state2, "CivetPrologueContent", CivetPrologueContent$0);
|
|
17981
18424
|
}
|
|
17982
|
-
var CivetOption$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
18425
|
+
var CivetOption$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R96, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
17983
18426
|
const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
|
|
17984
18427
|
if (l)
|
|
17985
18428
|
return l.toUpperCase();
|
|
@@ -18001,11 +18444,11 @@ var CivetOption$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R95, "CivetOp
|
|
|
18001
18444
|
function CivetOption(ctx, state2) {
|
|
18002
18445
|
return (0, import_lib4.$EVENT)(ctx, state2, "CivetOption", CivetOption$0);
|
|
18003
18446
|
}
|
|
18004
|
-
var UnknownPrologue$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
18447
|
+
var UnknownPrologue$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R94, "UnknownPrologue /[\\t ]*/")), StringLiteral, (0, import_lib4.$TEXT)(SimpleStatementDelimiter), EOS);
|
|
18005
18448
|
function UnknownPrologue(ctx, state2) {
|
|
18006
18449
|
return (0, import_lib4.$EVENT)(ctx, state2, "UnknownPrologue", UnknownPrologue$0);
|
|
18007
18450
|
}
|
|
18008
|
-
var TripleSlashDirective$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
18451
|
+
var TripleSlashDirective$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R97, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), (0, import_lib4.$E)(EOS));
|
|
18009
18452
|
function TripleSlashDirective(ctx, state2) {
|
|
18010
18453
|
return (0, import_lib4.$EVENT)(ctx, state2, "TripleSlashDirective", TripleSlashDirective$0);
|
|
18011
18454
|
}
|
|
@@ -18021,13 +18464,13 @@ var PrologueString$$ = [PrologueString$0, PrologueString$1];
|
|
|
18021
18464
|
function PrologueString(ctx, state2) {
|
|
18022
18465
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "PrologueString", PrologueString$$);
|
|
18023
18466
|
}
|
|
18024
|
-
var EOS$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
18467
|
+
var EOS$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R98, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), (0, import_lib4.$P)(RestOfLine)), function(value) {
|
|
18025
18468
|
return value[1];
|
|
18026
18469
|
});
|
|
18027
18470
|
function EOS(ctx, state2) {
|
|
18028
18471
|
return (0, import_lib4.$EVENT)(ctx, state2, "EOS", EOS$0);
|
|
18029
18472
|
}
|
|
18030
|
-
var EOL$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
18473
|
+
var EOL$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R99, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
18031
18474
|
return { $loc, token: $0 };
|
|
18032
18475
|
});
|
|
18033
18476
|
function EOL(ctx, state2) {
|
|
@@ -18436,11 +18879,11 @@ var Prologue$0 = (0, import_lib4.$Q)((0, import_lib4.$C)(TripleSlashDirective, (
|
|
|
18436
18879
|
function Prologue(ctx, state2) {
|
|
18437
18880
|
return (0, import_lib4.$EVENT)(ctx, state2, "Prologue", Prologue$0);
|
|
18438
18881
|
}
|
|
18439
|
-
var ProloguePrefix$0 = (0, import_lib4.$S)(Prologue, (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
18882
|
+
var ProloguePrefix$0 = (0, import_lib4.$S)(Prologue, (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R100, "ProloguePrefix /[^]*/")));
|
|
18440
18883
|
function ProloguePrefix(ctx, state2) {
|
|
18441
18884
|
return (0, import_lib4.$EVENT)(ctx, state2, "ProloguePrefix", ProloguePrefix$0);
|
|
18442
18885
|
}
|
|
18443
|
-
var Indent$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
18886
|
+
var Indent$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($R21, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
18444
18887
|
const level = getIndentLevel($0, config.tab);
|
|
18445
18888
|
return {
|
|
18446
18889
|
$loc,
|