@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/browser.js
CHANGED
|
@@ -38,9 +38,9 @@ var Civet = (() => {
|
|
|
38
38
|
));
|
|
39
39
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
40
40
|
|
|
41
|
-
// node_modules
|
|
41
|
+
// node_modules/@danielx/hera/dist/machine.js
|
|
42
42
|
var require_machine = __commonJS({
|
|
43
|
-
"node_modules
|
|
43
|
+
"node_modules/@danielx/hera/dist/machine.js"(exports, module) {
|
|
44
44
|
"use strict";
|
|
45
45
|
var __defProp2 = Object.defineProperty;
|
|
46
46
|
var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
|
|
@@ -70,7 +70,7 @@ var Civet = (() => {
|
|
|
70
70
|
$N: () => $N2,
|
|
71
71
|
$P: () => $P2,
|
|
72
72
|
$Q: () => $Q2,
|
|
73
|
-
$R: () => $
|
|
73
|
+
$R: () => $R101,
|
|
74
74
|
$R$0: () => $R$02,
|
|
75
75
|
$S: () => $S2,
|
|
76
76
|
$T: () => $T2,
|
|
@@ -107,7 +107,7 @@ var Civet = (() => {
|
|
|
107
107
|
return;
|
|
108
108
|
};
|
|
109
109
|
}
|
|
110
|
-
function $
|
|
110
|
+
function $R101(regExp) {
|
|
111
111
|
return function(_ctx, state2) {
|
|
112
112
|
const { input, pos } = state2;
|
|
113
113
|
regExp.lastIndex = state2.pos;
|
|
@@ -572,6 +572,7 @@ ${body}`;
|
|
|
572
572
|
processForInOf: () => processForInOf,
|
|
573
573
|
processProgram: () => processProgram,
|
|
574
574
|
processProgramAsync: () => processProgramAsync,
|
|
575
|
+
processRangeExpression: () => processRangeExpression,
|
|
575
576
|
processTryBlock: () => processTryBlock,
|
|
576
577
|
processUnaryExpression: () => processUnaryExpression,
|
|
577
578
|
processUnaryNestedExpression: () => processUnaryNestedExpression,
|
|
@@ -600,6 +601,13 @@ ${body}`;
|
|
|
600
601
|
if (a === b) {
|
|
601
602
|
throw new Error(`Assertion failed [${msg}]: ${a} === ${b}`);
|
|
602
603
|
}
|
|
604
|
+
},
|
|
605
|
+
notNull(a, msg) {
|
|
606
|
+
if (!(a != null)) {
|
|
607
|
+
throw new Error(`Assertion failed [${msg}]: got null`);
|
|
608
|
+
}
|
|
609
|
+
;
|
|
610
|
+
return;
|
|
603
611
|
}
|
|
604
612
|
};
|
|
605
613
|
function addParentPointers(node, parent) {
|
|
@@ -1059,6 +1067,9 @@ ${body}`;
|
|
|
1059
1067
|
expression = item;
|
|
1060
1068
|
}
|
|
1061
1069
|
if (isASTNodeObject(expression)) {
|
|
1070
|
+
if (expression.token) {
|
|
1071
|
+
return expression;
|
|
1072
|
+
}
|
|
1062
1073
|
if (expression.parenthesized) {
|
|
1063
1074
|
return expression;
|
|
1064
1075
|
}
|
|
@@ -1581,86 +1592,90 @@ ${body}`;
|
|
|
1581
1592
|
let count = 0;
|
|
1582
1593
|
switch (pattern.type) {
|
|
1583
1594
|
case "ArrayBindingPattern": {
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1595
|
+
{
|
|
1596
|
+
const results = [];
|
|
1597
|
+
for (let ref2 = pattern.elements, i2 = 0, len1 = ref2.length; i2 < len1; i2++) {
|
|
1598
|
+
const elem = ref2[i2];
|
|
1599
|
+
let { typeSuffix } = elem;
|
|
1600
|
+
typeSuffix ??= elem.binding?.typeSuffix;
|
|
1601
|
+
if (typeSuffix) {
|
|
1602
|
+
count++;
|
|
1603
|
+
}
|
|
1604
|
+
let typeElement = [typeSuffix?.t, elem.delim];
|
|
1605
|
+
if (typeSuffix?.optional) {
|
|
1606
|
+
typeElement[0] = parenthesizeType(typeElement[0]);
|
|
1607
|
+
typeElement.unshift("undefined |");
|
|
1608
|
+
}
|
|
1609
|
+
if (elem.type === "BindingRestElement") {
|
|
1610
|
+
typeElement[0] ??= "unknown[]";
|
|
1611
|
+
typeElement.unshift(elem.dots);
|
|
1612
|
+
} else {
|
|
1613
|
+
typeElement[0] ??= "unknown";
|
|
1614
|
+
}
|
|
1615
|
+
results.push(typeElement);
|
|
1596
1616
|
}
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1617
|
+
;
|
|
1618
|
+
const types = results;
|
|
1619
|
+
if (count) {
|
|
1620
|
+
const t = [": [", types, "]"];
|
|
1621
|
+
pattern.typeSuffix = {
|
|
1622
|
+
type: "TypeSuffix",
|
|
1623
|
+
ts: true,
|
|
1624
|
+
t,
|
|
1625
|
+
children: [t]
|
|
1626
|
+
};
|
|
1602
1627
|
}
|
|
1603
|
-
results.push(typeElement);
|
|
1604
|
-
}
|
|
1605
|
-
;
|
|
1606
|
-
const types = results;
|
|
1607
|
-
if (count) {
|
|
1608
|
-
const t = [": [", types, "]"];
|
|
1609
|
-
pattern.typeSuffix = {
|
|
1610
|
-
type: "TypeSuffix",
|
|
1611
|
-
ts: true,
|
|
1612
|
-
t,
|
|
1613
|
-
children: [t]
|
|
1614
|
-
};
|
|
1615
1628
|
}
|
|
1616
1629
|
;
|
|
1617
1630
|
break;
|
|
1618
1631
|
}
|
|
1619
1632
|
case "ObjectBindingPattern": {
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
typeSuffix ??= {
|
|
1630
|
-
type: "TypeSuffix",
|
|
1631
|
-
ts: true,
|
|
1632
|
-
children: [": unknown"]
|
|
1633
|
-
};
|
|
1634
|
-
switch (prop.type) {
|
|
1635
|
-
case "BindingProperty": {
|
|
1636
|
-
const ws = prop.children.slice(0, prop.children.indexOf(prop.name));
|
|
1637
|
-
results1.push([...ws, prop.name, typeSuffix, prop.delim]);
|
|
1638
|
-
break;
|
|
1639
|
-
}
|
|
1640
|
-
case "AtBindingProperty": {
|
|
1641
|
-
const ws = prop.children.slice(0, prop.children.indexOf(prop.binding));
|
|
1642
|
-
results1.push([...ws, prop.ref.id, typeSuffix, prop.delim]);
|
|
1643
|
-
break;
|
|
1633
|
+
{
|
|
1634
|
+
let restType;
|
|
1635
|
+
const results1 = [];
|
|
1636
|
+
for (let ref3 = pattern.properties, i3 = 0, len22 = ref3.length; i3 < len22; i3++) {
|
|
1637
|
+
const prop = ref3[i3];
|
|
1638
|
+
let { typeSuffix } = prop;
|
|
1639
|
+
typeSuffix ??= prop.value?.typeSuffix;
|
|
1640
|
+
if (typeSuffix) {
|
|
1641
|
+
count++;
|
|
1644
1642
|
}
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1643
|
+
typeSuffix ??= {
|
|
1644
|
+
type: "TypeSuffix",
|
|
1645
|
+
ts: true,
|
|
1646
|
+
children: [": unknown"]
|
|
1647
|
+
};
|
|
1648
|
+
switch (prop.type) {
|
|
1649
|
+
case "BindingProperty": {
|
|
1650
|
+
const ws = prop.children.slice(0, prop.children.indexOf(prop.name));
|
|
1651
|
+
results1.push([...ws, prop.name, typeSuffix, prop.delim]);
|
|
1652
|
+
break;
|
|
1653
|
+
}
|
|
1654
|
+
case "AtBindingProperty": {
|
|
1655
|
+
const ws = prop.children.slice(0, prop.children.indexOf(prop.binding));
|
|
1656
|
+
results1.push([...ws, prop.ref.id, typeSuffix, prop.delim]);
|
|
1657
|
+
break;
|
|
1658
|
+
}
|
|
1659
|
+
case "BindingRestProperty": {
|
|
1660
|
+
restType = prop.typeSuffix?.t;
|
|
1661
|
+
continue;
|
|
1662
|
+
}
|
|
1648
1663
|
}
|
|
1649
1664
|
}
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1665
|
+
;
|
|
1666
|
+
const types = results1;
|
|
1667
|
+
if (count) {
|
|
1668
|
+
const t = ["{", types, "}"];
|
|
1669
|
+
if (restType != null) {
|
|
1670
|
+
t.push(" & ", parenthesizeType(trimFirstSpace(restType)));
|
|
1671
|
+
}
|
|
1672
|
+
pattern.typeSuffix = {
|
|
1673
|
+
type: "TypeSuffix",
|
|
1674
|
+
ts: true,
|
|
1675
|
+
t,
|
|
1676
|
+
children: [": ", t]
|
|
1677
|
+
};
|
|
1657
1678
|
}
|
|
1658
|
-
pattern.typeSuffix = {
|
|
1659
|
-
type: "TypeSuffix",
|
|
1660
|
-
ts: true,
|
|
1661
|
-
t,
|
|
1662
|
-
children: [": ", t]
|
|
1663
|
-
};
|
|
1664
1679
|
}
|
|
1665
1680
|
;
|
|
1666
1681
|
break;
|
|
@@ -1745,6 +1760,34 @@ ${body}`;
|
|
|
1745
1760
|
"\n"
|
|
1746
1761
|
]]);
|
|
1747
1762
|
},
|
|
1763
|
+
rslice(rsliceRef) {
|
|
1764
|
+
const RSliceable = makeRef("RSliceable");
|
|
1765
|
+
state.prelude.push(["", [
|
|
1766
|
+
ts(["type ", RSliceable, "<R> = string | {length: number; slice(start: number, end: number): {reverse(): R}}\n"]),
|
|
1767
|
+
preludeVar,
|
|
1768
|
+
rsliceRef,
|
|
1769
|
+
ts([": <R, T extends string | ", RSliceable, "<R>>(a: T, start?: number, end?: number) => T extends string ? string : T extends ", RSliceable, "<infer R> ? R : never"]),
|
|
1770
|
+
" = ((a, start, end) => {\n",
|
|
1771
|
+
" const l = a.length\n",
|
|
1772
|
+
" start = ",
|
|
1773
|
+
getHelperRef("modulo"),
|
|
1774
|
+
"(start ?? -1, l)\n",
|
|
1775
|
+
" end = ",
|
|
1776
|
+
getHelperRef("modulo"),
|
|
1777
|
+
"((end ?? -1) + 1, l)\n",
|
|
1778
|
+
" if (typeof a === 'string') {\n",
|
|
1779
|
+
` let r = ""
|
|
1780
|
+
`,
|
|
1781
|
+
" for (let i = start; i >= end; --i) r += a[i]\n",
|
|
1782
|
+
" return r",
|
|
1783
|
+
asAny,
|
|
1784
|
+
"\n",
|
|
1785
|
+
" } else {\n",
|
|
1786
|
+
" return a.slice(end, start + 1).reverse()\n",
|
|
1787
|
+
" }\n",
|
|
1788
|
+
"});\n"
|
|
1789
|
+
]]);
|
|
1790
|
+
},
|
|
1748
1791
|
div(divRef) {
|
|
1749
1792
|
state.prelude.push(["", [
|
|
1750
1793
|
// [indent, statement]
|
|
@@ -1871,6 +1914,9 @@ ${body}`;
|
|
|
1871
1914
|
declareHelper[base](ref);
|
|
1872
1915
|
return state.helperRefs[base] = ref;
|
|
1873
1916
|
}
|
|
1917
|
+
function peekHelperRef(base) {
|
|
1918
|
+
return state.helperRefs[base];
|
|
1919
|
+
}
|
|
1874
1920
|
function extractPreludeFor(node) {
|
|
1875
1921
|
let helpers = new Set(Object.values(state.helperRefs));
|
|
1876
1922
|
helpers = new Set(gatherRecursive(node, helpers.has.bind(helpers)));
|
|
@@ -1914,6 +1960,9 @@ ${body}`;
|
|
|
1914
1960
|
let ref;
|
|
1915
1961
|
if (ref = options.sourceMap) {
|
|
1916
1962
|
const sourceMap = ref;
|
|
1963
|
+
if (node.$loc != null) {
|
|
1964
|
+
sourceMap.updateSourceMap("", node.$loc.pos);
|
|
1965
|
+
}
|
|
1917
1966
|
line = sourceMap.data.srcLine + 1;
|
|
1918
1967
|
column = sourceMap.data.srcColumn + 1;
|
|
1919
1968
|
offset = sourceMap.data.srcOffset;
|
|
@@ -2538,7 +2587,7 @@ ${js}`
|
|
|
2538
2587
|
case "IterationStatement":
|
|
2539
2588
|
case "DoStatement":
|
|
2540
2589
|
case "ComptimeStatement": {
|
|
2541
|
-
wrapIterationReturningResults(exp,
|
|
2590
|
+
wrapIterationReturningResults(exp, collect);
|
|
2542
2591
|
return;
|
|
2543
2592
|
}
|
|
2544
2593
|
case "BlockStatement": {
|
|
@@ -2578,7 +2627,7 @@ ${js}`
|
|
|
2578
2627
|
}
|
|
2579
2628
|
node[1] = collect(node[1]);
|
|
2580
2629
|
}
|
|
2581
|
-
function insertReturn(node
|
|
2630
|
+
function insertReturn(node) {
|
|
2582
2631
|
if (!node)
|
|
2583
2632
|
return;
|
|
2584
2633
|
switch (node.type) {
|
|
@@ -2686,7 +2735,7 @@ ${js}`
|
|
|
2686
2735
|
case "IterationStatement":
|
|
2687
2736
|
case "DoStatement":
|
|
2688
2737
|
case "ComptimeStatement": {
|
|
2689
|
-
wrapIterationReturningResults(exp
|
|
2738
|
+
wrapIterationReturningResults(exp);
|
|
2690
2739
|
return;
|
|
2691
2740
|
}
|
|
2692
2741
|
case "BlockStatement": {
|
|
@@ -2782,11 +2831,11 @@ ${js}`
|
|
|
2782
2831
|
}
|
|
2783
2832
|
return changed;
|
|
2784
2833
|
}
|
|
2785
|
-
function wrapIterationReturningResults(statement,
|
|
2834
|
+
function wrapIterationReturningResults(statement, collect) {
|
|
2786
2835
|
if (statement.type === "DoStatement" || statement.type === "ComptimeStatement") {
|
|
2787
2836
|
let results;
|
|
2788
2837
|
if (statement.type === "ComptimeStatement") {
|
|
2789
|
-
insertReturn(statement.block
|
|
2838
|
+
insertReturn(statement.block);
|
|
2790
2839
|
const expression = expressionizeComptime(statement);
|
|
2791
2840
|
replaceNode(statement, expression);
|
|
2792
2841
|
const parent = expression.parent;
|
|
@@ -2802,7 +2851,7 @@ ${js}`
|
|
|
2802
2851
|
if (collect) {
|
|
2803
2852
|
assignResults(results, collect);
|
|
2804
2853
|
} else {
|
|
2805
|
-
insertReturn(results
|
|
2854
|
+
insertReturn(results);
|
|
2806
2855
|
}
|
|
2807
2856
|
return;
|
|
2808
2857
|
}
|
|
@@ -2812,6 +2861,27 @@ ${js}`
|
|
|
2812
2861
|
"wrapIterationReturningResults should not be called twice on the same statement"
|
|
2813
2862
|
);
|
|
2814
2863
|
const resultsRef = statement.resultsRef = makeRef("results");
|
|
2864
|
+
const { declaration, breakWithOnly } = iterationDeclaration(statement);
|
|
2865
|
+
const { ancestor, child } = findAncestor(statement, ($4) => $4.type === "BlockStatement");
|
|
2866
|
+
assert.notNull(ancestor, `Could not find block containing ${statement.type}`);
|
|
2867
|
+
const index = findChildIndex(ancestor.expressions, child);
|
|
2868
|
+
const iterationTuple = ancestor.expressions[index];
|
|
2869
|
+
ancestor.expressions.splice(index, 0, [iterationTuple[0], declaration, ";"]);
|
|
2870
|
+
iterationTuple[0] = "";
|
|
2871
|
+
braceBlock(ancestor);
|
|
2872
|
+
if (!breakWithOnly) {
|
|
2873
|
+
assignResults(statement.block, (node) => {
|
|
2874
|
+
return [resultsRef, ".push(", node, ")"];
|
|
2875
|
+
});
|
|
2876
|
+
}
|
|
2877
|
+
if (collect) {
|
|
2878
|
+
statement.children.push(collect(resultsRef));
|
|
2879
|
+
} else {
|
|
2880
|
+
statement.children.push(";return ", resultsRef, ";");
|
|
2881
|
+
}
|
|
2882
|
+
}
|
|
2883
|
+
function iterationDeclaration(statement) {
|
|
2884
|
+
const { resultsRef } = statement;
|
|
2815
2885
|
let decl = "const";
|
|
2816
2886
|
if (statement.type === "IterationStatement" || statement.type === "ForStatement") {
|
|
2817
2887
|
if (processBreakContinueWith(statement)) {
|
|
@@ -2837,17 +2907,7 @@ ${js}`
|
|
|
2837
2907
|
declaration.children.push(";", resultsRef, "=[]");
|
|
2838
2908
|
}
|
|
2839
2909
|
}
|
|
2840
|
-
|
|
2841
|
-
if (!breakWithOnly) {
|
|
2842
|
-
assignResults(statement.block, (node) => {
|
|
2843
|
-
return [resultsRef, ".push(", node, ")"];
|
|
2844
|
-
});
|
|
2845
|
-
}
|
|
2846
|
-
if (collect) {
|
|
2847
|
-
statement.children.push(collect(resultsRef));
|
|
2848
|
-
} else {
|
|
2849
|
-
statement.children.push(";return ", resultsRef, ";");
|
|
2850
|
-
}
|
|
2910
|
+
return { declaration, breakWithOnly };
|
|
2851
2911
|
}
|
|
2852
2912
|
function processParams(f) {
|
|
2853
2913
|
const { type, parameters, block } = f;
|
|
@@ -2872,9 +2932,9 @@ ${js}`
|
|
|
2872
2932
|
injectParamProps: isConstructor
|
|
2873
2933
|
});
|
|
2874
2934
|
if (isConstructor) {
|
|
2875
|
-
const { ancestor } = findAncestor(f, ($
|
|
2935
|
+
const { ancestor } = findAncestor(f, ($5) => $5.type === "ClassExpression");
|
|
2876
2936
|
if (ancestor != null) {
|
|
2877
|
-
const fields = new Set(gatherRecursiveWithinFunction(ancestor, ($
|
|
2937
|
+
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));
|
|
2878
2938
|
const classExpressions = ancestor.body.expressions;
|
|
2879
2939
|
let index = findChildIndex(classExpressions, f);
|
|
2880
2940
|
assert.notEqual(index, -1, "Could not find constructor in class");
|
|
@@ -2883,12 +2943,12 @@ ${js}`
|
|
|
2883
2943
|
index--;
|
|
2884
2944
|
}
|
|
2885
2945
|
const fStatement = classExpressions[index];
|
|
2886
|
-
for (let ref8 = gatherRecursive(parameters, ($
|
|
2946
|
+
for (let ref8 = gatherRecursive(parameters, ($9) => $9.type === "Parameter"), i1 = 0, len3 = ref8.length; i1 < len3; i1++) {
|
|
2887
2947
|
const parameter = ref8[i1];
|
|
2888
2948
|
if (!parameter.typeSuffix) {
|
|
2889
2949
|
continue;
|
|
2890
2950
|
}
|
|
2891
|
-
for (let ref9 = gatherRecursive(parameter, ($
|
|
2951
|
+
for (let ref9 = gatherRecursive(parameter, ($10) => $10.type === "AtBinding"), i2 = 0, len1 = ref9.length; i2 < len1; i2++) {
|
|
2892
2952
|
const binding = ref9[i2];
|
|
2893
2953
|
const typeSuffix = binding.parent?.typeSuffix;
|
|
2894
2954
|
if (!typeSuffix) {
|
|
@@ -2900,7 +2960,6 @@ ${js}`
|
|
|
2900
2960
|
}
|
|
2901
2961
|
classExpressions.splice(index++, 0, [fStatement[0], {
|
|
2902
2962
|
type: "FieldDefinition",
|
|
2903
|
-
ts: true,
|
|
2904
2963
|
id,
|
|
2905
2964
|
typeSuffix,
|
|
2906
2965
|
children: [id, typeSuffix]
|
|
@@ -2949,8 +3008,8 @@ ${js}`
|
|
|
2949
3008
|
}
|
|
2950
3009
|
if (hasYield(block) && !f.generator?.length) {
|
|
2951
3010
|
if (f.type === "ArrowFunction") {
|
|
2952
|
-
gatherRecursiveWithinFunction(block, ($
|
|
2953
|
-
const i = y.children.findIndex(($
|
|
3011
|
+
gatherRecursiveWithinFunction(block, ($11) => $11.type === "YieldExpression").forEach((y) => {
|
|
3012
|
+
const i = y.children.findIndex(($12) => $12.type === "Yield");
|
|
2954
3013
|
return y.children.splice(i + 1, 0, {
|
|
2955
3014
|
type: "Error",
|
|
2956
3015
|
message: "Can't use yield inside of => arrow function"
|
|
@@ -2978,12 +3037,12 @@ ${js}`
|
|
|
2978
3037
|
});
|
|
2979
3038
|
}
|
|
2980
3039
|
function expressionizeIteration(exp) {
|
|
2981
|
-
|
|
3040
|
+
let { async, generator, block, children, statement } = exp;
|
|
2982
3041
|
const i = children.indexOf(statement);
|
|
2983
3042
|
if (i < 0) {
|
|
2984
3043
|
throw new Error("Could not find iteration statement in iteration expression");
|
|
2985
3044
|
}
|
|
2986
|
-
if (
|
|
3045
|
+
if (statement.type === "DoStatement" || statement.type === "ComptimeStatement") {
|
|
2987
3046
|
children.splice(i, 1, wrapIIFE([["", statement, void 0]], async, generator));
|
|
2988
3047
|
updateParentPointers(exp);
|
|
2989
3048
|
return;
|
|
@@ -2996,7 +3055,6 @@ ${js}`
|
|
|
2996
3055
|
children: ["yield ", node]
|
|
2997
3056
|
};
|
|
2998
3057
|
});
|
|
2999
|
-
braceBlock(block);
|
|
3000
3058
|
children.splice(
|
|
3001
3059
|
i,
|
|
3002
3060
|
1,
|
|
@@ -3011,17 +3069,19 @@ ${js}`
|
|
|
3011
3069
|
], async, generator)
|
|
3012
3070
|
);
|
|
3013
3071
|
} else {
|
|
3014
|
-
|
|
3015
|
-
const {
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3072
|
+
const resultsRef = statement.resultsRef ??= makeRef("results");
|
|
3073
|
+
const { declaration, breakWithOnly } = iterationDeclaration(statement);
|
|
3074
|
+
if (!breakWithOnly) {
|
|
3075
|
+
assignResults(block, (node) => {
|
|
3076
|
+
return [resultsRef, ".push(", node, ")"];
|
|
3077
|
+
});
|
|
3078
|
+
braceBlock(block);
|
|
3079
|
+
}
|
|
3020
3080
|
children.splice(
|
|
3021
3081
|
i,
|
|
3022
3082
|
1,
|
|
3023
3083
|
wrapIIFE([
|
|
3024
|
-
["",
|
|
3084
|
+
["", declaration, ";"],
|
|
3025
3085
|
["", statement, void 0],
|
|
3026
3086
|
["", wrapWithReturn(resultsRef)]
|
|
3027
3087
|
], async)
|
|
@@ -3077,7 +3137,7 @@ ${js}`
|
|
|
3077
3137
|
expression = {
|
|
3078
3138
|
...expression,
|
|
3079
3139
|
parameters: newParameters,
|
|
3080
|
-
children: expression.children.map(($
|
|
3140
|
+
children: expression.children.map(($13) => $13 === parameters ? newParameters : $13)
|
|
3081
3141
|
};
|
|
3082
3142
|
}
|
|
3083
3143
|
return {
|
|
@@ -3099,7 +3159,7 @@ ${js}`
|
|
|
3099
3159
|
ref = makeRef("$");
|
|
3100
3160
|
inplacePrepend(ref, body);
|
|
3101
3161
|
}
|
|
3102
|
-
if (startsWithPredicate(body, ($
|
|
3162
|
+
if (startsWithPredicate(body, ($14) => $14.type === "ObjectExpression")) {
|
|
3103
3163
|
body = makeLeftHandSideExpression(body);
|
|
3104
3164
|
}
|
|
3105
3165
|
const parameters = makeNode({
|
|
@@ -4204,8 +4264,7 @@ ${js}`
|
|
|
4204
4264
|
};
|
|
4205
4265
|
pre.unshift(refDec);
|
|
4206
4266
|
} else {
|
|
4207
|
-
wrapIterationReturningResults(statement2,
|
|
4208
|
-
});
|
|
4267
|
+
wrapIterationReturningResults(statement2, () => void 0);
|
|
4209
4268
|
ref = initializer.expression = initializer.children[2] = statement2.resultsRef;
|
|
4210
4269
|
}
|
|
4211
4270
|
} else {
|
|
@@ -4961,22 +5020,168 @@ ${js}`
|
|
|
4961
5020
|
}
|
|
4962
5021
|
|
|
4963
5022
|
// source/parser/for.civet
|
|
5023
|
+
function processRangeExpression(start, ws1, range, end) {
|
|
5024
|
+
ws1 = [ws1, range.children[0]];
|
|
5025
|
+
const ws2 = range.children[1];
|
|
5026
|
+
const comma = { $loc: range.$loc, token: "," };
|
|
5027
|
+
let ref;
|
|
5028
|
+
switch (range.increasing) {
|
|
5029
|
+
case true: {
|
|
5030
|
+
ref = ($) => $;
|
|
5031
|
+
break;
|
|
5032
|
+
}
|
|
5033
|
+
case false: {
|
|
5034
|
+
ref = ($1) => -$1;
|
|
5035
|
+
break;
|
|
5036
|
+
}
|
|
5037
|
+
default: {
|
|
5038
|
+
ref = Math.abs;
|
|
5039
|
+
}
|
|
5040
|
+
}
|
|
5041
|
+
;
|
|
5042
|
+
const abs = ref;
|
|
5043
|
+
const lengthAdjust = 1 - Number(!range.left.inclusive) - Number(!range.right.inclusive);
|
|
5044
|
+
let ref1;
|
|
5045
|
+
if (lengthAdjust > 0)
|
|
5046
|
+
ref1 = ` + ${lengthAdjust}`;
|
|
5047
|
+
else if (lengthAdjust < 0)
|
|
5048
|
+
ref1 = ` - ${-lengthAdjust}`;
|
|
5049
|
+
else {
|
|
5050
|
+
ref1 = void 0;
|
|
5051
|
+
}
|
|
5052
|
+
;
|
|
5053
|
+
const lengthAdjustExpression = ref1;
|
|
5054
|
+
let children;
|
|
5055
|
+
if (typeof start === "object" && start != null && "type" in start && start.type === "Literal" && (typeof end === "object" && end != null && "type" in end && end.type === "Literal")) {
|
|
5056
|
+
let startValue = literalValue(start);
|
|
5057
|
+
let endValue = literalValue(end);
|
|
5058
|
+
if (typeof startValue === "string" && typeof endValue === "string") {
|
|
5059
|
+
if (!(startValue.length === 1 && 1 === endValue.length)) {
|
|
5060
|
+
throw new Error("String range start and end must be a single character");
|
|
5061
|
+
}
|
|
5062
|
+
let startCode = startValue.charCodeAt(0);
|
|
5063
|
+
let endCode = endValue.charCodeAt(0);
|
|
5064
|
+
const step = startCode <= endCode ? 1 : -1;
|
|
5065
|
+
const length = abs(endCode - startCode) + lengthAdjust;
|
|
5066
|
+
if (!range.left.inclusive) {
|
|
5067
|
+
startCode += step;
|
|
5068
|
+
}
|
|
5069
|
+
if (length <= 26) {
|
|
5070
|
+
children = [
|
|
5071
|
+
"[",
|
|
5072
|
+
Array.from({ length }, (_2, i) => {
|
|
5073
|
+
return JSON.stringify(String.fromCharCode(startCode + i * step));
|
|
5074
|
+
}).join(", "),
|
|
5075
|
+
"]"
|
|
5076
|
+
];
|
|
5077
|
+
} else {
|
|
5078
|
+
children = [
|
|
5079
|
+
`Array.from({length: ${length.toString()}}, `,
|
|
5080
|
+
"(_, i) => String.fromCharCode(",
|
|
5081
|
+
startCode.toString(),
|
|
5082
|
+
step > 0 ? " + " : " - ",
|
|
5083
|
+
"i))"
|
|
5084
|
+
];
|
|
5085
|
+
}
|
|
5086
|
+
if (range.error != null) {
|
|
5087
|
+
children.unshift(range.error);
|
|
5088
|
+
}
|
|
5089
|
+
} else if (typeof startValue === "number" && typeof endValue === "number") {
|
|
5090
|
+
const step = startValue <= endValue ? 1 : -1;
|
|
5091
|
+
const length = abs(endValue - startValue) + lengthAdjust;
|
|
5092
|
+
if (!range.left.inclusive) {
|
|
5093
|
+
startValue += step;
|
|
5094
|
+
}
|
|
5095
|
+
if (length <= 20) {
|
|
5096
|
+
children = [
|
|
5097
|
+
"[",
|
|
5098
|
+
Array.from({ length }, (_2, i) => startValue + i * step).join(", "),
|
|
5099
|
+
"]"
|
|
5100
|
+
];
|
|
5101
|
+
if (range.error != null) {
|
|
5102
|
+
children.unshift(range.error);
|
|
5103
|
+
}
|
|
5104
|
+
}
|
|
5105
|
+
}
|
|
5106
|
+
}
|
|
5107
|
+
if (!(children != null)) {
|
|
5108
|
+
if (range.increasing != null) {
|
|
5109
|
+
const sign = range.increasing ? "+" : "-";
|
|
5110
|
+
end = makeLeftHandSideExpression(end);
|
|
5111
|
+
children = [
|
|
5112
|
+
"((s) => Array.from({length: ",
|
|
5113
|
+
range.increasing ? [ws2, end, " - s"] : ["s - ", ws2, end],
|
|
5114
|
+
lengthAdjustExpression,
|
|
5115
|
+
"}, (_, i) => s ",
|
|
5116
|
+
sign,
|
|
5117
|
+
" i))",
|
|
5118
|
+
"(",
|
|
5119
|
+
range.left.inclusive ? start : [makeLeftHandSideExpression(start), ` ${sign} 1`],
|
|
5120
|
+
...ws1,
|
|
5121
|
+
")"
|
|
5122
|
+
];
|
|
5123
|
+
} else {
|
|
5124
|
+
children = [
|
|
5125
|
+
"((s, e) => {let step = e > s ? 1 : -1; return Array.from({length: Math.abs(e - s)",
|
|
5126
|
+
lengthAdjustExpression,
|
|
5127
|
+
"}, (_, i) => s + i * step)})",
|
|
5128
|
+
"(",
|
|
5129
|
+
start,
|
|
5130
|
+
...ws1,
|
|
5131
|
+
comma,
|
|
5132
|
+
ws2,
|
|
5133
|
+
end,
|
|
5134
|
+
")"
|
|
5135
|
+
];
|
|
5136
|
+
}
|
|
5137
|
+
}
|
|
5138
|
+
return {
|
|
5139
|
+
type: "RangeExpression",
|
|
5140
|
+
children,
|
|
5141
|
+
start,
|
|
5142
|
+
end,
|
|
5143
|
+
error: range.error,
|
|
5144
|
+
left: range.left,
|
|
5145
|
+
right: range.right,
|
|
5146
|
+
increasing: range.increasing
|
|
5147
|
+
};
|
|
5148
|
+
}
|
|
4964
5149
|
function forRange(open, forDeclaration, range, stepExp, close) {
|
|
4965
|
-
const { start, end,
|
|
5150
|
+
const { start, end, left, right, increasing } = range;
|
|
4966
5151
|
const counterRef = makeRef("i");
|
|
4967
|
-
const infinite = end.type === "Identifier" && end.name === "Infinity";
|
|
4968
|
-
let stepRef;
|
|
5152
|
+
const infinite = typeof end === "object" && end != null && "type" in end && end.type === "Identifier" && "name" in end && end.name === "Infinity";
|
|
5153
|
+
let stepRef, asc;
|
|
4969
5154
|
if (stepExp) {
|
|
4970
5155
|
stepExp = insertTrimmingSpace(stepExp, "");
|
|
4971
5156
|
stepRef = maybeRef(stepExp, "step");
|
|
4972
5157
|
} else if (infinite) {
|
|
4973
5158
|
stepExp = stepRef = "1";
|
|
5159
|
+
} else if (increasing != null) {
|
|
5160
|
+
if (increasing) {
|
|
5161
|
+
stepExp = stepRef = "1";
|
|
5162
|
+
asc = true;
|
|
5163
|
+
} else {
|
|
5164
|
+
stepExp = stepRef = "-1";
|
|
5165
|
+
asc = false;
|
|
5166
|
+
}
|
|
4974
5167
|
}
|
|
4975
|
-
let
|
|
5168
|
+
let ref2;
|
|
5169
|
+
if (stepRef)
|
|
5170
|
+
ref2 = start;
|
|
5171
|
+
else
|
|
5172
|
+
ref2 = maybeRef(start, "start");
|
|
5173
|
+
let startRef = ref2;
|
|
4976
5174
|
let endRef = maybeRef(end, "end");
|
|
4977
5175
|
const startRefDec = startRef !== start ? [startRef, " = ", start, ", "] : [];
|
|
4978
5176
|
const endRefDec = endRef !== end ? [endRef, " = ", end, ", "] : [];
|
|
4979
|
-
|
|
5177
|
+
if (!left.inclusive) {
|
|
5178
|
+
startRef = [
|
|
5179
|
+
makeLeftHandSideExpression(start),
|
|
5180
|
+
" + ",
|
|
5181
|
+
stepRef
|
|
5182
|
+
];
|
|
5183
|
+
}
|
|
5184
|
+
let ascDec = [], ascRef;
|
|
4980
5185
|
if (stepRef) {
|
|
4981
5186
|
if (!(stepRef === stepExp)) {
|
|
4982
5187
|
ascDec = [", ", stepRef, " = ", stepExp];
|
|
@@ -5011,12 +5216,12 @@ ${js}`
|
|
|
5011
5216
|
children: ["let ", ...startRefDec, ...endRefDec, counterRef, " = ", ...varLetAssign, startRef, ...varLet, ...ascDec],
|
|
5012
5217
|
names: forDeclaration?.names
|
|
5013
5218
|
};
|
|
5014
|
-
const counterPart = inclusive ? [counterRef, " <= ", endRef, " : ", counterRef, " >= ", endRef] : [counterRef, " < ", endRef, " : ", counterRef, " > ", endRef];
|
|
5015
|
-
const condition = infinite ? [] : stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] :
|
|
5016
|
-
const increment =
|
|
5219
|
+
const counterPart = right.inclusive ? [counterRef, " <= ", endRef, " : ", counterRef, " >= ", endRef] : [counterRef, " < ", endRef, " : ", counterRef, " > ", endRef];
|
|
5220
|
+
const condition = infinite ? [] : asc != null ? asc ? counterPart.slice(0, 3) : counterPart.slice(4) : stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : [ascRef, " ? ", ...counterPart];
|
|
5221
|
+
const increment = stepRef === "1" ? [...varAssign, "++", counterRef] : stepRef === "-1" ? [...varAssign, "--", counterRef] : stepRef ? [...varAssign, counterRef, " += ", stepRef] : ascRef ? [...varAssign, ascRef, " ? ++", counterRef, " : --", counterRef] : [...varAssign, asc ? "++" : "--", counterRef];
|
|
5017
5222
|
return {
|
|
5018
5223
|
declaration,
|
|
5019
|
-
children: [open, declaration, "; ", ...condition, "; ", ...increment, close],
|
|
5224
|
+
children: [range.error, open, declaration, "; ", ...condition, "; ", ...increment, close],
|
|
5020
5225
|
blockPrefix
|
|
5021
5226
|
};
|
|
5022
5227
|
}
|
|
@@ -5658,7 +5863,131 @@ ${js}`
|
|
|
5658
5863
|
return [value, value.thisShorthand];
|
|
5659
5864
|
}
|
|
5660
5865
|
function processTryBlock($0) {
|
|
5661
|
-
let [t, , b,
|
|
5866
|
+
let [t, , b, cs, e, f] = $0;
|
|
5867
|
+
let c;
|
|
5868
|
+
let m;
|
|
5869
|
+
if (cs.some(($) => (m = $.binding?.parameter, typeof m === "object" && m != null && "type" in m && m.type === "CatchPattern"))) {
|
|
5870
|
+
const ref = makeRef("e");
|
|
5871
|
+
const binding = {
|
|
5872
|
+
type: "CatchBinding",
|
|
5873
|
+
children: ["(", ref, ")"],
|
|
5874
|
+
parameter: ref
|
|
5875
|
+
};
|
|
5876
|
+
const condition = {
|
|
5877
|
+
type: "ParenthesizedExpression",
|
|
5878
|
+
children: ["(", ref, ")"],
|
|
5879
|
+
expression: ref
|
|
5880
|
+
};
|
|
5881
|
+
let defaultClause = false;
|
|
5882
|
+
const clauses = cs.map((clause) => {
|
|
5883
|
+
let ref1;
|
|
5884
|
+
if ((ref1 = clause.binding?.parameter) && typeof ref1 === "object" && "type" in ref1 && ref1.type === "CatchPattern" && "patterns" in ref1) {
|
|
5885
|
+
const { type, patterns } = ref1;
|
|
5886
|
+
return {
|
|
5887
|
+
type: "PatternClause",
|
|
5888
|
+
patterns,
|
|
5889
|
+
block: clause.block,
|
|
5890
|
+
children: [patterns, clause.block]
|
|
5891
|
+
};
|
|
5892
|
+
} else {
|
|
5893
|
+
defaultClause = true;
|
|
5894
|
+
const parameter = clause.binding?.parameter;
|
|
5895
|
+
if (parameter != null) {
|
|
5896
|
+
assert.equal(
|
|
5897
|
+
parameter.type,
|
|
5898
|
+
"CatchParameter",
|
|
5899
|
+
`Invalid catch parameter ${parameter.type}`
|
|
5900
|
+
);
|
|
5901
|
+
const { binding: pattern, typeSuffix } = parameter;
|
|
5902
|
+
const initializer = {
|
|
5903
|
+
type: "Initializer",
|
|
5904
|
+
expression: ref,
|
|
5905
|
+
children: ["", " = ", ref]
|
|
5906
|
+
};
|
|
5907
|
+
const bindings = [{
|
|
5908
|
+
type: "Binding",
|
|
5909
|
+
names: pattern.names,
|
|
5910
|
+
pattern,
|
|
5911
|
+
typeSuffix,
|
|
5912
|
+
initializer,
|
|
5913
|
+
children: [pattern, typeSuffix, initializer],
|
|
5914
|
+
splices: [],
|
|
5915
|
+
thisAssignments: []
|
|
5916
|
+
}];
|
|
5917
|
+
clause.block.expressions.unshift(["", {
|
|
5918
|
+
type: "Declaration",
|
|
5919
|
+
children: ["let", " ", bindings],
|
|
5920
|
+
bindings,
|
|
5921
|
+
names: bindings[0].names,
|
|
5922
|
+
decl: "let"
|
|
5923
|
+
}, ";"]);
|
|
5924
|
+
}
|
|
5925
|
+
return {
|
|
5926
|
+
type: "DefaultClause",
|
|
5927
|
+
block: clause.block,
|
|
5928
|
+
children: ["default: ", clause.block]
|
|
5929
|
+
};
|
|
5930
|
+
}
|
|
5931
|
+
});
|
|
5932
|
+
if (!defaultClause) {
|
|
5933
|
+
const expressions = [[
|
|
5934
|
+
"",
|
|
5935
|
+
{
|
|
5936
|
+
type: "ThrowStatement",
|
|
5937
|
+
children: ["throw", " ", ref]
|
|
5938
|
+
}
|
|
5939
|
+
]];
|
|
5940
|
+
const block2 = {
|
|
5941
|
+
type: "BlockStatement",
|
|
5942
|
+
expressions,
|
|
5943
|
+
children: [" {", expressions, "}"],
|
|
5944
|
+
bare: false
|
|
5945
|
+
};
|
|
5946
|
+
clauses.push({
|
|
5947
|
+
type: "DefaultClause",
|
|
5948
|
+
block: block2,
|
|
5949
|
+
children: ["default: ", block2]
|
|
5950
|
+
});
|
|
5951
|
+
}
|
|
5952
|
+
const caseBlock = {
|
|
5953
|
+
type: "CaseBlock",
|
|
5954
|
+
clauses,
|
|
5955
|
+
children: [" {", clauses, "}"]
|
|
5956
|
+
};
|
|
5957
|
+
const patternSwitch = {
|
|
5958
|
+
type: "SwitchStatement",
|
|
5959
|
+
condition,
|
|
5960
|
+
caseBlock,
|
|
5961
|
+
children: ["switch", condition, caseBlock]
|
|
5962
|
+
};
|
|
5963
|
+
const block = {
|
|
5964
|
+
type: "BlockStatement",
|
|
5965
|
+
bare: false,
|
|
5966
|
+
expressions: [["", patternSwitch]],
|
|
5967
|
+
children: [" {", patternSwitch, "}"]
|
|
5968
|
+
};
|
|
5969
|
+
c = makeNode({
|
|
5970
|
+
type: "CatchClause",
|
|
5971
|
+
children: [
|
|
5972
|
+
cs[0].children[0],
|
|
5973
|
+
// whitespace
|
|
5974
|
+
cs[0].children[1],
|
|
5975
|
+
// catch token
|
|
5976
|
+
binding,
|
|
5977
|
+
block
|
|
5978
|
+
],
|
|
5979
|
+
binding,
|
|
5980
|
+
block
|
|
5981
|
+
});
|
|
5982
|
+
} else {
|
|
5983
|
+
c = cs[0];
|
|
5984
|
+
if (cs.length > 1) {
|
|
5985
|
+
c = append(c, {
|
|
5986
|
+
type: "Error",
|
|
5987
|
+
message: "Only one catch clause allowed unless using pattern matching"
|
|
5988
|
+
});
|
|
5989
|
+
}
|
|
5990
|
+
}
|
|
5662
5991
|
if (!c && (e || !f)) {
|
|
5663
5992
|
const emptyCatchBlock = makeEmptyBlock();
|
|
5664
5993
|
c = {
|
|
@@ -5757,8 +6086,9 @@ ${js}`
|
|
|
5757
6086
|
}
|
|
5758
6087
|
}
|
|
5759
6088
|
}
|
|
5760
|
-
for (let
|
|
5761
|
-
const
|
|
6089
|
+
for (let i3 = 0, len22 = children.length; i3 < len22; i3++) {
|
|
6090
|
+
const i = i3;
|
|
6091
|
+
const glob = children[i3];
|
|
5762
6092
|
if (glob?.type === "PropertyGlob") {
|
|
5763
6093
|
let prefix = children.slice(0, i);
|
|
5764
6094
|
const parts = [];
|
|
@@ -5829,14 +6159,14 @@ ${js}`
|
|
|
5829
6159
|
});
|
|
5830
6160
|
}
|
|
5831
6161
|
}
|
|
5832
|
-
let
|
|
6162
|
+
let ref2;
|
|
5833
6163
|
let object = {
|
|
5834
6164
|
type: "ObjectExpression",
|
|
5835
6165
|
children: [
|
|
5836
6166
|
glob.object.children[0],
|
|
5837
6167
|
// {
|
|
5838
6168
|
...parts,
|
|
5839
|
-
(
|
|
6169
|
+
(ref2 = glob.object.children)[ref2.length - 1]
|
|
5840
6170
|
// whitespace and }
|
|
5841
6171
|
],
|
|
5842
6172
|
properties: parts,
|
|
@@ -5878,6 +6208,33 @@ ${js}`
|
|
|
5878
6208
|
...children.slice(i + 1)
|
|
5879
6209
|
]
|
|
5880
6210
|
});
|
|
6211
|
+
} else if (typeof glob === "object" && glob != null && "type" in glob && glob.type === "SliceExpression" && "reversed" in glob && glob.reversed === true) {
|
|
6212
|
+
const args = [
|
|
6213
|
+
{ ...node, children: node.children.slice(0, i) },
|
|
6214
|
+
{ ...glob.children[0], token: ", " },
|
|
6215
|
+
...glob.children.slice(1, -1)
|
|
6216
|
+
];
|
|
6217
|
+
let ref3;
|
|
6218
|
+
return makeNode({
|
|
6219
|
+
...node,
|
|
6220
|
+
children: [
|
|
6221
|
+
{
|
|
6222
|
+
type: "CallExpression",
|
|
6223
|
+
children: [
|
|
6224
|
+
getHelperRef("rslice"),
|
|
6225
|
+
makeNode({
|
|
6226
|
+
type: "Call",
|
|
6227
|
+
args,
|
|
6228
|
+
children: [
|
|
6229
|
+
"(",
|
|
6230
|
+
args,
|
|
6231
|
+
(ref3 = glob.children)[ref3.length - 1]
|
|
6232
|
+
]
|
|
6233
|
+
})
|
|
6234
|
+
]
|
|
6235
|
+
}
|
|
6236
|
+
]
|
|
6237
|
+
});
|
|
5881
6238
|
}
|
|
5882
6239
|
}
|
|
5883
6240
|
return node;
|
|
@@ -5888,9 +6245,9 @@ ${js}`
|
|
|
5888
6245
|
throw new Error("replaceNode failed: node has no parent");
|
|
5889
6246
|
}
|
|
5890
6247
|
function recurse(children) {
|
|
5891
|
-
for (let
|
|
5892
|
-
const i =
|
|
5893
|
-
const child = children[
|
|
6248
|
+
for (let i4 = 0, len3 = children.length; i4 < len3; i4++) {
|
|
6249
|
+
const i = i4;
|
|
6250
|
+
const child = children[i4];
|
|
5894
6251
|
if (child === node) {
|
|
5895
6252
|
children[i] = newNode;
|
|
5896
6253
|
return true;
|
|
@@ -5982,8 +6339,8 @@ ${js}`
|
|
|
5982
6339
|
return { type: "Error", message: "cannot use `type` in dynamic import" };
|
|
5983
6340
|
} else {
|
|
5984
6341
|
const { source, binding } = specifier;
|
|
5985
|
-
let
|
|
5986
|
-
const delim = (
|
|
6342
|
+
let ref4;
|
|
6343
|
+
const delim = (ref4 = specifier.children)[ref4.length - 1];
|
|
5987
6344
|
return {
|
|
5988
6345
|
type: pattern ? "BindingProperty" : "Property",
|
|
5989
6346
|
name: source,
|
|
@@ -5993,7 +6350,7 @@ ${js}`
|
|
|
5993
6350
|
};
|
|
5994
6351
|
}
|
|
5995
6352
|
});
|
|
5996
|
-
let
|
|
6353
|
+
let ref5;
|
|
5997
6354
|
return {
|
|
5998
6355
|
type: pattern ? "ObjectBindingPattern" : "ObjectExpression",
|
|
5999
6356
|
names: node.names,
|
|
@@ -6002,7 +6359,7 @@ ${js}`
|
|
|
6002
6359
|
node.children[0],
|
|
6003
6360
|
// {
|
|
6004
6361
|
properties,
|
|
6005
|
-
(
|
|
6362
|
+
(ref5 = node.children)[ref5.length - 1]
|
|
6006
6363
|
// }
|
|
6007
6364
|
]
|
|
6008
6365
|
};
|
|
@@ -6108,8 +6465,8 @@ ${js}`
|
|
|
6108
6465
|
while (expr.type === "ParenthesizedExpression") {
|
|
6109
6466
|
expr = expr.expression;
|
|
6110
6467
|
}
|
|
6111
|
-
let
|
|
6112
|
-
if (
|
|
6468
|
+
let m1;
|
|
6469
|
+
if (m1 = expr.type, m1 === "AssignmentExpression" || m1 === "UpdateExpression") {
|
|
6113
6470
|
if (expr.type === "UpdateExpression" && expr.children[0] === expr.assigned) {
|
|
6114
6471
|
pre.push("(");
|
|
6115
6472
|
post.push([", ", lhs, ")"]);
|
|
@@ -6123,15 +6480,15 @@ ${js}`
|
|
|
6123
6480
|
return;
|
|
6124
6481
|
}
|
|
6125
6482
|
const pre = [], post = [];
|
|
6126
|
-
let
|
|
6483
|
+
let ref6;
|
|
6127
6484
|
switch (exp.type) {
|
|
6128
6485
|
case "AssignmentExpression": {
|
|
6129
6486
|
if (!exp.lhs)
|
|
6130
6487
|
return;
|
|
6131
6488
|
exp.lhs.forEach((lhsPart, i) => {
|
|
6132
|
-
let
|
|
6133
|
-
if (
|
|
6134
|
-
const newLhs =
|
|
6489
|
+
let ref7;
|
|
6490
|
+
if (ref7 = extractAssignment(lhsPart[1])) {
|
|
6491
|
+
const newLhs = ref7;
|
|
6135
6492
|
return lhsPart[1] = newLhs;
|
|
6136
6493
|
}
|
|
6137
6494
|
;
|
|
@@ -6140,8 +6497,8 @@ ${js}`
|
|
|
6140
6497
|
break;
|
|
6141
6498
|
}
|
|
6142
6499
|
case "UpdateExpression": {
|
|
6143
|
-
if (
|
|
6144
|
-
const newLhs =
|
|
6500
|
+
if (ref6 = extractAssignment(exp.assigned)) {
|
|
6501
|
+
const newLhs = ref6;
|
|
6145
6502
|
const i = exp.children.indexOf(exp.assigned);
|
|
6146
6503
|
exp.assigned = exp.children[i] = newLhs;
|
|
6147
6504
|
}
|
|
@@ -6157,7 +6514,7 @@ ${js}`
|
|
|
6157
6514
|
const { assigned } = exp;
|
|
6158
6515
|
const ref = makeRef();
|
|
6159
6516
|
const newMemberExp = unchainOptionalMemberExpression(assigned, ref, (children) => {
|
|
6160
|
-
return exp.children.map(($) => $ === assigned ? children : $);
|
|
6517
|
+
return exp.children.map(($3) => $3 === assigned ? children : $3);
|
|
6161
6518
|
});
|
|
6162
6519
|
if (newMemberExp !== assigned) {
|
|
6163
6520
|
if (newMemberExp.usesRef) {
|
|
@@ -6181,23 +6538,23 @@ ${js}`
|
|
|
6181
6538
|
(exp) => {
|
|
6182
6539
|
let { lhs: $1, expression: $2 } = exp, tail = [], len3 = $1.length;
|
|
6183
6540
|
let block;
|
|
6184
|
-
let
|
|
6185
|
-
if (exp.parent?.type === "BlockStatement" && !(
|
|
6541
|
+
let ref8;
|
|
6542
|
+
if (exp.parent?.type === "BlockStatement" && !(ref8 = $1[$1.length - 1])?.[ref8.length - 1]?.special) {
|
|
6186
6543
|
block = makeBlockFragment();
|
|
6187
|
-
let
|
|
6188
|
-
if (
|
|
6544
|
+
let ref9;
|
|
6545
|
+
if (ref9 = prependStatementExpressionBlock(
|
|
6189
6546
|
{ type: "Initializer", expression: $2, children: [void 0, void 0, $2] },
|
|
6190
6547
|
block
|
|
6191
6548
|
)) {
|
|
6192
|
-
const ref =
|
|
6193
|
-
exp.children = exp.children.map(($
|
|
6549
|
+
const ref = ref9;
|
|
6550
|
+
exp.children = exp.children.map(($4) => $4 === $2 ? ref : $4);
|
|
6194
6551
|
$2 = ref;
|
|
6195
6552
|
} else {
|
|
6196
6553
|
block = void 0;
|
|
6197
6554
|
}
|
|
6198
6555
|
}
|
|
6199
|
-
let
|
|
6200
|
-
if ($1.some(($
|
|
6556
|
+
let ref10;
|
|
6557
|
+
if ($1.some(($5) => (ref10 = $5)[ref10.length - 1].special)) {
|
|
6201
6558
|
if ($1.length !== 1)
|
|
6202
6559
|
throw new Error("Only one assignment with id= is allowed");
|
|
6203
6560
|
const [, lhs, , op] = $1[0];
|
|
@@ -6222,8 +6579,8 @@ ${js}`
|
|
|
6222
6579
|
if (!(op.token === "=")) {
|
|
6223
6580
|
continue;
|
|
6224
6581
|
}
|
|
6225
|
-
let
|
|
6226
|
-
if (
|
|
6582
|
+
let m2;
|
|
6583
|
+
if (m2 = lhs.type, m2 === "ObjectExpression" || m2 === "ObjectBindingPattern") {
|
|
6227
6584
|
if (!wrapped) {
|
|
6228
6585
|
wrapped = true;
|
|
6229
6586
|
lhs.children.splice(0, 0, "(");
|
|
@@ -6237,10 +6594,17 @@ ${js}`
|
|
|
6237
6594
|
const lastAssignment = $1[i];
|
|
6238
6595
|
if (lastAssignment[3].token === "=") {
|
|
6239
6596
|
const lhs = lastAssignment[1];
|
|
6240
|
-
let
|
|
6597
|
+
let m3;
|
|
6241
6598
|
if (lhs.type === "MemberExpression") {
|
|
6242
6599
|
const members = lhs.children;
|
|
6243
6600
|
const lastMember = members[members.length - 1];
|
|
6601
|
+
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")) {
|
|
6602
|
+
lastMember.children.push({
|
|
6603
|
+
type: "Error",
|
|
6604
|
+
message: "Slice range cannot be decreasing in assignment"
|
|
6605
|
+
});
|
|
6606
|
+
break;
|
|
6607
|
+
}
|
|
6244
6608
|
if (lastMember.type === "SliceExpression") {
|
|
6245
6609
|
const { start, end, children: c } = lastMember;
|
|
6246
6610
|
c[0].token = ".splice(";
|
|
@@ -6263,9 +6627,9 @@ ${js}`
|
|
|
6263
6627
|
exp.names = [];
|
|
6264
6628
|
break;
|
|
6265
6629
|
}
|
|
6266
|
-
} else if (
|
|
6630
|
+
} else if (m3 = lhs.type, m3 === "ObjectBindingPattern" || m3 === "ArrayBindingPattern") {
|
|
6267
6631
|
processBindingPatternLHS(lhs, tail);
|
|
6268
|
-
gatherRecursiveAll(lhs, ($
|
|
6632
|
+
gatherRecursiveAll(lhs, ($6) => $6.type === "Ref").forEach(refsToDeclare.add.bind(refsToDeclare));
|
|
6269
6633
|
}
|
|
6270
6634
|
}
|
|
6271
6635
|
i--;
|
|
@@ -6298,7 +6662,7 @@ ${js}`
|
|
|
6298
6662
|
}
|
|
6299
6663
|
if (refsToDeclare.size) {
|
|
6300
6664
|
if (exp.hoistDec) {
|
|
6301
|
-
exp.hoistDec.children.push([...refsToDeclare].map(($
|
|
6665
|
+
exp.hoistDec.children.push([...refsToDeclare].map(($7) => [",", $7]));
|
|
6302
6666
|
} else {
|
|
6303
6667
|
exp.hoistDec = {
|
|
6304
6668
|
type: "Declaration",
|
|
@@ -6372,9 +6736,9 @@ ${js}`
|
|
|
6372
6736
|
}
|
|
6373
6737
|
j++;
|
|
6374
6738
|
}
|
|
6375
|
-
let
|
|
6376
|
-
if (
|
|
6377
|
-
const l =
|
|
6739
|
+
let ref11;
|
|
6740
|
+
if (ref11 = conditions.length) {
|
|
6741
|
+
const l = ref11;
|
|
6378
6742
|
const cs = flatJoin(conditions, " && ");
|
|
6379
6743
|
return {
|
|
6380
6744
|
...exp,
|
|
@@ -6413,27 +6777,27 @@ ${js}`
|
|
|
6413
6777
|
if (!unary.suffix.length) {
|
|
6414
6778
|
return;
|
|
6415
6779
|
}
|
|
6416
|
-
let
|
|
6417
|
-
let
|
|
6418
|
-
if (
|
|
6419
|
-
const { token } =
|
|
6780
|
+
let ref12;
|
|
6781
|
+
let m4;
|
|
6782
|
+
if (m4 = (ref12 = unary.suffix)[ref12.length - 1], typeof m4 === "object" && m4 != null && "token" in m4 && m4.token === "?") {
|
|
6783
|
+
const { token } = m4;
|
|
6420
6784
|
let last;
|
|
6421
6785
|
let count = 0;
|
|
6422
|
-
let
|
|
6423
|
-
while (unary.suffix.length && (
|
|
6786
|
+
let ref13;
|
|
6787
|
+
while (unary.suffix.length && (ref13 = unary.suffix)[ref13.length - 1]?.token === "?") {
|
|
6424
6788
|
last = unary.suffix.pop();
|
|
6425
6789
|
count++;
|
|
6426
6790
|
}
|
|
6427
|
-
let
|
|
6428
|
-
while (unary.suffix.length && (
|
|
6791
|
+
let ref14;
|
|
6792
|
+
while (unary.suffix.length && (ref14 = unary.suffix)[ref14.length - 1]?.type === "NonNullAssertion") {
|
|
6429
6793
|
unary.suffix.pop();
|
|
6430
6794
|
}
|
|
6431
|
-
let
|
|
6795
|
+
let ref15;
|
|
6432
6796
|
if (unary.suffix.length || unary.prefix.length)
|
|
6433
|
-
|
|
6797
|
+
ref15 = unary;
|
|
6434
6798
|
else
|
|
6435
|
-
|
|
6436
|
-
const t =
|
|
6799
|
+
ref15 = unary.t;
|
|
6800
|
+
const t = ref15;
|
|
6437
6801
|
if (unary.parent?.type === "TypeTuple") {
|
|
6438
6802
|
if (count === 1) {
|
|
6439
6803
|
unary.suffix.push(last);
|
|
@@ -6459,14 +6823,14 @@ ${js}`
|
|
|
6459
6823
|
]
|
|
6460
6824
|
});
|
|
6461
6825
|
}
|
|
6462
|
-
} else if (typeof
|
|
6463
|
-
const { type } =
|
|
6464
|
-
let
|
|
6465
|
-
while (unary.suffix.length && (
|
|
6826
|
+
} else if (typeof m4 === "object" && m4 != null && "type" in m4 && m4.type === "NonNullAssertion") {
|
|
6827
|
+
const { type } = m4;
|
|
6828
|
+
let ref16;
|
|
6829
|
+
while (unary.suffix.length && (ref16 = unary.suffix)[ref16.length - 1]?.type === "NonNullAssertion") {
|
|
6466
6830
|
unary.suffix.pop();
|
|
6467
6831
|
}
|
|
6468
|
-
let
|
|
6469
|
-
while (unary.suffix.length && (
|
|
6832
|
+
let ref17;
|
|
6833
|
+
while (unary.suffix.length && (ref17 = unary.suffix)[ref17.length - 1]?.token === "?") {
|
|
6470
6834
|
unary.suffix.pop();
|
|
6471
6835
|
}
|
|
6472
6836
|
const t = trimFirstSpace(
|
|
@@ -6492,14 +6856,14 @@ ${js}`
|
|
|
6492
6856
|
});
|
|
6493
6857
|
}
|
|
6494
6858
|
function processStatementExpressions(statements) {
|
|
6495
|
-
gatherRecursiveAll(statements, ($
|
|
6859
|
+
gatherRecursiveAll(statements, ($8) => $8.type === "StatementExpression").forEach((_exp) => {
|
|
6496
6860
|
const exp = _exp;
|
|
6497
6861
|
const { statement } = exp;
|
|
6498
|
-
let
|
|
6862
|
+
let ref18;
|
|
6499
6863
|
switch (statement.type) {
|
|
6500
6864
|
case "IfStatement": {
|
|
6501
|
-
if (
|
|
6502
|
-
const expression =
|
|
6865
|
+
if (ref18 = expressionizeIfStatement(statement)) {
|
|
6866
|
+
const expression = ref18;
|
|
6503
6867
|
return replaceNode(statement, expression, exp);
|
|
6504
6868
|
} else {
|
|
6505
6869
|
return replaceNode(statement, wrapIIFE([["", statement]]), exp);
|
|
@@ -6568,7 +6932,7 @@ ${js}`
|
|
|
6568
6932
|
if (config2.iife || config2.repl) {
|
|
6569
6933
|
rootIIFE = wrapIIFE(root.expressions, root.topLevelAwait);
|
|
6570
6934
|
const newExpressions = [["", rootIIFE]];
|
|
6571
|
-
root.children = root.children.map(($
|
|
6935
|
+
root.children = root.children.map(($9) => $9 === root.expressions ? newExpressions : $9);
|
|
6572
6936
|
root.expressions = newExpressions;
|
|
6573
6937
|
}
|
|
6574
6938
|
addParentPointers(root);
|
|
@@ -6608,17 +6972,17 @@ ${js}`
|
|
|
6608
6972
|
await processComptime(statements);
|
|
6609
6973
|
}
|
|
6610
6974
|
function processRepl(root, rootIIFE) {
|
|
6611
|
-
const topBlock = gatherRecursive(rootIIFE, ($
|
|
6975
|
+
const topBlock = gatherRecursive(rootIIFE, ($10) => $10.type === "BlockStatement")[0];
|
|
6612
6976
|
let i = 0;
|
|
6613
|
-
for (let
|
|
6614
|
-
const decl =
|
|
6977
|
+
for (let ref19 = gatherRecursiveWithinFunction(topBlock, ($11) => $11.type === "Declaration"), i5 = 0, len4 = ref19.length; i5 < len4; i5++) {
|
|
6978
|
+
const decl = ref19[i5];
|
|
6615
6979
|
if (decl.parent === topBlock || decl.decl === "var") {
|
|
6616
6980
|
decl.children.shift();
|
|
6617
6981
|
root.expressions.splice(i++, 0, ["", `var ${decl.names.join(",")};`]);
|
|
6618
6982
|
}
|
|
6619
6983
|
}
|
|
6620
|
-
for (let
|
|
6621
|
-
const func =
|
|
6984
|
+
for (let ref20 = gatherRecursive(topBlock, ($12) => $12.type === "FunctionExpression"), i6 = 0, len5 = ref20.length; i6 < len5; i6++) {
|
|
6985
|
+
const func = ref20[i6];
|
|
6622
6986
|
if (func.name && func.parent?.type === "BlockStatement") {
|
|
6623
6987
|
if (func.parent === topBlock) {
|
|
6624
6988
|
replaceNode(func, void 0);
|
|
@@ -6630,17 +6994,17 @@ ${js}`
|
|
|
6630
6994
|
}
|
|
6631
6995
|
}
|
|
6632
6996
|
}
|
|
6633
|
-
for (let
|
|
6634
|
-
const classExp =
|
|
6635
|
-
let
|
|
6636
|
-
if (classExp.name && classExp.parent === topBlock || (
|
|
6997
|
+
for (let ref21 = gatherRecursiveWithinFunction(topBlock, ($13) => $13.type === "ClassExpression"), i7 = 0, len6 = ref21.length; i7 < len6; i7++) {
|
|
6998
|
+
const classExp = ref21[i7];
|
|
6999
|
+
let m5;
|
|
7000
|
+
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)) {
|
|
6637
7001
|
classExp.children.unshift(classExp.name, "=");
|
|
6638
7002
|
root.expressions.splice(i++, 0, ["", `var ${classExp.name};`]);
|
|
6639
7003
|
}
|
|
6640
7004
|
}
|
|
6641
7005
|
}
|
|
6642
7006
|
function populateRefs(statements) {
|
|
6643
|
-
const refNodes = gatherRecursive(statements, ($
|
|
7007
|
+
const refNodes = gatherRecursive(statements, ($14) => $14.type === "Ref");
|
|
6644
7008
|
if (refNodes.length) {
|
|
6645
7009
|
const ids = gatherRecursive(statements, (s) => s.type === "Identifier");
|
|
6646
7010
|
const names = new Set(ids.flatMap(({ names: names2 }) => names2 || []));
|
|
@@ -6663,11 +7027,11 @@ ${js}`
|
|
|
6663
7027
|
function processPlaceholders(statements) {
|
|
6664
7028
|
const placeholderMap = /* @__PURE__ */ new Map();
|
|
6665
7029
|
const liftedIfs = /* @__PURE__ */ new Set();
|
|
6666
|
-
gatherRecursiveAll(statements, ($
|
|
7030
|
+
gatherRecursiveAll(statements, ($15) => $15.type === "Placeholder").forEach((_exp) => {
|
|
6667
7031
|
const exp = _exp;
|
|
6668
7032
|
let ancestor;
|
|
6669
7033
|
if (exp.subtype === ".") {
|
|
6670
|
-
({ ancestor } = findAncestor(exp, ($
|
|
7034
|
+
({ ancestor } = findAncestor(exp, ($16) => $16.type === "Call"));
|
|
6671
7035
|
ancestor = ancestor?.parent;
|
|
6672
7036
|
while (ancestor?.parent?.type === "UnaryExpression" || ancestor?.parent?.type === "NewExpression") {
|
|
6673
7037
|
ancestor = ancestor.parent;
|
|
@@ -6686,10 +7050,10 @@ ${js}`
|
|
|
6686
7050
|
if (type === "IfStatement") {
|
|
6687
7051
|
liftedIfs.add(ancestor2);
|
|
6688
7052
|
}
|
|
6689
|
-
let m5;
|
|
6690
7053
|
let m6;
|
|
7054
|
+
let m7;
|
|
6691
7055
|
return type === "Call" || // Block, except for if/else blocks when condition already lifted
|
|
6692
|
-
type === "BlockStatement" && !((
|
|
7056
|
+
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
|
|
6693
7057
|
type === "Initializer" || // Right-hand side of assignment
|
|
6694
7058
|
type === "AssignmentExpression" && findChildIndex(ancestor2, child2) === ancestor2.children.indexOf(ancestor2.expression) || type === "ReturnStatement" || type === "YieldExpression";
|
|
6695
7059
|
}));
|
|
@@ -6765,11 +7129,11 @@ ${js}`
|
|
|
6765
7129
|
for (const [ancestor, placeholders] of placeholderMap) {
|
|
6766
7130
|
let ref = makeRef("$");
|
|
6767
7131
|
let typeSuffix;
|
|
6768
|
-
for (let
|
|
6769
|
-
const placeholder = placeholders[
|
|
7132
|
+
for (let i8 = 0, len7 = placeholders.length; i8 < len7; i8++) {
|
|
7133
|
+
const placeholder = placeholders[i8];
|
|
6770
7134
|
typeSuffix ??= placeholder.typeSuffix;
|
|
6771
|
-
let
|
|
6772
|
-
replaceNode((
|
|
7135
|
+
let ref22;
|
|
7136
|
+
replaceNode((ref22 = placeholder.children)[ref22.length - 1], ref);
|
|
6773
7137
|
}
|
|
6774
7138
|
const { parent } = ancestor;
|
|
6775
7139
|
const body = maybeUnwrap(ancestor);
|
|
@@ -6790,16 +7154,16 @@ ${js}`
|
|
|
6790
7154
|
}
|
|
6791
7155
|
case "PipelineExpression": {
|
|
6792
7156
|
const i = findChildIndex(parent, ancestor);
|
|
6793
|
-
let
|
|
7157
|
+
let ref23;
|
|
6794
7158
|
if (i === 1) {
|
|
6795
|
-
|
|
7159
|
+
ref23 = ancestor === parent.children[i];
|
|
6796
7160
|
} else if (i === 2) {
|
|
6797
|
-
|
|
7161
|
+
ref23 = ancestor === parent.children[i][findChildIndex(parent.children[i], ancestor)][3];
|
|
6798
7162
|
} else {
|
|
6799
|
-
|
|
7163
|
+
ref23 = void 0;
|
|
6800
7164
|
}
|
|
6801
7165
|
;
|
|
6802
|
-
outer =
|
|
7166
|
+
outer = ref23;
|
|
6803
7167
|
break;
|
|
6804
7168
|
}
|
|
6805
7169
|
case "AssignmentExpression":
|
|
@@ -6814,9 +7178,9 @@ ${js}`
|
|
|
6814
7178
|
fnExp = makeLeftHandSideExpression(fnExp);
|
|
6815
7179
|
}
|
|
6816
7180
|
replaceNode(ancestor, fnExp, parent);
|
|
6817
|
-
let
|
|
6818
|
-
if (
|
|
6819
|
-
const ws =
|
|
7181
|
+
let ref24;
|
|
7182
|
+
if (ref24 = getTrimmingSpace(body)) {
|
|
7183
|
+
const ws = ref24;
|
|
6820
7184
|
inplaceInsertTrimmingSpace(body, "");
|
|
6821
7185
|
inplacePrepend(ws, fnExp);
|
|
6822
7186
|
}
|
|
@@ -6861,8 +7225,8 @@ ${js}`
|
|
|
6861
7225
|
}
|
|
6862
7226
|
];
|
|
6863
7227
|
}
|
|
6864
|
-
let
|
|
6865
|
-
if (Array.isArray(rest.delim) && (
|
|
7228
|
+
let ref25;
|
|
7229
|
+
if (Array.isArray(rest.delim) && (ref25 = rest.delim)[ref25.length - 1]?.token === ",") {
|
|
6866
7230
|
rest.delim = rest.delim.slice(0, -1);
|
|
6867
7231
|
rest.children = [...rest.children.slice(0, -1), rest.delim];
|
|
6868
7232
|
}
|
|
@@ -6887,9 +7251,9 @@ ${js}`
|
|
|
6887
7251
|
return root;
|
|
6888
7252
|
}
|
|
6889
7253
|
}
|
|
6890
|
-
for (let
|
|
6891
|
-
const i =
|
|
6892
|
-
const node = array[
|
|
7254
|
+
for (let i9 = 0, len8 = array.length; i9 < len8; i9++) {
|
|
7255
|
+
const i = i9;
|
|
7256
|
+
const node = array[i9];
|
|
6893
7257
|
if (!(node != null)) {
|
|
6894
7258
|
return;
|
|
6895
7259
|
}
|
|
@@ -6913,9 +7277,9 @@ ${js}`
|
|
|
6913
7277
|
return root;
|
|
6914
7278
|
}
|
|
6915
7279
|
}
|
|
6916
|
-
for (let
|
|
6917
|
-
const i =
|
|
6918
|
-
const node = array[
|
|
7280
|
+
for (let i10 = 0, len9 = array.length; i10 < len9; i10++) {
|
|
7281
|
+
const i = i10;
|
|
7282
|
+
const node = array[i10];
|
|
6919
7283
|
if (!(node != null)) {
|
|
6920
7284
|
continue;
|
|
6921
7285
|
}
|
|
@@ -7215,6 +7579,8 @@ ${js}`
|
|
|
7215
7579
|
UpcomingAssignment,
|
|
7216
7580
|
ArrayLiteral,
|
|
7217
7581
|
_ArrayLiteral,
|
|
7582
|
+
RangeDots,
|
|
7583
|
+
RangeEnd,
|
|
7218
7584
|
RangeExpression,
|
|
7219
7585
|
ArrayLiteralContent,
|
|
7220
7586
|
NestedElementList,
|
|
@@ -7331,7 +7697,7 @@ ${js}`
|
|
|
7331
7697
|
IgnoreColon,
|
|
7332
7698
|
TryStatement,
|
|
7333
7699
|
CatchClause,
|
|
7334
|
-
|
|
7700
|
+
CatchBinding,
|
|
7335
7701
|
FinallyClause,
|
|
7336
7702
|
CatchParameter,
|
|
7337
7703
|
Condition,
|
|
@@ -7675,6 +8041,7 @@ ${js}`
|
|
|
7675
8041
|
TypeSuffix,
|
|
7676
8042
|
MaybeNestedType,
|
|
7677
8043
|
MaybeNestedTypePrimary,
|
|
8044
|
+
MaybeNestedTypeUnary,
|
|
7678
8045
|
ReturnTypeSuffix,
|
|
7679
8046
|
ReturnType,
|
|
7680
8047
|
TypePredicate,
|
|
@@ -8062,86 +8429,87 @@ ${js}`
|
|
|
8062
8429
|
var $R17 = (0, import_lib4.$R)(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
|
|
8063
8430
|
var $R18 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
|
|
8064
8431
|
var $R19 = (0, import_lib4.$R)(new RegExp("(?=\\[|\\s*[.\u2022])", "suy"));
|
|
8065
|
-
var $R20 = (0, import_lib4.$R)(new RegExp("[
|
|
8066
|
-
var $R21 = (0, import_lib4.$R)(new RegExp("[ \\t]
|
|
8067
|
-
var $R22 = (0, import_lib4.$R)(new RegExp("[
|
|
8068
|
-
var $R23 = (0, import_lib4.$R)(new RegExp("
|
|
8069
|
-
var $R24 = (0, import_lib4.$R)(new RegExp("[
|
|
8070
|
-
var $R25 = (0, import_lib4.$R)(new RegExp("
|
|
8071
|
-
var $R26 = (0, import_lib4.$R)(new RegExp("
|
|
8072
|
-
var $R27 = (0, import_lib4.$R)(new RegExp("
|
|
8073
|
-
var $R28 = (0, import_lib4.$R)(new RegExp("[
|
|
8074
|
-
var $R29 = (0, import_lib4.$R)(new RegExp("
|
|
8075
|
-
var $R30 = (0, import_lib4.$R)(new RegExp("(?=
|
|
8076
|
-
var $R31 = (0, import_lib4.$R)(new RegExp(
|
|
8077
|
-
var $R32 = (0, import_lib4.$R)(new RegExp("
|
|
8078
|
-
var $R33 = (0, import_lib4.$R)(new RegExp("(
|
|
8079
|
-
var $R34 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)
|
|
8080
|
-
var $R35 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(
|
|
8081
|
-
var $R36 = (0, import_lib4.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
|
|
8082
|
-
var $R37 = (0, import_lib4.$R)(new RegExp("(
|
|
8083
|
-
var $R38 = (0, import_lib4.$R)(new RegExp("
|
|
8084
|
-
var $R39 = (0, import_lib4.$R)(new RegExp("0[
|
|
8085
|
-
var $R40 = (0, import_lib4.$R)(new RegExp("0[
|
|
8086
|
-
var $R41 = (0, import_lib4.$R)(new RegExp("(
|
|
8087
|
-
var $R42 = (0, import_lib4.$R)(new RegExp("(
|
|
8088
|
-
var $R43 = (0, import_lib4.$R)(new RegExp(
|
|
8089
|
-
var $R44 = (0, import_lib4.$R)(new RegExp(
|
|
8090
|
-
var $R45 = (0, import_lib4.$R)(new RegExp(
|
|
8091
|
-
var $R46 = (0, import_lib4.$R)(new RegExp(
|
|
8092
|
-
var $R47 = (0, import_lib4.$R)(new RegExp('(
|
|
8093
|
-
var $R48 = (0, import_lib4.$R)(new RegExp(
|
|
8094
|
-
var $R49 = (0, import_lib4.$R)(new RegExp("(
|
|
8095
|
-
var $R50 = (0, import_lib4.$R)(new RegExp("
|
|
8096
|
-
var $R51 = (0, import_lib4.$R)(new RegExp("
|
|
8097
|
-
var $R52 = (0, import_lib4.$R)(new RegExp("
|
|
8098
|
-
var $R53 = (0, import_lib4.$R)(new RegExp("[
|
|
8099
|
-
var $R54 = (0, import_lib4.$R)(new RegExp("
|
|
8100
|
-
var $R55 = (0, import_lib4.$R)(new RegExp("(
|
|
8101
|
-
var $R56 = (0, import_lib4.$R)(new RegExp("(
|
|
8102
|
-
var $R57 = (0, import_lib4.$R)(new RegExp("(
|
|
8103
|
-
var $R58 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)
|
|
8104
|
-
var $R59 = (0, import_lib4.$R)(new RegExp("(
|
|
8105
|
-
var $R60 = (0, import_lib4.$R)(new RegExp("(?:
|
|
8106
|
-
var $R61 = (0, import_lib4.$R)(new RegExp("(?:
|
|
8107
|
-
var $R62 = (0, import_lib4.$R)(new RegExp("(?:
|
|
8108
|
-
var $R63 = (0, import_lib4.$R)(new RegExp("(?:
|
|
8109
|
-
var $R64 = (0, import_lib4.$R)(new RegExp("(
|
|
8110
|
-
var $R65 = (0, import_lib4.$R)(new RegExp("
|
|
8111
|
-
var $R66 = (0, import_lib4.$R)(new RegExp("
|
|
8112
|
-
var $R67 = (0, import_lib4.$R)(new RegExp("
|
|
8113
|
-
var $R68 = (0, import_lib4.$R)(new RegExp("[
|
|
8114
|
-
var $R69 = (0, import_lib4.$R)(new RegExp("
|
|
8115
|
-
var $R70 = (0, import_lib4.$R)(new RegExp("
|
|
8116
|
-
var $R71 = (0, import_lib4.$R)(new RegExp("(
|
|
8117
|
-
var $R72 = (0, import_lib4.$R)(new RegExp("(
|
|
8118
|
-
var $R73 = (0, import_lib4.$R)(new RegExp("(
|
|
8119
|
-
var $R74 = (0, import_lib4.$R)(new RegExp("
|
|
8120
|
-
var $R75 = (0, import_lib4.$R)(new RegExp("[
|
|
8121
|
-
var $R76 = (0, import_lib4.$R)(new RegExp("
|
|
8122
|
-
var $R77 = (0, import_lib4.$R)(new RegExp("
|
|
8123
|
-
var $R78 = (0, import_lib4.$R)(new RegExp("(
|
|
8124
|
-
var $R79 = (0, import_lib4.$R)(new RegExp("[
|
|
8125
|
-
var $R80 = (0, import_lib4.$R)(new RegExp("[
|
|
8126
|
-
var $R81 = (0, import_lib4.$R)(new RegExp("
|
|
8127
|
-
var $R82 = (0, import_lib4.$R)(new RegExp(
|
|
8128
|
-
var $R83 = (0, import_lib4.$R)(new RegExp("[
|
|
8129
|
-
var $R84 = (0, import_lib4.$R)(new RegExp("[
|
|
8130
|
-
var $R85 = (0, import_lib4.$R)(new RegExp("
|
|
8131
|
-
var $R86 = (0, import_lib4.$R)(new RegExp("[
|
|
8132
|
-
var $R87 = (0, import_lib4.$R)(new RegExp("[
|
|
8133
|
-
var $R88 = (0, import_lib4.$R)(new RegExp("
|
|
8134
|
-
var $R89 = (0, import_lib4.$R)(new RegExp("
|
|
8135
|
-
var $R90 = (0, import_lib4.$R)(new RegExp("
|
|
8136
|
-
var $R91 = (0, import_lib4.$R)(new RegExp("
|
|
8137
|
-
var $R92 = (0, import_lib4.$R)(new RegExp("
|
|
8138
|
-
var $R93 = (0, import_lib4.$R)(new RegExp("[\\
|
|
8139
|
-
var $R94 = (0, import_lib4.$R)(new RegExp("[\\
|
|
8140
|
-
var $R95 = (0, import_lib4.$R)(new RegExp("
|
|
8141
|
-
var $R96 = (0, import_lib4.$R)(new RegExp("
|
|
8142
|
-
var $R97 = (0, import_lib4.$R)(new RegExp("
|
|
8143
|
-
var $R98 = (0, import_lib4.$R)(new RegExp("\\r\\n
|
|
8144
|
-
var $R99 = (0, import_lib4.$R)(new RegExp("
|
|
8432
|
+
var $R20 = (0, import_lib4.$R)(new RegExp("([<>])(=?)|([\u2264\u2265])", "suy"));
|
|
8433
|
+
var $R21 = (0, import_lib4.$R)(new RegExp("[ \\t]*", "suy"));
|
|
8434
|
+
var $R22 = (0, import_lib4.$R)(new RegExp("[ \\t]+", "suy"));
|
|
8435
|
+
var $R23 = (0, import_lib4.$R)(new RegExp("[!+-]?", "suy"));
|
|
8436
|
+
var $R24 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
|
|
8437
|
+
var $R25 = (0, import_lib4.$R)(new RegExp("[=>]", "suy"));
|
|
8438
|
+
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"));
|
|
8439
|
+
var $R27 = (0, import_lib4.$R)(new RegExp("!\\^\\^?", "suy"));
|
|
8440
|
+
var $R28 = (0, import_lib4.$R)(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
|
|
8441
|
+
var $R29 = (0, import_lib4.$R)(new RegExp("[:.]", "suy"));
|
|
8442
|
+
var $R30 = (0, import_lib4.$R)(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
|
|
8443
|
+
var $R31 = (0, import_lib4.$R)(new RegExp("(?=loop|comptime|do|for|until|while)", "suy"));
|
|
8444
|
+
var $R32 = (0, import_lib4.$R)(new RegExp('[^;"\\s]+', "suy"));
|
|
8445
|
+
var $R33 = (0, import_lib4.$R)(new RegExp("(?=[0-9.])", "suy"));
|
|
8446
|
+
var $R34 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
|
|
8447
|
+
var $R35 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
|
|
8448
|
+
var $R36 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
|
|
8449
|
+
var $R37 = (0, import_lib4.$R)(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
|
|
8450
|
+
var $R38 = (0, import_lib4.$R)(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
|
|
8451
|
+
var $R39 = (0, import_lib4.$R)(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
|
|
8452
|
+
var $R40 = (0, import_lib4.$R)(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
|
|
8453
|
+
var $R41 = (0, import_lib4.$R)(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
|
|
8454
|
+
var $R42 = (0, import_lib4.$R)(new RegExp("(?=[0-9])", "suy"));
|
|
8455
|
+
var $R43 = (0, import_lib4.$R)(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
|
|
8456
|
+
var $R44 = (0, import_lib4.$R)(new RegExp('(?:\\\\.|[^"])*', "suy"));
|
|
8457
|
+
var $R45 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^'])*", "suy"));
|
|
8458
|
+
var $R46 = (0, import_lib4.$R)(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
|
|
8459
|
+
var $R47 = (0, import_lib4.$R)(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
|
|
8460
|
+
var $R48 = (0, import_lib4.$R)(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
|
|
8461
|
+
var $R49 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
|
|
8462
|
+
var $R50 = (0, import_lib4.$R)(new RegExp("(?:\\\\.)", "suy"));
|
|
8463
|
+
var $R51 = (0, import_lib4.$R)(new RegExp("[\\s]+", "suy"));
|
|
8464
|
+
var $R52 = (0, import_lib4.$R)(new RegExp("\\/(?!\\/\\/)", "suy"));
|
|
8465
|
+
var $R53 = (0, import_lib4.$R)(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
|
|
8466
|
+
var $R54 = (0, import_lib4.$R)(new RegExp("[*\\/\\r\\n]", "suy"));
|
|
8467
|
+
var $R55 = (0, import_lib4.$R)(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
|
|
8468
|
+
var $R56 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
|
|
8469
|
+
var $R57 = (0, import_lib4.$R)(new RegExp("(?=[`'\"])", "suy"));
|
|
8470
|
+
var $R58 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
|
|
8471
|
+
var $R59 = (0, import_lib4.$R)(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
|
|
8472
|
+
var $R60 = (0, import_lib4.$R)(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
|
|
8473
|
+
var $R61 = (0, import_lib4.$R)(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
|
|
8474
|
+
var $R62 = (0, import_lib4.$R)(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
|
|
8475
|
+
var $R63 = (0, import_lib4.$R)(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
|
|
8476
|
+
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"));
|
|
8477
|
+
var $R65 = (0, import_lib4.$R)(new RegExp("(?=\\/|#)", "suy"));
|
|
8478
|
+
var $R66 = (0, import_lib4.$R)(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
|
|
8479
|
+
var $R67 = (0, import_lib4.$R)(new RegExp(".", "suy"));
|
|
8480
|
+
var $R68 = (0, import_lib4.$R)(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
|
|
8481
|
+
var $R69 = (0, import_lib4.$R)(new RegExp("[^]*?###", "suy"));
|
|
8482
|
+
var $R70 = (0, import_lib4.$R)(new RegExp("###(?!#)", "suy"));
|
|
8483
|
+
var $R71 = (0, import_lib4.$R)(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
|
|
8484
|
+
var $R72 = (0, import_lib4.$R)(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
|
|
8485
|
+
var $R73 = (0, import_lib4.$R)(new RegExp("(?=\\s|\\/|#)", "suy"));
|
|
8486
|
+
var $R74 = (0, import_lib4.$R)(new RegExp("(?!\\p{ID_Continue})", "suy"));
|
|
8487
|
+
var $R75 = (0, import_lib4.$R)(new RegExp("[=:]", "suy"));
|
|
8488
|
+
var $R76 = (0, import_lib4.$R)(new RegExp("['\u2019]s", "suy"));
|
|
8489
|
+
var $R77 = (0, import_lib4.$R)(new RegExp("\\s", "suy"));
|
|
8490
|
+
var $R78 = (0, import_lib4.$R)(new RegExp("(?=[<])", "suy"));
|
|
8491
|
+
var $R79 = (0, import_lib4.$R)(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
|
|
8492
|
+
var $R80 = (0, import_lib4.$R)(new RegExp("[!+-]", "suy"));
|
|
8493
|
+
var $R81 = (0, import_lib4.$R)(new RegExp("[\\s>]|\\/>", "suy"));
|
|
8494
|
+
var $R82 = (0, import_lib4.$R)(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
|
|
8495
|
+
var $R83 = (0, import_lib4.$R)(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
|
|
8496
|
+
var $R84 = (0, import_lib4.$R)(new RegExp("[<>]", "suy"));
|
|
8497
|
+
var $R85 = (0, import_lib4.$R)(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
|
|
8498
|
+
var $R86 = (0, import_lib4.$R)(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
|
|
8499
|
+
var $R87 = (0, import_lib4.$R)(new RegExp("[^{}<>\\r\\n]+", "suy"));
|
|
8500
|
+
var $R88 = (0, import_lib4.$R)(new RegExp("[+-]?", "suy"));
|
|
8501
|
+
var $R89 = (0, import_lib4.$R)(new RegExp("(?=if|unless)", "suy"));
|
|
8502
|
+
var $R90 = (0, import_lib4.$R)(new RegExp("[|&<!=\\-\u21D2\u2192]", "suy"));
|
|
8503
|
+
var $R91 = (0, import_lib4.$R)(new RegExp("(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
|
|
8504
|
+
var $R92 = (0, import_lib4.$R)(new RegExp("const|in|out", "suy"));
|
|
8505
|
+
var $R93 = (0, import_lib4.$R)(new RegExp("#![^\\r\\n]*", "suy"));
|
|
8506
|
+
var $R94 = (0, import_lib4.$R)(new RegExp("[\\t ]*", "suy"));
|
|
8507
|
+
var $R95 = (0, import_lib4.$R)(new RegExp("[\\s]*", "suy"));
|
|
8508
|
+
var $R96 = (0, import_lib4.$R)(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([\\p{ID_Continue}.,+-]*))?", "suy"));
|
|
8509
|
+
var $R97 = (0, import_lib4.$R)(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
|
|
8510
|
+
var $R98 = (0, import_lib4.$R)(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
|
|
8511
|
+
var $R99 = (0, import_lib4.$R)(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
|
|
8512
|
+
var $R100 = (0, import_lib4.$R)(new RegExp("[^]*", "suy"));
|
|
8145
8513
|
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) {
|
|
8146
8514
|
var reset = $1;
|
|
8147
8515
|
var init = $2;
|
|
@@ -8344,7 +8712,7 @@ ${js}`
|
|
|
8344
8712
|
function ExplicitArguments(ctx, state2) {
|
|
8345
8713
|
return (0, import_lib4.$EVENT)(ctx, state2, "ExplicitArguments", ExplicitArguments$0);
|
|
8346
8714
|
}
|
|
8347
|
-
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));
|
|
8715
|
+
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));
|
|
8348
8716
|
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))));
|
|
8349
8717
|
var ApplicationStart$$ = [ApplicationStart$0, ApplicationStart$1];
|
|
8350
8718
|
function ApplicationStart(ctx, state2) {
|
|
@@ -8513,11 +8881,15 @@ ${js}`
|
|
|
8513
8881
|
function BinaryOpExpression(ctx, state2) {
|
|
8514
8882
|
return (0, import_lib4.$EVENT)(ctx, state2, "BinaryOpExpression", BinaryOpExpression$0);
|
|
8515
8883
|
}
|
|
8516
|
-
var BinaryOpNotDedented$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$
|
|
8884
|
+
var BinaryOpNotDedented$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$N)(NewlineBinaryOpAllowed), (0, import_lib4.$E)(_)), function(value) {
|
|
8885
|
+
return value[1];
|
|
8886
|
+
});
|
|
8887
|
+
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) {
|
|
8517
8888
|
return value[1];
|
|
8518
8889
|
});
|
|
8890
|
+
var BinaryOpNotDedented$$ = [BinaryOpNotDedented$0, BinaryOpNotDedented$1];
|
|
8519
8891
|
function BinaryOpNotDedented(ctx, state2) {
|
|
8520
|
-
return (0, import_lib4.$
|
|
8892
|
+
return (0, import_lib4.$EVENT_C)(ctx, state2, "BinaryOpNotDedented", BinaryOpNotDedented$$);
|
|
8521
8893
|
}
|
|
8522
8894
|
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) {
|
|
8523
8895
|
var ws1 = $1;
|
|
@@ -8658,8 +9030,15 @@ ${js}`
|
|
|
8658
9030
|
var postfix = $2;
|
|
8659
9031
|
return prepend(ws, postfix);
|
|
8660
9032
|
});
|
|
9033
|
+
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) {
|
|
9034
|
+
var indent = $2;
|
|
9035
|
+
var ws = $3;
|
|
9036
|
+
var postfix = $4;
|
|
9037
|
+
return prepend(ws || " ", postfix);
|
|
9038
|
+
});
|
|
9039
|
+
var TypePostfix$$ = [TypePostfix$0, TypePostfix$1];
|
|
8661
9040
|
function TypePostfix(ctx, state2) {
|
|
8662
|
-
return (0, import_lib4.$
|
|
9041
|
+
return (0, import_lib4.$EVENT_C)(ctx, state2, "TypePostfix", TypePostfix$$);
|
|
8663
9042
|
}
|
|
8664
9043
|
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) {
|
|
8665
9044
|
return {
|
|
@@ -9721,11 +10100,12 @@ ${js}`
|
|
|
9721
10100
|
var ws = $3;
|
|
9722
10101
|
var close = $4;
|
|
9723
10102
|
if (expression.type === "SliceParameters") {
|
|
9724
|
-
const { start, end, children } = expression;
|
|
10103
|
+
const { start, end, reversed, children } = expression;
|
|
9725
10104
|
return {
|
|
9726
10105
|
type: "SliceExpression",
|
|
9727
10106
|
start,
|
|
9728
10107
|
end,
|
|
10108
|
+
reversed,
|
|
9729
10109
|
children: [
|
|
9730
10110
|
{ ...open, token: ".slice(" },
|
|
9731
10111
|
...children,
|
|
@@ -9742,20 +10122,44 @@ ${js}`
|
|
|
9742
10122
|
function MemberBracketContent(ctx, state2) {
|
|
9743
10123
|
return (0, import_lib4.$EVENT)(ctx, state2, "MemberBracketContent", MemberBracketContent$0);
|
|
9744
10124
|
}
|
|
9745
|
-
var SliceParameters$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(
|
|
9746
|
-
var
|
|
9747
|
-
var
|
|
9748
|
-
var
|
|
9749
|
-
var
|
|
9750
|
-
|
|
10125
|
+
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) {
|
|
10126
|
+
var ls = $1;
|
|
10127
|
+
var start = $2;
|
|
10128
|
+
var ws = $3;
|
|
10129
|
+
var dots = $4;
|
|
10130
|
+
var le = $5;
|
|
10131
|
+
var end = $6;
|
|
10132
|
+
const reversed = dots.increasing === false;
|
|
10133
|
+
const sign = reversed ? "-" : "+";
|
|
9751
10134
|
let children;
|
|
10135
|
+
start ??= {
|
|
10136
|
+
$loc: ls.$loc,
|
|
10137
|
+
token: reversed ? "-1" : "0"
|
|
10138
|
+
};
|
|
10139
|
+
if (!end) {
|
|
10140
|
+
if (reversed) {
|
|
10141
|
+
end = {
|
|
10142
|
+
$loc: le.$loc,
|
|
10143
|
+
token: "0"
|
|
10144
|
+
};
|
|
10145
|
+
} else if (!dots.right.inclusive && !dots.triple) {
|
|
10146
|
+
end = {
|
|
10147
|
+
$loc: le.$loc,
|
|
10148
|
+
token: "-1"
|
|
10149
|
+
};
|
|
10150
|
+
}
|
|
10151
|
+
}
|
|
10152
|
+
if (!dots.left.inclusive) {
|
|
10153
|
+
start = [makeLeftHandSideExpression(start), ` ${sign} 1`];
|
|
10154
|
+
}
|
|
9752
10155
|
if (end) {
|
|
9753
10156
|
const inc = [];
|
|
9754
|
-
if (inclusive) {
|
|
9755
|
-
end = [
|
|
9756
|
-
|
|
10157
|
+
if (dots.right.inclusive) {
|
|
10158
|
+
end = [makeLeftHandSideExpression(end), ` ${sign} 1`];
|
|
10159
|
+
if (!reversed)
|
|
10160
|
+
inc.push(" || 1/0");
|
|
9757
10161
|
}
|
|
9758
|
-
children = [start, [...ws, {
|
|
10162
|
+
children = [start, [...ws, dots.children[0], { token: ", ", $loc: dots.$loc }], [dots.children[1], end, ...inc]];
|
|
9759
10163
|
} else {
|
|
9760
10164
|
children = [start, ws];
|
|
9761
10165
|
}
|
|
@@ -9763,48 +10167,12 @@ ${js}`
|
|
|
9763
10167
|
type: "SliceParameters",
|
|
9764
10168
|
start,
|
|
9765
10169
|
end,
|
|
10170
|
+
reversed,
|
|
9766
10171
|
children
|
|
9767
10172
|
};
|
|
9768
10173
|
});
|
|
9769
|
-
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) {
|
|
9770
|
-
var l = $1;
|
|
9771
|
-
var ws = $2;
|
|
9772
|
-
var sep = $3;
|
|
9773
|
-
var end = $4;
|
|
9774
|
-
const inclusive = sep.token === "..";
|
|
9775
|
-
const inc = [];
|
|
9776
|
-
if (inclusive) {
|
|
9777
|
-
end = ["1 + ", end];
|
|
9778
|
-
inc.push(" || 1/0");
|
|
9779
|
-
}
|
|
9780
|
-
const start = {
|
|
9781
|
-
$loc: l.$loc,
|
|
9782
|
-
token: "0"
|
|
9783
|
-
};
|
|
9784
|
-
return {
|
|
9785
|
-
type: "SliceParameters",
|
|
9786
|
-
start,
|
|
9787
|
-
end,
|
|
9788
|
-
children: [start, [...ws, { ...sep, token: ", " }], [end, ...inc]]
|
|
9789
|
-
};
|
|
9790
|
-
});
|
|
9791
|
-
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) {
|
|
9792
|
-
var l = $1;
|
|
9793
|
-
var ws = $2;
|
|
9794
|
-
const start = {
|
|
9795
|
-
$loc: l.$loc,
|
|
9796
|
-
token: "0"
|
|
9797
|
-
};
|
|
9798
|
-
return {
|
|
9799
|
-
type: "SliceParameters",
|
|
9800
|
-
start,
|
|
9801
|
-
end: void 0,
|
|
9802
|
-
children: [start, ws]
|
|
9803
|
-
};
|
|
9804
|
-
});
|
|
9805
|
-
var SliceParameters$$ = [SliceParameters$0, SliceParameters$1, SliceParameters$2];
|
|
9806
10174
|
function SliceParameters(ctx, state2) {
|
|
9807
|
-
return (0, import_lib4.$
|
|
10175
|
+
return (0, import_lib4.$EVENT)(ctx, state2, "SliceParameters", SliceParameters$0);
|
|
9808
10176
|
}
|
|
9809
10177
|
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) {
|
|
9810
10178
|
var modifier = $1;
|
|
@@ -11267,10 +11635,7 @@ ${js}`
|
|
|
11267
11635
|
if (last)
|
|
11268
11636
|
expressions.push(last);
|
|
11269
11637
|
const maybeComment = expressions.at(-1)?.[2]?.children?.[2]?.at(-1);
|
|
11270
|
-
|
|
11271
|
-
if (maybeComment?.type === "Comment" && maybeComment.token.startsWith("//")) {
|
|
11272
|
-
hasTrailingComment = true;
|
|
11273
|
-
}
|
|
11638
|
+
const hasTrailingComment = maybeComment?.type === "Comment" && maybeComment.token.startsWith("//");
|
|
11274
11639
|
const children = [expressions];
|
|
11275
11640
|
if (hasTrailingComment)
|
|
11276
11641
|
children.push("\n");
|
|
@@ -11469,70 +11834,83 @@ ${js}`
|
|
|
11469
11834
|
function _ArrayLiteral(ctx, state2) {
|
|
11470
11835
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "_ArrayLiteral", _ArrayLiteral$$);
|
|
11471
11836
|
}
|
|
11472
|
-
var
|
|
11473
|
-
|
|
11474
|
-
|
|
11475
|
-
|
|
11476
|
-
|
|
11477
|
-
|
|
11478
|
-
|
|
11479
|
-
|
|
11480
|
-
|
|
11481
|
-
|
|
11482
|
-
|
|
11483
|
-
|
|
11484
|
-
|
|
11485
|
-
|
|
11486
|
-
|
|
11487
|
-
|
|
11488
|
-
|
|
11489
|
-
|
|
11490
|
-
|
|
11491
|
-
|
|
11492
|
-
|
|
11493
|
-
|
|
11494
|
-
|
|
11495
|
-
|
|
11496
|
-
|
|
11497
|
-
|
|
11498
|
-
|
|
11499
|
-
|
|
11500
|
-
|
|
11501
|
-
|
|
11502
|
-
|
|
11503
|
-
|
|
11504
|
-
|
|
11505
|
-
|
|
11506
|
-
|
|
11507
|
-
|
|
11508
|
-
|
|
11509
|
-
|
|
11510
|
-
|
|
11511
|
-
|
|
11512
|
-
|
|
11513
|
-
|
|
11514
|
-
|
|
11515
|
-
|
|
11516
|
-
|
|
11517
|
-
|
|
11518
|
-
|
|
11519
|
-
|
|
11520
|
-
|
|
11521
|
-
|
|
11522
|
-
|
|
11523
|
-
|
|
11837
|
+
var RangeDots$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(DotDotDot), function($skip, $loc, $0, $1) {
|
|
11838
|
+
return {
|
|
11839
|
+
...$1,
|
|
11840
|
+
type: "RangeDots",
|
|
11841
|
+
left: { inclusive: true, raw: "" },
|
|
11842
|
+
right: { inclusive: false, raw: "." },
|
|
11843
|
+
increasing: void 0,
|
|
11844
|
+
triple: true,
|
|
11845
|
+
children: []
|
|
11846
|
+
};
|
|
11847
|
+
});
|
|
11848
|
+
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) {
|
|
11849
|
+
var left = $1;
|
|
11850
|
+
var ws1 = $2;
|
|
11851
|
+
var dots = $3;
|
|
11852
|
+
var ws2 = $4;
|
|
11853
|
+
var right = $5;
|
|
11854
|
+
const increasing = left.increasing ?? right.increasing;
|
|
11855
|
+
if (left.increasing != null && right.increasing != null && left.increasing !== right.increasing) {
|
|
11856
|
+
const error = {
|
|
11857
|
+
type: "Error",
|
|
11858
|
+
message: `${left.raw}..${right.raw} uses inconsistent < vs. >`,
|
|
11859
|
+
$loc: dots.$loc
|
|
11860
|
+
};
|
|
11861
|
+
return {
|
|
11862
|
+
...dots,
|
|
11863
|
+
left,
|
|
11864
|
+
right,
|
|
11865
|
+
increasing,
|
|
11866
|
+
error,
|
|
11867
|
+
type: "RangeDots",
|
|
11868
|
+
children: [error]
|
|
11869
|
+
};
|
|
11870
|
+
}
|
|
11871
|
+
return {
|
|
11872
|
+
...dots,
|
|
11873
|
+
left,
|
|
11874
|
+
right,
|
|
11875
|
+
increasing,
|
|
11876
|
+
type: "RangeDots",
|
|
11877
|
+
children: [ws1, ws2]
|
|
11878
|
+
};
|
|
11879
|
+
});
|
|
11880
|
+
var RangeDots$$ = [RangeDots$0, RangeDots$1];
|
|
11881
|
+
function RangeDots(ctx, state2) {
|
|
11882
|
+
return (0, import_lib4.$EVENT_C)(ctx, state2, "RangeDots", RangeDots$$);
|
|
11883
|
+
}
|
|
11884
|
+
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) {
|
|
11885
|
+
let dir = $1, equal = $2, unicode = $3;
|
|
11886
|
+
if (unicode) {
|
|
11887
|
+
equal = "=";
|
|
11888
|
+
if (unicode === "\u2264") {
|
|
11889
|
+
dir = "<";
|
|
11890
|
+
} else if (unicode === "\u2265") {
|
|
11891
|
+
dir = ">";
|
|
11524
11892
|
}
|
|
11525
11893
|
}
|
|
11526
|
-
const inclusiveAdjust = inclusive ? " + 1" : "";
|
|
11527
|
-
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, ")"];
|
|
11528
11894
|
return {
|
|
11529
|
-
|
|
11530
|
-
|
|
11531
|
-
|
|
11532
|
-
start: s,
|
|
11533
|
-
end: e
|
|
11895
|
+
increasing: dir === "<",
|
|
11896
|
+
inclusive: equal === "=",
|
|
11897
|
+
raw: $0
|
|
11534
11898
|
};
|
|
11535
11899
|
});
|
|
11900
|
+
var RangeEnd$1 = (0, import_lib4.$T)((0, import_lib4.$EXPECT)($L0, 'RangeEnd ""'), function(value) {
|
|
11901
|
+
return { "increasing": void 0, "inclusive": true, "raw": "" };
|
|
11902
|
+
});
|
|
11903
|
+
var RangeEnd$$ = [RangeEnd$0, RangeEnd$1];
|
|
11904
|
+
function RangeEnd(ctx, state2) {
|
|
11905
|
+
return (0, import_lib4.$EVENT_C)(ctx, state2, "RangeEnd", RangeEnd$$);
|
|
11906
|
+
}
|
|
11907
|
+
var RangeExpression$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(Expression, __, RangeDots, Expression), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
11908
|
+
var start = $1;
|
|
11909
|
+
var ws = $2;
|
|
11910
|
+
var range = $3;
|
|
11911
|
+
var end = $4;
|
|
11912
|
+
return processRangeExpression(start, ws, range, end);
|
|
11913
|
+
});
|
|
11536
11914
|
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) {
|
|
11537
11915
|
var s = $1;
|
|
11538
11916
|
var ws = $2;
|
|
@@ -11547,7 +11925,10 @@ ${js}`
|
|
|
11547
11925
|
type: "Identifier",
|
|
11548
11926
|
name: "Infinity",
|
|
11549
11927
|
children: ["Infinity"]
|
|
11550
|
-
}
|
|
11928
|
+
},
|
|
11929
|
+
left: { inclusive: true, raw: "" },
|
|
11930
|
+
right: { inclusive: true, raw: "" },
|
|
11931
|
+
increasing: true
|
|
11551
11932
|
};
|
|
11552
11933
|
});
|
|
11553
11934
|
var RangeExpression$$ = [RangeExpression$0, RangeExpression$1];
|
|
@@ -11761,7 +12142,7 @@ ${js}`
|
|
|
11761
12142
|
function ArrayBulletDelimiter(ctx, state2) {
|
|
11762
12143
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "ArrayBulletDelimiter", ArrayBulletDelimiter$$);
|
|
11763
12144
|
}
|
|
11764
|
-
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)($
|
|
12145
|
+
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) {
|
|
11765
12146
|
const [bullet, ws] = $1;
|
|
11766
12147
|
const indent = {
|
|
11767
12148
|
token: " " + ws,
|
|
@@ -11977,7 +12358,7 @@ ${js}`
|
|
|
11977
12358
|
var prop = $2;
|
|
11978
12359
|
return prepend(ws, prop);
|
|
11979
12360
|
});
|
|
11980
|
-
var PropertyDefinition$1 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)(_), (0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($
|
|
12361
|
+
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) {
|
|
11981
12362
|
var ws = $1;
|
|
11982
12363
|
var toggle = $2;
|
|
11983
12364
|
var id = $3;
|
|
@@ -12128,7 +12509,7 @@ ${js}`
|
|
|
12128
12509
|
var PropertyName$0 = NumericLiteral;
|
|
12129
12510
|
var PropertyName$1 = ComputedPropertyName;
|
|
12130
12511
|
var PropertyName$2 = StringLiteral;
|
|
12131
|
-
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)($
|
|
12512
|
+
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) {
|
|
12132
12513
|
return {
|
|
12133
12514
|
token: `"${$1}"`,
|
|
12134
12515
|
$loc
|
|
@@ -12527,7 +12908,7 @@ ${js}`
|
|
|
12527
12908
|
var AssignmentOpSymbol$23 = (0, import_lib4.$T)((0, import_lib4.$EXPECT)($L72, 'AssignmentOpSymbol "?="'), function(value) {
|
|
12528
12909
|
return "??=";
|
|
12529
12910
|
});
|
|
12530
|
-
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)($
|
|
12911
|
+
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) {
|
|
12531
12912
|
return value[0];
|
|
12532
12913
|
});
|
|
12533
12914
|
var AssignmentOpSymbol$25 = (0, import_lib4.$T)((0, import_lib4.$S)(CoffeeWordAssignmentOp), function(value) {
|
|
@@ -12580,7 +12961,7 @@ ${js}`
|
|
|
12580
12961
|
function IdentifierBinaryOp(ctx, state2) {
|
|
12581
12962
|
return (0, import_lib4.$EVENT)(ctx, state2, "IdentifierBinaryOp", IdentifierBinaryOp$0);
|
|
12582
12963
|
}
|
|
12583
|
-
var BinaryOp$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
12964
|
+
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) {
|
|
12584
12965
|
var op = value[1];
|
|
12585
12966
|
return op;
|
|
12586
12967
|
});
|
|
@@ -12725,7 +13106,7 @@ ${js}`
|
|
|
12725
13106
|
prec: "^^"
|
|
12726
13107
|
};
|
|
12727
13108
|
});
|
|
12728
|
-
var BinaryOpSymbol$36 = (0, import_lib4.$TV)((0, import_lib4.$C)((0, import_lib4.$EXPECT)($
|
|
13109
|
+
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) {
|
|
12729
13110
|
return {
|
|
12730
13111
|
call: getHelperRef("xnor"),
|
|
12731
13112
|
special: true,
|
|
@@ -12889,24 +13270,24 @@ ${js}`
|
|
|
12889
13270
|
function Xor(ctx, state2) {
|
|
12890
13271
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "Xor", Xor$$);
|
|
12891
13272
|
}
|
|
12892
|
-
var Xnor$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
13273
|
+
var Xnor$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R27, "Xnor /!\\^\\^?/"));
|
|
12893
13274
|
var Xnor$1 = (0, import_lib4.$EXPECT)($L109, 'Xnor "xnor"');
|
|
12894
13275
|
var Xnor$$ = [Xnor$0, Xnor$1];
|
|
12895
13276
|
function Xnor(ctx, state2) {
|
|
12896
13277
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "Xnor", Xnor$$);
|
|
12897
13278
|
}
|
|
12898
|
-
var UnaryOp$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
13279
|
+
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) {
|
|
12899
13280
|
return { $loc, token: $0 };
|
|
12900
13281
|
});
|
|
12901
13282
|
var UnaryOp$1 = AwaitOp;
|
|
12902
|
-
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)($
|
|
13283
|
+
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) {
|
|
12903
13284
|
var op = $1;
|
|
12904
13285
|
var ws = $3;
|
|
12905
13286
|
if (!ws)
|
|
12906
13287
|
return [op, [" "]];
|
|
12907
13288
|
return [op, ws];
|
|
12908
13289
|
});
|
|
12909
|
-
var UnaryOp$3 = (0, import_lib4.$T)((0, import_lib4.$S)(Not, (0, import_lib4.$N)((0, import_lib4.$EXPECT)($
|
|
13290
|
+
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) {
|
|
12910
13291
|
return [value[0], value[3]];
|
|
12911
13292
|
});
|
|
12912
13293
|
var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
|
|
@@ -12993,7 +13374,7 @@ ${js}`
|
|
|
12993
13374
|
function PostfixedCommaExpression(ctx, state2) {
|
|
12994
13375
|
return (0, import_lib4.$EVENT)(ctx, state2, "PostfixedCommaExpression", PostfixedCommaExpression$0);
|
|
12995
13376
|
}
|
|
12996
|
-
var PostfixStatement$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
13377
|
+
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) {
|
|
12997
13378
|
return value[1];
|
|
12998
13379
|
});
|
|
12999
13380
|
function PostfixStatement(ctx, state2) {
|
|
@@ -13033,7 +13414,9 @@ ${js}`
|
|
|
13033
13414
|
}
|
|
13034
13415
|
var ShouldExpressionize$0 = AllowedTrailingCallExpressions;
|
|
13035
13416
|
var ShouldExpressionize$1 = (0, import_lib4.$S)(NotDedented, Pipe);
|
|
13036
|
-
var ShouldExpressionize
|
|
13417
|
+
var ShouldExpressionize$2 = BinaryOpRHS;
|
|
13418
|
+
var ShouldExpressionize$3 = UnaryPostfix;
|
|
13419
|
+
var ShouldExpressionize$$ = [ShouldExpressionize$0, ShouldExpressionize$1, ShouldExpressionize$2, ShouldExpressionize$3];
|
|
13037
13420
|
function ShouldExpressionize(ctx, state2) {
|
|
13038
13421
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "ShouldExpressionize", ShouldExpressionize$$);
|
|
13039
13422
|
}
|
|
@@ -13184,7 +13567,7 @@ ${js}`
|
|
|
13184
13567
|
function IfClause(ctx, state2) {
|
|
13185
13568
|
return (0, import_lib4.$EVENT)(ctx, state2, "IfClause", IfClause$0);
|
|
13186
13569
|
}
|
|
13187
|
-
var IterationStatement$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
13570
|
+
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) {
|
|
13188
13571
|
return value[1];
|
|
13189
13572
|
});
|
|
13190
13573
|
function IterationStatement(ctx, state2) {
|
|
@@ -13736,12 +14119,14 @@ ${js}`
|
|
|
13736
14119
|
};
|
|
13737
14120
|
});
|
|
13738
14121
|
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) {
|
|
14122
|
+
var e = $1;
|
|
14123
|
+
var colon = $2;
|
|
13739
14124
|
var block = $3;
|
|
13740
|
-
|
|
14125
|
+
e = { ...e, token: "default" };
|
|
13741
14126
|
return {
|
|
13742
14127
|
type: "DefaultClause",
|
|
13743
14128
|
block,
|
|
13744
|
-
children:
|
|
14129
|
+
children: [e, colon, block]
|
|
13745
14130
|
};
|
|
13746
14131
|
});
|
|
13747
14132
|
var CaseClause$$ = [CaseClause$0, CaseClause$1, CaseClause$2, CaseClause$3, CaseClause$4];
|
|
@@ -13812,36 +14197,56 @@ ${js}`
|
|
|
13812
14197
|
function IgnoreColon(ctx, state2) {
|
|
13813
14198
|
return (0, import_lib4.$EVENT)(ctx, state2, "IgnoreColon", IgnoreColon$0);
|
|
13814
14199
|
}
|
|
13815
|
-
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.$
|
|
14200
|
+
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) {
|
|
13816
14201
|
return processTryBlock($0);
|
|
13817
14202
|
});
|
|
13818
14203
|
function TryStatement(ctx, state2) {
|
|
13819
14204
|
return (0, import_lib4.$EVENT)(ctx, state2, "TryStatement", TryStatement$0);
|
|
13820
14205
|
}
|
|
13821
|
-
var CatchClause$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$C)(Nested, _), Catch, (0, import_lib4.$E)(
|
|
14206
|
+
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) {
|
|
14207
|
+
var binding = $3;
|
|
13822
14208
|
var block = $4;
|
|
13823
14209
|
return {
|
|
13824
14210
|
type: "CatchClause",
|
|
13825
14211
|
children: $0,
|
|
13826
|
-
block
|
|
14212
|
+
block,
|
|
14213
|
+
binding
|
|
13827
14214
|
};
|
|
13828
14215
|
});
|
|
13829
14216
|
function CatchClause(ctx, state2) {
|
|
13830
14217
|
return (0, import_lib4.$EVENT)(ctx, state2, "CatchClause", CatchClause$0);
|
|
13831
14218
|
}
|
|
13832
|
-
var
|
|
13833
|
-
|
|
14219
|
+
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) {
|
|
14220
|
+
var ws1 = $1;
|
|
14221
|
+
var open = $2;
|
|
14222
|
+
var ws2 = $3;
|
|
14223
|
+
var parameter = $5;
|
|
14224
|
+
var ws3 = $7;
|
|
14225
|
+
var close = $8;
|
|
14226
|
+
if (!parameter)
|
|
14227
|
+
return $skip;
|
|
14228
|
+
return {
|
|
14229
|
+
type: "CatchBinding",
|
|
14230
|
+
parameter,
|
|
14231
|
+
children: [ws1, open, ws2, parameter, ws3, close]
|
|
14232
|
+
};
|
|
14233
|
+
});
|
|
14234
|
+
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) {
|
|
13834
14235
|
var ws = $1;
|
|
13835
14236
|
var open = $2;
|
|
13836
|
-
var
|
|
14237
|
+
var parameter = $5;
|
|
13837
14238
|
var close = $7;
|
|
13838
|
-
if (!
|
|
14239
|
+
if (!parameter)
|
|
13839
14240
|
return $skip;
|
|
13840
|
-
return
|
|
14241
|
+
return {
|
|
14242
|
+
type: "CatchBinding",
|
|
14243
|
+
parameter,
|
|
14244
|
+
children: [ws, open, parameter, close]
|
|
14245
|
+
};
|
|
13841
14246
|
});
|
|
13842
|
-
var
|
|
13843
|
-
function
|
|
13844
|
-
return (0, import_lib4.$EVENT_C)(ctx, state2, "
|
|
14247
|
+
var CatchBinding$$ = [CatchBinding$0, CatchBinding$1];
|
|
14248
|
+
function CatchBinding(ctx, state2) {
|
|
14249
|
+
return (0, import_lib4.$EVENT_C)(ctx, state2, "CatchBinding", CatchBinding$$);
|
|
13845
14250
|
}
|
|
13846
14251
|
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) {
|
|
13847
14252
|
var block = $3;
|
|
@@ -13854,9 +14259,34 @@ ${js}`
|
|
|
13854
14259
|
function FinallyClause(ctx, state2) {
|
|
13855
14260
|
return (0, import_lib4.$EVENT)(ctx, state2, "FinallyClause", FinallyClause$0);
|
|
13856
14261
|
}
|
|
13857
|
-
var CatchParameter$0 = (0, import_lib4.$S)(BindingIdentifier, (0, import_lib4.$E)(TypeSuffix))
|
|
13858
|
-
|
|
13859
|
-
|
|
14262
|
+
var CatchParameter$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(BindingIdentifier, (0, import_lib4.$E)(TypeSuffix)), function($skip, $loc, $0, $1, $2) {
|
|
14263
|
+
var binding = $1;
|
|
14264
|
+
var typeSuffix = $2;
|
|
14265
|
+
return {
|
|
14266
|
+
type: "CatchParameter",
|
|
14267
|
+
binding,
|
|
14268
|
+
typeSuffix,
|
|
14269
|
+
children: $0
|
|
14270
|
+
};
|
|
14271
|
+
});
|
|
14272
|
+
var CatchParameter$1 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$C)(ObjectBindingPattern, ArrayBindingPattern), TypeSuffix), function($skip, $loc, $0, $1, $2) {
|
|
14273
|
+
var binding = $1;
|
|
14274
|
+
var typeSuffix = $2;
|
|
14275
|
+
return {
|
|
14276
|
+
type: "CatchParameter",
|
|
14277
|
+
binding,
|
|
14278
|
+
typeSuffix,
|
|
14279
|
+
children: [binding, typeSuffix]
|
|
14280
|
+
};
|
|
14281
|
+
});
|
|
14282
|
+
var CatchParameter$2 = (0, import_lib4.$TS)((0, import_lib4.$S)(PatternExpressionList), function($skip, $loc, $0, $1) {
|
|
14283
|
+
return {
|
|
14284
|
+
type: "CatchPattern",
|
|
14285
|
+
children: $0,
|
|
14286
|
+
patterns: $1
|
|
14287
|
+
};
|
|
14288
|
+
});
|
|
14289
|
+
var CatchParameter$$ = [CatchParameter$0, CatchParameter$1, CatchParameter$2];
|
|
13860
14290
|
function CatchParameter(ctx, state2) {
|
|
13861
14291
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "CatchParameter", CatchParameter$$);
|
|
13862
14292
|
}
|
|
@@ -14624,7 +15054,7 @@ ${js}`
|
|
|
14624
15054
|
function UnprocessedModuleSpecifier(ctx, state2) {
|
|
14625
15055
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
|
|
14626
15056
|
}
|
|
14627
|
-
var UnquotedSpecifier$0 = (0, import_lib4.$TV)((0, import_lib4.$EXPECT)($
|
|
15057
|
+
var UnquotedSpecifier$0 = (0, import_lib4.$TV)((0, import_lib4.$EXPECT)($R32, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
|
|
14628
15058
|
var spec = $0;
|
|
14629
15059
|
return { $loc, token: `"${spec}"` };
|
|
14630
15060
|
});
|
|
@@ -14884,7 +15314,7 @@ ${js}`
|
|
|
14884
15314
|
function VariableDeclarationList(ctx, state2) {
|
|
14885
15315
|
return (0, import_lib4.$EVENT)(ctx, state2, "VariableDeclarationList", VariableDeclarationList$0);
|
|
14886
15316
|
}
|
|
14887
|
-
var NumericLiteral$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15317
|
+
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) {
|
|
14888
15318
|
var token = $2;
|
|
14889
15319
|
return { type: "NumericLiteral", $loc, token };
|
|
14890
15320
|
});
|
|
@@ -14900,36 +15330,36 @@ ${js}`
|
|
|
14900
15330
|
function NumericLiteralKind(ctx, state2) {
|
|
14901
15331
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "NumericLiteralKind", NumericLiteralKind$$);
|
|
14902
15332
|
}
|
|
14903
|
-
var DecimalBigIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15333
|
+
var DecimalBigIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R34, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
|
|
14904
15334
|
function DecimalBigIntegerLiteral(ctx, state2) {
|
|
14905
15335
|
return (0, import_lib4.$EVENT)(ctx, state2, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
|
|
14906
15336
|
}
|
|
14907
|
-
var DecimalLiteral$0 = (0, import_lib4.$TV)((0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($
|
|
15337
|
+
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) {
|
|
14908
15338
|
return $1 + ".";
|
|
14909
15339
|
});
|
|
14910
|
-
var DecimalLiteral$1 = (0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
14911
|
-
var DecimalLiteral$2 = (0, import_lib4.$TEXT)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15340
|
+
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)));
|
|
15341
|
+
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)));
|
|
14912
15342
|
var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
|
|
14913
15343
|
function DecimalLiteral(ctx, state2) {
|
|
14914
15344
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "DecimalLiteral", DecimalLiteral$$);
|
|
14915
15345
|
}
|
|
14916
|
-
var ExponentPart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15346
|
+
var ExponentPart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R38, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
|
|
14917
15347
|
function ExponentPart(ctx, state2) {
|
|
14918
15348
|
return (0, import_lib4.$EVENT)(ctx, state2, "ExponentPart", ExponentPart$0);
|
|
14919
15349
|
}
|
|
14920
|
-
var BinaryIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15350
|
+
var BinaryIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R39, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
|
|
14921
15351
|
function BinaryIntegerLiteral(ctx, state2) {
|
|
14922
15352
|
return (0, import_lib4.$EVENT)(ctx, state2, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
|
|
14923
15353
|
}
|
|
14924
|
-
var OctalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15354
|
+
var OctalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R40, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
|
|
14925
15355
|
function OctalIntegerLiteral(ctx, state2) {
|
|
14926
15356
|
return (0, import_lib4.$EVENT)(ctx, state2, "OctalIntegerLiteral", OctalIntegerLiteral$0);
|
|
14927
15357
|
}
|
|
14928
|
-
var HexIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15358
|
+
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?/"));
|
|
14929
15359
|
function HexIntegerLiteral(ctx, state2) {
|
|
14930
15360
|
return (0, import_lib4.$EVENT)(ctx, state2, "HexIntegerLiteral", HexIntegerLiteral$0);
|
|
14931
15361
|
}
|
|
14932
|
-
var IntegerLiteral$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15362
|
+
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) {
|
|
14933
15363
|
var token = $2;
|
|
14934
15364
|
return { $loc, token };
|
|
14935
15365
|
});
|
|
@@ -14945,7 +15375,7 @@ ${js}`
|
|
|
14945
15375
|
function IntegerLiteralKind(ctx, state2) {
|
|
14946
15376
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "IntegerLiteralKind", IntegerLiteralKind$$);
|
|
14947
15377
|
}
|
|
14948
|
-
var DecimalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15378
|
+
var DecimalIntegerLiteral$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R43, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
|
|
14949
15379
|
function DecimalIntegerLiteral(ctx, state2) {
|
|
14950
15380
|
return (0, import_lib4.$EVENT)(ctx, state2, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
|
|
14951
15381
|
}
|
|
@@ -14969,25 +15399,25 @@ ${js}`
|
|
|
14969
15399
|
function StringLiteral(ctx, state2) {
|
|
14970
15400
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "StringLiteral", StringLiteral$$);
|
|
14971
15401
|
}
|
|
14972
|
-
var DoubleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15402
|
+
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) {
|
|
14973
15403
|
return { $loc, token: $0 };
|
|
14974
15404
|
});
|
|
14975
15405
|
function DoubleStringCharacters(ctx, state2) {
|
|
14976
15406
|
return (0, import_lib4.$EVENT)(ctx, state2, "DoubleStringCharacters", DoubleStringCharacters$0);
|
|
14977
15407
|
}
|
|
14978
|
-
var SingleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15408
|
+
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) {
|
|
14979
15409
|
return { $loc, token: $0 };
|
|
14980
15410
|
});
|
|
14981
15411
|
function SingleStringCharacters(ctx, state2) {
|
|
14982
15412
|
return (0, import_lib4.$EVENT)(ctx, state2, "SingleStringCharacters", SingleStringCharacters$0);
|
|
14983
15413
|
}
|
|
14984
|
-
var TripleDoubleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15414
|
+
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) {
|
|
14985
15415
|
return { $loc, token: $0 };
|
|
14986
15416
|
});
|
|
14987
15417
|
function TripleDoubleStringCharacters(ctx, state2) {
|
|
14988
15418
|
return (0, import_lib4.$EVENT)(ctx, state2, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
|
|
14989
15419
|
}
|
|
14990
|
-
var TripleSingleStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15420
|
+
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) {
|
|
14991
15421
|
return { $loc, token: $0 };
|
|
14992
15422
|
});
|
|
14993
15423
|
function TripleSingleStringCharacters(ctx, state2) {
|
|
@@ -15010,7 +15440,7 @@ ${js}`
|
|
|
15010
15440
|
function CoffeeInterpolatedDoubleQuotedString(ctx, state2) {
|
|
15011
15441
|
return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
|
|
15012
15442
|
}
|
|
15013
|
-
var CoffeeDoubleQuotedStringCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15443
|
+
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) {
|
|
15014
15444
|
return { $loc, token: $0 };
|
|
15015
15445
|
});
|
|
15016
15446
|
function CoffeeDoubleQuotedStringCharacters(ctx, state2) {
|
|
@@ -15030,7 +15460,7 @@ ${js}`
|
|
|
15030
15460
|
function RegularExpressionClass(ctx, state2) {
|
|
15031
15461
|
return (0, import_lib4.$EVENT)(ctx, state2, "RegularExpressionClass", RegularExpressionClass$0);
|
|
15032
15462
|
}
|
|
15033
|
-
var RegularExpressionClassCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15463
|
+
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) {
|
|
15034
15464
|
return { $loc, token: $0 };
|
|
15035
15465
|
});
|
|
15036
15466
|
function RegularExpressionClassCharacters(ctx, state2) {
|
|
@@ -15087,7 +15517,7 @@ ${js}`
|
|
|
15087
15517
|
var HeregexPart$2 = (0, import_lib4.$T)((0, import_lib4.$S)(TemplateSubstitution), function(value) {
|
|
15088
15518
|
return { "type": "Substitution", "children": value[0] };
|
|
15089
15519
|
});
|
|
15090
|
-
var HeregexPart$3 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15520
|
+
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) {
|
|
15091
15521
|
let token = $0;
|
|
15092
15522
|
switch ($0[1]) {
|
|
15093
15523
|
case "\n":
|
|
@@ -15105,13 +15535,13 @@ ${js}`
|
|
|
15105
15535
|
var HeregexPart$4 = (0, import_lib4.$TS)((0, import_lib4.$S)(HeregexComment), function($skip, $loc, $0, $1) {
|
|
15106
15536
|
return { $loc, token: "" };
|
|
15107
15537
|
});
|
|
15108
|
-
var HeregexPart$5 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15538
|
+
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) {
|
|
15109
15539
|
return { $loc, token: "" };
|
|
15110
15540
|
});
|
|
15111
|
-
var HeregexPart$6 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15541
|
+
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) {
|
|
15112
15542
|
return { $loc, token: "\\/" };
|
|
15113
15543
|
});
|
|
15114
|
-
var HeregexPart$7 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15544
|
+
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) {
|
|
15115
15545
|
return { $loc, token: $0 };
|
|
15116
15546
|
});
|
|
15117
15547
|
var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
|
|
@@ -15124,7 +15554,7 @@ ${js}`
|
|
|
15124
15554
|
function HeregexComment(ctx, state2) {
|
|
15125
15555
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "HeregexComment", HeregexComment$$);
|
|
15126
15556
|
}
|
|
15127
|
-
var RegularExpressionBody$0 = (0, import_lib4.$S)((0, import_lib4.$N)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15557
|
+
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));
|
|
15128
15558
|
function RegularExpressionBody(ctx, state2) {
|
|
15129
15559
|
return (0, import_lib4.$EVENT)(ctx, state2, "RegularExpressionBody", RegularExpressionBody$0);
|
|
15130
15560
|
}
|
|
@@ -15134,15 +15564,15 @@ ${js}`
|
|
|
15134
15564
|
function RegExpPart(ctx, state2) {
|
|
15135
15565
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "RegExpPart", RegExpPart$$);
|
|
15136
15566
|
}
|
|
15137
|
-
var RegExpCharacter$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15567
|
+
var RegExpCharacter$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R55, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
|
|
15138
15568
|
function RegExpCharacter(ctx, state2) {
|
|
15139
15569
|
return (0, import_lib4.$EVENT)(ctx, state2, "RegExpCharacter", RegExpCharacter$0);
|
|
15140
15570
|
}
|
|
15141
|
-
var RegularExpressionFlags$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15571
|
+
var RegularExpressionFlags$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R56, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
|
|
15142
15572
|
function RegularExpressionFlags(ctx, state2) {
|
|
15143
15573
|
return (0, import_lib4.$EVENT)(ctx, state2, "RegularExpressionFlags", RegularExpressionFlags$0);
|
|
15144
15574
|
}
|
|
15145
|
-
var TemplateLiteral$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15575
|
+
var TemplateLiteral$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R57, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
|
|
15146
15576
|
return value[1];
|
|
15147
15577
|
});
|
|
15148
15578
|
function TemplateLiteral(ctx, state2) {
|
|
@@ -15182,28 +15612,28 @@ ${js}`
|
|
|
15182
15612
|
function TemplateSubstitution(ctx, state2) {
|
|
15183
15613
|
return (0, import_lib4.$EVENT)(ctx, state2, "TemplateSubstitution", TemplateSubstitution$0);
|
|
15184
15614
|
}
|
|
15185
|
-
var TemplateCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15615
|
+
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) {
|
|
15186
15616
|
return { $loc, token: $0 };
|
|
15187
15617
|
});
|
|
15188
15618
|
function TemplateCharacters(ctx, state2) {
|
|
15189
15619
|
return (0, import_lib4.$EVENT)(ctx, state2, "TemplateCharacters", TemplateCharacters$0);
|
|
15190
15620
|
}
|
|
15191
|
-
var TemplateBlockCharacters$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15621
|
+
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) {
|
|
15192
15622
|
return { $loc, token: $0 };
|
|
15193
15623
|
});
|
|
15194
15624
|
function TemplateBlockCharacters(ctx, state2) {
|
|
15195
15625
|
return (0, import_lib4.$EVENT)(ctx, state2, "TemplateBlockCharacters", TemplateBlockCharacters$0);
|
|
15196
15626
|
}
|
|
15197
|
-
var ReservedWord$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15198
|
-
var ReservedWord$1 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15199
|
-
var ReservedWord$2 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15200
|
-
var ReservedWord$3 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15201
|
-
var ReservedWord$4 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15627
|
+
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);
|
|
15628
|
+
var ReservedWord$1 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R61, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
|
|
15629
|
+
var ReservedWord$2 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R62, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
|
|
15630
|
+
var ReservedWord$3 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R63, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
|
|
15631
|
+
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})/"));
|
|
15202
15632
|
var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
|
|
15203
15633
|
function ReservedWord(ctx, state2) {
|
|
15204
15634
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "ReservedWord", ReservedWord$$);
|
|
15205
15635
|
}
|
|
15206
|
-
var Comment$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15636
|
+
var Comment$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R65, "Comment /(?=\\/|#)/"), _Comment), function(value) {
|
|
15207
15637
|
return value[1];
|
|
15208
15638
|
});
|
|
15209
15639
|
function Comment(ctx, state2) {
|
|
@@ -15221,7 +15651,7 @@ ${js}`
|
|
|
15221
15651
|
function SingleLineComment(ctx, state2) {
|
|
15222
15652
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "SingleLineComment", SingleLineComment$$);
|
|
15223
15653
|
}
|
|
15224
|
-
var JSSingleLineComment$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15654
|
+
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) {
|
|
15225
15655
|
return { type: "Comment", $loc, token: $0 };
|
|
15226
15656
|
});
|
|
15227
15657
|
function JSSingleLineComment(ctx, state2) {
|
|
@@ -15233,30 +15663,30 @@ ${js}`
|
|
|
15233
15663
|
function MultiLineComment(ctx, state2) {
|
|
15234
15664
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "MultiLineComment", MultiLineComment$$);
|
|
15235
15665
|
}
|
|
15236
|
-
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)($
|
|
15666
|
+
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) {
|
|
15237
15667
|
return { type: "Comment", $loc, token: $1 };
|
|
15238
15668
|
});
|
|
15239
15669
|
function JSMultiLineComment(ctx, state2) {
|
|
15240
15670
|
return (0, import_lib4.$EVENT)(ctx, state2, "JSMultiLineComment", JSMultiLineComment$0);
|
|
15241
15671
|
}
|
|
15242
|
-
var CoffeeSingleLineComment$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15672
|
+
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) {
|
|
15243
15673
|
return { type: "Comment", $loc, token: `//${$1}` };
|
|
15244
15674
|
});
|
|
15245
15675
|
function CoffeeSingleLineComment(ctx, state2) {
|
|
15246
15676
|
return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
|
|
15247
15677
|
}
|
|
15248
|
-
var CoffeeMultiLineComment$0 = (0, import_lib4.$TS)((0, import_lib4.$S)(CoffeeHereCommentStart, (0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($
|
|
15678
|
+
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) {
|
|
15249
15679
|
$2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
|
|
15250
15680
|
return { type: "Comment", $loc, token: `/*${$2}*/` };
|
|
15251
15681
|
});
|
|
15252
15682
|
function CoffeeMultiLineComment(ctx, state2) {
|
|
15253
15683
|
return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
|
|
15254
15684
|
}
|
|
15255
|
-
var CoffeeHereCommentStart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15685
|
+
var CoffeeHereCommentStart$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R70, "CoffeeHereCommentStart /###(?!#)/"));
|
|
15256
15686
|
function CoffeeHereCommentStart(ctx, state2) {
|
|
15257
15687
|
return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
|
|
15258
15688
|
}
|
|
15259
|
-
var InlineComment$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15689
|
+
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) {
|
|
15260
15690
|
return { $loc, token: $0 };
|
|
15261
15691
|
});
|
|
15262
15692
|
function InlineComment(ctx, state2) {
|
|
@@ -15270,13 +15700,13 @@ ${js}`
|
|
|
15270
15700
|
function TrailingComment(ctx, state2) {
|
|
15271
15701
|
return (0, import_lib4.$EVENT)(ctx, state2, "TrailingComment", TrailingComment$0);
|
|
15272
15702
|
}
|
|
15273
|
-
var _$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15703
|
+
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) {
|
|
15274
15704
|
return value[1];
|
|
15275
15705
|
});
|
|
15276
15706
|
function _(ctx, state2) {
|
|
15277
15707
|
return (0, import_lib4.$EVENT)(ctx, state2, "_", _$0);
|
|
15278
15708
|
}
|
|
15279
|
-
var NonNewlineWhitespace$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15709
|
+
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) {
|
|
15280
15710
|
return { $loc, token: $0 };
|
|
15281
15711
|
});
|
|
15282
15712
|
var NonNewlineWhitespace$1 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($L132, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
|
|
@@ -15293,7 +15723,7 @@ ${js}`
|
|
|
15293
15723
|
function Trimmed_(ctx, state2) {
|
|
15294
15724
|
return (0, import_lib4.$EVENT)(ctx, state2, "Trimmed_", Trimmed_$0);
|
|
15295
15725
|
}
|
|
15296
|
-
var __$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15726
|
+
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) {
|
|
15297
15727
|
return value[1];
|
|
15298
15728
|
});
|
|
15299
15729
|
var __$1 = (0, import_lib4.$EXPECT)($L0, '__ ""');
|
|
@@ -15301,7 +15731,7 @@ ${js}`
|
|
|
15301
15731
|
function __(ctx, state2) {
|
|
15302
15732
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "__", __$$);
|
|
15303
15733
|
}
|
|
15304
|
-
var Whitespace$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
15734
|
+
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) {
|
|
15305
15735
|
return { $loc, token: $0 };
|
|
15306
15736
|
});
|
|
15307
15737
|
function Whitespace(ctx, state2) {
|
|
@@ -15339,7 +15769,7 @@ ${js}`
|
|
|
15339
15769
|
function SemicolonDelimiter(ctx, state2) {
|
|
15340
15770
|
return (0, import_lib4.$EVENT)(ctx, state2, "SemicolonDelimiter", SemicolonDelimiter$0);
|
|
15341
15771
|
}
|
|
15342
|
-
var NonIdContinue$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
15772
|
+
var NonIdContinue$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R74, "NonIdContinue /(?!\\p{ID_Continue})/"));
|
|
15343
15773
|
function NonIdContinue(ctx, state2) {
|
|
15344
15774
|
return (0, import_lib4.$EVENT)(ctx, state2, "NonIdContinue", NonIdContinue$0);
|
|
15345
15775
|
}
|
|
@@ -15457,7 +15887,7 @@ ${js}`
|
|
|
15457
15887
|
function CoffeeSubstitutionStart(ctx, state2) {
|
|
15458
15888
|
return (0, import_lib4.$EVENT)(ctx, state2, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
|
|
15459
15889
|
}
|
|
15460
|
-
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)($
|
|
15890
|
+
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) {
|
|
15461
15891
|
return { $loc, token: $1 };
|
|
15462
15892
|
});
|
|
15463
15893
|
function Colon(ctx, state2) {
|
|
@@ -15508,7 +15938,7 @@ ${js}`
|
|
|
15508
15938
|
var Dot$0 = (0, import_lib4.$TV)((0, import_lib4.$EXPECT)($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
|
|
15509
15939
|
return { $loc, token: $1 };
|
|
15510
15940
|
});
|
|
15511
|
-
var Dot$1 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
15941
|
+
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) {
|
|
15512
15942
|
var ws = $2;
|
|
15513
15943
|
return [
|
|
15514
15944
|
{ $loc, token: "." },
|
|
@@ -15635,7 +16065,7 @@ ${js}`
|
|
|
15635
16065
|
function If(ctx, state2) {
|
|
15636
16066
|
return (0, import_lib4.$EVENT)(ctx, state2, "If", If$0);
|
|
15637
16067
|
}
|
|
15638
|
-
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)($
|
|
16068
|
+
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) {
|
|
15639
16069
|
return { $loc, token: $1 };
|
|
15640
16070
|
});
|
|
15641
16071
|
function Import(ctx, state2) {
|
|
@@ -15993,7 +16423,7 @@ ${js}`
|
|
|
15993
16423
|
function JSXImplicitFragment(ctx, state2) {
|
|
15994
16424
|
return (0, import_lib4.$EVENT)(ctx, state2, "JSXImplicitFragment", JSXImplicitFragment$0);
|
|
15995
16425
|
}
|
|
15996
|
-
var JSXTag$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
16426
|
+
var JSXTag$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($R78, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
|
|
15997
16427
|
return value[1];
|
|
15998
16428
|
});
|
|
15999
16429
|
function JSXTag(ctx, state2) {
|
|
@@ -16140,7 +16570,7 @@ ${js}`
|
|
|
16140
16570
|
function JSXElementName(ctx, state2) {
|
|
16141
16571
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "JSXElementName", JSXElementName$$);
|
|
16142
16572
|
}
|
|
16143
|
-
var JSXIdentifierName$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
16573
|
+
var JSXIdentifierName$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R79, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
|
|
16144
16574
|
function JSXIdentifierName(ctx, state2) {
|
|
16145
16575
|
return (0, import_lib4.$EVENT)(ctx, state2, "JSXIdentifierName", JSXIdentifierName$0);
|
|
16146
16576
|
}
|
|
@@ -16319,7 +16749,7 @@ ${js}`
|
|
|
16319
16749
|
class: $2
|
|
16320
16750
|
};
|
|
16321
16751
|
});
|
|
16322
|
-
var JSXAttribute$7 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$TEXT)((0, import_lib4.$EXPECT)($
|
|
16752
|
+
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) {
|
|
16323
16753
|
var toggle = $1;
|
|
16324
16754
|
var id = $2;
|
|
16325
16755
|
const value = toggle === "+" ? "true" : "false";
|
|
@@ -16329,11 +16759,11 @@ ${js}`
|
|
|
16329
16759
|
function JSXAttribute(ctx, state2) {
|
|
16330
16760
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "JSXAttribute", JSXAttribute$$);
|
|
16331
16761
|
}
|
|
16332
|
-
var JSXAttributeSpace$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
16762
|
+
var JSXAttributeSpace$0 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R81, "JSXAttributeSpace /[\\s>]|\\/>/"));
|
|
16333
16763
|
function JSXAttributeSpace(ctx, state2) {
|
|
16334
16764
|
return (0, import_lib4.$EVENT)(ctx, state2, "JSXAttributeSpace", JSXAttributeSpace$0);
|
|
16335
16765
|
}
|
|
16336
|
-
var JSXShorthandString$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
16766
|
+
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) {
|
|
16337
16767
|
return quoteString($0);
|
|
16338
16768
|
});
|
|
16339
16769
|
var JSXShorthandString$1 = (0, import_lib4.$TS)((0, import_lib4.$S)(TemplateLiteral), function($skip, $loc, $0, $1) {
|
|
@@ -16380,7 +16810,7 @@ ${js}`
|
|
|
16380
16810
|
}
|
|
16381
16811
|
return [open, value, close];
|
|
16382
16812
|
});
|
|
16383
|
-
var JSXAttributeValue$4 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
16813
|
+
var JSXAttributeValue$4 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R83, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
|
|
16384
16814
|
var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
|
|
16385
16815
|
function JSXAttributeValue(ctx, state2) {
|
|
16386
16816
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "JSXAttributeValue", JSXAttributeValue$$);
|
|
@@ -16393,7 +16823,7 @@ ${js}`
|
|
|
16393
16823
|
function InlineJSXAttributeValue(ctx, state2) {
|
|
16394
16824
|
return (0, import_lib4.$EVENT)(ctx, state2, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
|
|
16395
16825
|
}
|
|
16396
|
-
var InlineJSXBinaryOpRHS$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$N)((0, import_lib4.$EXPECT)($
|
|
16826
|
+
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) {
|
|
16397
16827
|
var op = $2;
|
|
16398
16828
|
var rhs = $3;
|
|
16399
16829
|
return [[], op, [], rhs];
|
|
@@ -16410,7 +16840,7 @@ ${js}`
|
|
|
16410
16840
|
function InlineJSXUnaryExpression(ctx, state2) {
|
|
16411
16841
|
return (0, import_lib4.$EVENT)(ctx, state2, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
|
|
16412
16842
|
}
|
|
16413
|
-
var InlineJSXUnaryOp$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
16843
|
+
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) {
|
|
16414
16844
|
return { $loc, token: $0 };
|
|
16415
16845
|
});
|
|
16416
16846
|
function InlineJSXUnaryOp(ctx, state2) {
|
|
@@ -16661,13 +17091,13 @@ ${js}`
|
|
|
16661
17091
|
function JSXComment(ctx, state2) {
|
|
16662
17092
|
return (0, import_lib4.$EVENT)(ctx, state2, "JSXComment", JSXComment$0);
|
|
16663
17093
|
}
|
|
16664
|
-
var JSXCommentContent$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
17094
|
+
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) {
|
|
16665
17095
|
return { $loc, token: $0.replace(/\*\//g, "* /") };
|
|
16666
17096
|
});
|
|
16667
17097
|
function JSXCommentContent(ctx, state2) {
|
|
16668
17098
|
return (0, import_lib4.$EVENT)(ctx, state2, "JSXCommentContent", JSXCommentContent$0);
|
|
16669
17099
|
}
|
|
16670
|
-
var JSXText$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
17100
|
+
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) {
|
|
16671
17101
|
return {
|
|
16672
17102
|
type: "JSXText",
|
|
16673
17103
|
token: $0,
|
|
@@ -17201,7 +17631,7 @@ ${js}`
|
|
|
17201
17631
|
function TypeProperty(ctx, state2) {
|
|
17202
17632
|
return (0, import_lib4.$EVENT)(ctx, state2, "TypeProperty", TypeProperty$0);
|
|
17203
17633
|
}
|
|
17204
|
-
var TypeIndexSignature$0 = (0, import_lib4.$S)((0, import_lib4.$E)((0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
17634
|
+
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)))));
|
|
17205
17635
|
function TypeIndexSignature(ctx, state2) {
|
|
17206
17636
|
return (0, import_lib4.$EVENT)(ctx, state2, "TypeIndexSignature", TypeIndexSignature$0);
|
|
17207
17637
|
}
|
|
@@ -17262,6 +17692,19 @@ ${js}`
|
|
|
17262
17692
|
function MaybeNestedTypePrimary(ctx, state2) {
|
|
17263
17693
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "MaybeNestedTypePrimary", MaybeNestedTypePrimary$$);
|
|
17264
17694
|
}
|
|
17695
|
+
var MaybeNestedTypeUnary$0 = NestedTypeBulletedTuple;
|
|
17696
|
+
var MaybeNestedTypeUnary$1 = NestedInterfaceBlock;
|
|
17697
|
+
var MaybeNestedTypeUnary$2 = NestedTypeBinaryChain;
|
|
17698
|
+
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) {
|
|
17699
|
+
if (!$2)
|
|
17700
|
+
return $skip;
|
|
17701
|
+
return $2;
|
|
17702
|
+
});
|
|
17703
|
+
var MaybeNestedTypeUnary$4 = (0, import_lib4.$S)(NotDedented, TypeUnary);
|
|
17704
|
+
var MaybeNestedTypeUnary$$ = [MaybeNestedTypeUnary$0, MaybeNestedTypeUnary$1, MaybeNestedTypeUnary$2, MaybeNestedTypeUnary$3, MaybeNestedTypeUnary$4];
|
|
17705
|
+
function MaybeNestedTypeUnary(ctx, state2) {
|
|
17706
|
+
return (0, import_lib4.$EVENT_C)(ctx, state2, "MaybeNestedTypeUnary", MaybeNestedTypeUnary$$);
|
|
17707
|
+
}
|
|
17265
17708
|
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) {
|
|
17266
17709
|
var optional = $2;
|
|
17267
17710
|
var t = $5;
|
|
@@ -17316,7 +17759,7 @@ ${js}`
|
|
|
17316
17759
|
function Type(ctx, state2) {
|
|
17317
17760
|
return (0, import_lib4.$EVENT)(ctx, state2, "Type", Type$0);
|
|
17318
17761
|
}
|
|
17319
|
-
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,
|
|
17762
|
+
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) {
|
|
17320
17763
|
var optionalPrefix = $1;
|
|
17321
17764
|
var t = $2;
|
|
17322
17765
|
var ops = $3;
|
|
@@ -17683,7 +18126,7 @@ ${js}`
|
|
|
17683
18126
|
function TypeWithPostfix(ctx, state2) {
|
|
17684
18127
|
return (0, import_lib4.$EVENT)(ctx, state2, "TypeWithPostfix", TypeWithPostfix$0);
|
|
17685
18128
|
}
|
|
17686
|
-
var TypeConditional$0 = (0, import_lib4.$TS)((0, import_lib4.$S)((0, import_lib4.$E)(_), (0, import_lib4.$EXPECT)($
|
|
18129
|
+
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) {
|
|
17687
18130
|
return prepend($1, expressionizeTypeIf($3));
|
|
17688
18131
|
});
|
|
17689
18132
|
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) {
|
|
@@ -17885,8 +18328,8 @@ ${js}`
|
|
|
17885
18328
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "TypeApplicationStart", TypeApplicationStart$$);
|
|
17886
18329
|
}
|
|
17887
18330
|
var ForbiddenImplicitTypeCalls$0 = ReservedBinary;
|
|
17888
|
-
var ForbiddenImplicitTypeCalls$1 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
17889
|
-
var ForbiddenImplicitTypeCalls$2 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
18331
|
+
var ForbiddenImplicitTypeCalls$1 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R90, "ForbiddenImplicitTypeCalls /[|&<!=\\-\u21D2\u2192]/"));
|
|
18332
|
+
var ForbiddenImplicitTypeCalls$2 = (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R91, "ForbiddenImplicitTypeCalls /(extends|not|is)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
|
|
17890
18333
|
var ForbiddenImplicitTypeCalls$$ = [ForbiddenImplicitTypeCalls$0, ForbiddenImplicitTypeCalls$1, ForbiddenImplicitTypeCalls$2];
|
|
17891
18334
|
function ForbiddenImplicitTypeCalls(ctx, state2) {
|
|
17892
18335
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "ForbiddenImplicitTypeCalls", ForbiddenImplicitTypeCalls$$);
|
|
@@ -17969,7 +18412,7 @@ ${js}`
|
|
|
17969
18412
|
function TypeParameters(ctx, state2) {
|
|
17970
18413
|
return (0, import_lib4.$EVENT)(ctx, state2, "TypeParameters", TypeParameters$0);
|
|
17971
18414
|
}
|
|
17972
|
-
var TypeParameter$0 = (0, import_lib4.$S)(__, (0, import_lib4.$Q)((0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
18415
|
+
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);
|
|
17973
18416
|
function TypeParameter(ctx, state2) {
|
|
17974
18417
|
return (0, import_lib4.$EVENT)(ctx, state2, "TypeParameter", TypeParameter$0);
|
|
17975
18418
|
}
|
|
@@ -17996,15 +18439,15 @@ ${js}`
|
|
|
17996
18439
|
function ThisType(ctx, state2) {
|
|
17997
18440
|
return (0, import_lib4.$EVENT)(ctx, state2, "ThisType", ThisType$0);
|
|
17998
18441
|
}
|
|
17999
|
-
var Shebang$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
18442
|
+
var Shebang$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R93, "Shebang /#![^\\r\\n]*/")), EOL);
|
|
18000
18443
|
function Shebang(ctx, state2) {
|
|
18001
18444
|
return (0, import_lib4.$EVENT)(ctx, state2, "Shebang", Shebang$0);
|
|
18002
18445
|
}
|
|
18003
|
-
var CivetPrologue$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
18446
|
+
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) {
|
|
18004
18447
|
var content = value[2];
|
|
18005
18448
|
return content;
|
|
18006
18449
|
});
|
|
18007
|
-
var CivetPrologue$1 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
18450
|
+
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) {
|
|
18008
18451
|
var content = value[2];
|
|
18009
18452
|
return content;
|
|
18010
18453
|
});
|
|
@@ -18012,7 +18455,7 @@ ${js}`
|
|
|
18012
18455
|
function CivetPrologue(ctx, state2) {
|
|
18013
18456
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "CivetPrologue", CivetPrologue$$);
|
|
18014
18457
|
}
|
|
18015
|
-
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)($
|
|
18458
|
+
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) {
|
|
18016
18459
|
var options = $3;
|
|
18017
18460
|
return {
|
|
18018
18461
|
type: "CivetPrologue",
|
|
@@ -18023,7 +18466,7 @@ ${js}`
|
|
|
18023
18466
|
function CivetPrologueContent(ctx, state2) {
|
|
18024
18467
|
return (0, import_lib4.$EVENT)(ctx, state2, "CivetPrologueContent", CivetPrologueContent$0);
|
|
18025
18468
|
}
|
|
18026
|
-
var CivetOption$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
18469
|
+
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) {
|
|
18027
18470
|
const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
|
|
18028
18471
|
if (l)
|
|
18029
18472
|
return l.toUpperCase();
|
|
@@ -18045,11 +18488,11 @@ ${js}`
|
|
|
18045
18488
|
function CivetOption(ctx, state2) {
|
|
18046
18489
|
return (0, import_lib4.$EVENT)(ctx, state2, "CivetOption", CivetOption$0);
|
|
18047
18490
|
}
|
|
18048
|
-
var UnknownPrologue$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
18491
|
+
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);
|
|
18049
18492
|
function UnknownPrologue(ctx, state2) {
|
|
18050
18493
|
return (0, import_lib4.$EVENT)(ctx, state2, "UnknownPrologue", UnknownPrologue$0);
|
|
18051
18494
|
}
|
|
18052
|
-
var TripleSlashDirective$0 = (0, import_lib4.$S)((0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
18495
|
+
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));
|
|
18053
18496
|
function TripleSlashDirective(ctx, state2) {
|
|
18054
18497
|
return (0, import_lib4.$EVENT)(ctx, state2, "TripleSlashDirective", TripleSlashDirective$0);
|
|
18055
18498
|
}
|
|
@@ -18065,13 +18508,13 @@ ${js}`
|
|
|
18065
18508
|
function PrologueString(ctx, state2) {
|
|
18066
18509
|
return (0, import_lib4.$EVENT_C)(ctx, state2, "PrologueString", PrologueString$$);
|
|
18067
18510
|
}
|
|
18068
|
-
var EOS$0 = (0, import_lib4.$T)((0, import_lib4.$S)((0, import_lib4.$EXPECT)($
|
|
18511
|
+
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) {
|
|
18069
18512
|
return value[1];
|
|
18070
18513
|
});
|
|
18071
18514
|
function EOS(ctx, state2) {
|
|
18072
18515
|
return (0, import_lib4.$EVENT)(ctx, state2, "EOS", EOS$0);
|
|
18073
18516
|
}
|
|
18074
|
-
var EOL$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
18517
|
+
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) {
|
|
18075
18518
|
return { $loc, token: $0 };
|
|
18076
18519
|
});
|
|
18077
18520
|
function EOL(ctx, state2) {
|
|
@@ -18480,11 +18923,11 @@ ${js}`
|
|
|
18480
18923
|
function Prologue(ctx, state2) {
|
|
18481
18924
|
return (0, import_lib4.$EVENT)(ctx, state2, "Prologue", Prologue$0);
|
|
18482
18925
|
}
|
|
18483
|
-
var ProloguePrefix$0 = (0, import_lib4.$S)(Prologue, (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($
|
|
18926
|
+
var ProloguePrefix$0 = (0, import_lib4.$S)(Prologue, (0, import_lib4.$R$0)((0, import_lib4.$EXPECT)($R100, "ProloguePrefix /[^]*/")));
|
|
18484
18927
|
function ProloguePrefix(ctx, state2) {
|
|
18485
18928
|
return (0, import_lib4.$EVENT)(ctx, state2, "ProloguePrefix", ProloguePrefix$0);
|
|
18486
18929
|
}
|
|
18487
|
-
var Indent$0 = (0, import_lib4.$TR)((0, import_lib4.$EXPECT)($
|
|
18930
|
+
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) {
|
|
18488
18931
|
const level = getIndentLevel($0, config.tab);
|
|
18489
18932
|
return {
|
|
18490
18933
|
$loc,
|