@danielx/civet 0.4.38 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -61
- package/dist/browser.js +423 -103
- package/dist/main.js +423 -103
- package/package.json +1 -1
package/dist/browser.js
CHANGED
|
@@ -479,6 +479,7 @@ ${input.slice(result.pos)}
|
|
|
479
479
|
ExpressionizedStatement,
|
|
480
480
|
Expression,
|
|
481
481
|
Arguments,
|
|
482
|
+
ExplicitArguments,
|
|
482
483
|
ApplicationStart,
|
|
483
484
|
IndentedApplicationAllowed,
|
|
484
485
|
ArgumentsWithTrailingCallExpressions,
|
|
@@ -844,6 +845,16 @@ ${input.slice(result.pos)}
|
|
|
844
845
|
JSXAttributeInitializer,
|
|
845
846
|
JSXAttributeValue,
|
|
846
847
|
InlineJSXAttributeValue,
|
|
848
|
+
InlineJSXBinaryOpRHS,
|
|
849
|
+
InlineJSXUnaryExpression,
|
|
850
|
+
InlineJSXUnaryOp,
|
|
851
|
+
InlineJSXUnaryPostfix,
|
|
852
|
+
InlineJSXUpdateExpression,
|
|
853
|
+
InlineJSXCallExpression,
|
|
854
|
+
InlineJSXCallExpressionRest,
|
|
855
|
+
InlineJSXMemberExpression,
|
|
856
|
+
InlineJSXMemberExpressionRest,
|
|
857
|
+
InlineJSXPrimaryExpression,
|
|
847
858
|
JSXMixedChildren,
|
|
848
859
|
JSXChildren,
|
|
849
860
|
JSXNestedChildren,
|
|
@@ -1140,16 +1151,14 @@ ${input.slice(result.pos)}
|
|
|
1140
1151
|
var $R43 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
|
|
1141
1152
|
var $R44 = $R(new RegExp("\\s", "suy"));
|
|
1142
1153
|
var $R45 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
|
|
1143
|
-
var $R46 = $R(new RegExp(
|
|
1144
|
-
var $R47 = $R(new RegExp("
|
|
1145
|
-
var $R48 = $R(new RegExp("[
|
|
1146
|
-
var $R49 = $R(new RegExp("[
|
|
1147
|
-
var $R50 = $R(new RegExp("
|
|
1148
|
-
var $R51 = $R(new RegExp("[\\
|
|
1149
|
-
var $R52 = $R(new RegExp("
|
|
1150
|
-
var $R53 = $R(new RegExp("
|
|
1151
|
-
var $R54 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
|
|
1152
|
-
var $R55 = $R(new RegExp("[ \\t]*", "suy"));
|
|
1154
|
+
var $R46 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
|
|
1155
|
+
var $R47 = $R(new RegExp("[+-]?", "suy"));
|
|
1156
|
+
var $R48 = $R(new RegExp("#![^\\r\\n]*", "suy"));
|
|
1157
|
+
var $R49 = $R(new RegExp("[\\t ]*", "suy"));
|
|
1158
|
+
var $R50 = $R(new RegExp("[\\s]*", "suy"));
|
|
1159
|
+
var $R51 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
|
|
1160
|
+
var $R52 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
|
|
1161
|
+
var $R53 = $R(new RegExp("[ \\t]*", "suy"));
|
|
1153
1162
|
var Program$0 = $TS($S(Reset, Init, __, $Q(TopLevelStatement), __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
|
|
1154
1163
|
var statements = $4;
|
|
1155
1164
|
module.processProgram(statements);
|
|
@@ -1270,7 +1279,7 @@ ${input.slice(result.pos)}
|
|
|
1270
1279
|
return result;
|
|
1271
1280
|
}
|
|
1272
1281
|
}
|
|
1273
|
-
var Arguments$0 =
|
|
1282
|
+
var Arguments$0 = ExplicitArguments;
|
|
1274
1283
|
var Arguments$1 = $TS($S(ApplicationStart, InsertOpenParen, $Q(_), ArgumentList, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
|
|
1275
1284
|
var open = $2;
|
|
1276
1285
|
var ws = $3;
|
|
@@ -1296,6 +1305,25 @@ ${input.slice(result.pos)}
|
|
|
1296
1305
|
return result;
|
|
1297
1306
|
}
|
|
1298
1307
|
}
|
|
1308
|
+
var ExplicitArguments$0 = $S(OpenParen, $E(ArgumentList), $E($S(__, Comma)), __, CloseParen);
|
|
1309
|
+
function ExplicitArguments(state) {
|
|
1310
|
+
if (state.events) {
|
|
1311
|
+
const result = state.events.enter?.("ExplicitArguments", state);
|
|
1312
|
+
if (result)
|
|
1313
|
+
return result.cache;
|
|
1314
|
+
}
|
|
1315
|
+
if (state.tokenize) {
|
|
1316
|
+
const result = $TOKEN("ExplicitArguments", state, ExplicitArguments$0(state));
|
|
1317
|
+
if (state.events)
|
|
1318
|
+
state.events.exit?.("ExplicitArguments", state, result);
|
|
1319
|
+
return result;
|
|
1320
|
+
} else {
|
|
1321
|
+
const result = ExplicitArguments$0(state);
|
|
1322
|
+
if (state.events)
|
|
1323
|
+
state.events.exit?.("ExplicitArguments", state, result);
|
|
1324
|
+
return result;
|
|
1325
|
+
}
|
|
1326
|
+
}
|
|
1299
1327
|
var ApplicationStart$0 = $S(IndentedApplicationAllowed, $Y(NestedImplicitObjectLiteral));
|
|
1300
1328
|
var ApplicationStart$1 = $S($N(EOS), $Y($S($P(_), $N(AdditionalReservedWords))));
|
|
1301
1329
|
function ApplicationStart(state) {
|
|
@@ -1488,9 +1516,8 @@ ${input.slice(result.pos)}
|
|
|
1488
1516
|
}
|
|
1489
1517
|
}
|
|
1490
1518
|
var BinaryOpExpression$0 = $TS($S(UnaryExpression, $Q(BinaryOpRHS)), function($skip, $loc, $0, $1, $2) {
|
|
1491
|
-
if ($2.length)
|
|
1519
|
+
if ($2.length)
|
|
1492
1520
|
return module.processBinaryOpExpression($0);
|
|
1493
|
-
}
|
|
1494
1521
|
return $1;
|
|
1495
1522
|
});
|
|
1496
1523
|
function BinaryOpExpression(state) {
|
|
@@ -1553,53 +1580,7 @@ ${input.slice(result.pos)}
|
|
|
1553
1580
|
var pre = $1;
|
|
1554
1581
|
var exp = $2;
|
|
1555
1582
|
var post = $3;
|
|
1556
|
-
|
|
1557
|
-
post = {
|
|
1558
|
-
$loc: post.$loc,
|
|
1559
|
-
token: " != null"
|
|
1560
|
-
};
|
|
1561
|
-
switch (exp.type) {
|
|
1562
|
-
case "Identifier":
|
|
1563
|
-
case "Literal":
|
|
1564
|
-
return {
|
|
1565
|
-
...exp,
|
|
1566
|
-
children: [...pre, ...exp.children, post]
|
|
1567
|
-
};
|
|
1568
|
-
default:
|
|
1569
|
-
return {
|
|
1570
|
-
type: "ParenthesizedExpression",
|
|
1571
|
-
children: ["(", ...pre, "(", exp, ")", post, ")"]
|
|
1572
|
-
};
|
|
1573
|
-
}
|
|
1574
|
-
}
|
|
1575
|
-
if (exp.type === "Literal") {
|
|
1576
|
-
if (pre.length === 1 && pre[0].token === "-") {
|
|
1577
|
-
const children = [pre[0], ...exp.children];
|
|
1578
|
-
if (post)
|
|
1579
|
-
exp.children.push(post);
|
|
1580
|
-
return {
|
|
1581
|
-
type: "Literal",
|
|
1582
|
-
children,
|
|
1583
|
-
raw: `-${exp.raw}`
|
|
1584
|
-
};
|
|
1585
|
-
}
|
|
1586
|
-
}
|
|
1587
|
-
if (exp.children) {
|
|
1588
|
-
const children = [...pre, ...exp.children];
|
|
1589
|
-
if (post)
|
|
1590
|
-
children.push(post);
|
|
1591
|
-
return Object.assign({}, exp, { children });
|
|
1592
|
-
} else if (Array.isArray(exp)) {
|
|
1593
|
-
const children = [...pre, ...exp];
|
|
1594
|
-
if (post)
|
|
1595
|
-
children.push(post);
|
|
1596
|
-
return { children };
|
|
1597
|
-
} else {
|
|
1598
|
-
const children = [...pre, exp];
|
|
1599
|
-
if (post)
|
|
1600
|
-
children.push(post);
|
|
1601
|
-
return { children };
|
|
1602
|
-
}
|
|
1583
|
+
return module.processUnaryExpression(pre, exp, post);
|
|
1603
1584
|
});
|
|
1604
1585
|
var UnaryExpression$1 = $TS($S(CoffeeDoEnabled, Do, __, $C($S(LeftHandSideExpression, $N($S(__, AssignmentOpSymbol))), ArrowFunction, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
1605
1586
|
var ws = $3;
|
|
@@ -2083,7 +2064,7 @@ ${input.slice(result.pos)}
|
|
|
2083
2064
|
return result;
|
|
2084
2065
|
}
|
|
2085
2066
|
}
|
|
2086
|
-
var ClassExpression$0 = $S($E(Decorators), Class, $E($S(BindingIdentifier, $E(
|
|
2067
|
+
var ClassExpression$0 = $S($E(Decorators), Class, $E($S(BindingIdentifier, $E(TypeParameters))), $E(ClassHeritage), ClassBody);
|
|
2087
2068
|
function ClassExpression(state) {
|
|
2088
2069
|
if (state.events) {
|
|
2089
2070
|
const result = state.events.enter?.("ClassExpression", state);
|
|
@@ -8316,10 +8297,9 @@ ${input.slice(result.pos)}
|
|
|
8316
8297
|
var s = $2;
|
|
8317
8298
|
var parts = $3;
|
|
8318
8299
|
var e = $4;
|
|
8319
|
-
|
|
8320
|
-
if (noInterpolations) {
|
|
8300
|
+
if (parts.length === 0 || parts.length === 1 && parts[0].token != null) {
|
|
8321
8301
|
return {
|
|
8322
|
-
token: `"${module.modifyString(parts[0].token)}"
|
|
8302
|
+
token: parts.length ? `"${module.modifyString(parts[0].token)}"` : '""',
|
|
8323
8303
|
$loc
|
|
8324
8304
|
};
|
|
8325
8305
|
}
|
|
@@ -10843,12 +10823,15 @@ ${input.slice(result.pos)}
|
|
|
10843
10823
|
return result;
|
|
10844
10824
|
}
|
|
10845
10825
|
}
|
|
10846
|
-
var JSXAttributeValue$0 = $
|
|
10847
|
-
|
|
10848
|
-
|
|
10849
|
-
|
|
10850
|
-
|
|
10851
|
-
var JSXAttributeValue$
|
|
10826
|
+
var JSXAttributeValue$0 = $TS($S(StringLiteral), function($skip, $loc, $0, $1) {
|
|
10827
|
+
if (module.isTemplateLiteral($1))
|
|
10828
|
+
return $skip;
|
|
10829
|
+
return $1;
|
|
10830
|
+
});
|
|
10831
|
+
var JSXAttributeValue$1 = $S(OpenBrace, ExtendedExpression, __, CloseBrace);
|
|
10832
|
+
var JSXAttributeValue$2 = JSXElement;
|
|
10833
|
+
var JSXAttributeValue$3 = JSXFragment;
|
|
10834
|
+
var JSXAttributeValue$4 = $S(InsertInlineOpenBrace, InlineJSXAttributeValue, InsertCloseBrace);
|
|
10852
10835
|
function JSXAttributeValue(state) {
|
|
10853
10836
|
if (state.events) {
|
|
10854
10837
|
const result = state.events.enter?.("JSXAttributeValue", state);
|
|
@@ -10856,27 +10839,22 @@ ${input.slice(result.pos)}
|
|
|
10856
10839
|
return result.cache;
|
|
10857
10840
|
}
|
|
10858
10841
|
if (state.tokenize) {
|
|
10859
|
-
const result = $TOKEN("JSXAttributeValue", state, JSXAttributeValue$0(state) || JSXAttributeValue$1(state) || JSXAttributeValue$2(state) || JSXAttributeValue$3(state) || JSXAttributeValue$4(state)
|
|
10842
|
+
const result = $TOKEN("JSXAttributeValue", state, JSXAttributeValue$0(state) || JSXAttributeValue$1(state) || JSXAttributeValue$2(state) || JSXAttributeValue$3(state) || JSXAttributeValue$4(state));
|
|
10860
10843
|
if (state.events)
|
|
10861
10844
|
state.events.exit?.("JSXAttributeValue", state, result);
|
|
10862
10845
|
return result;
|
|
10863
10846
|
} else {
|
|
10864
|
-
const result = JSXAttributeValue$0(state) || JSXAttributeValue$1(state) || JSXAttributeValue$2(state) || JSXAttributeValue$3(state) || JSXAttributeValue$4(state)
|
|
10847
|
+
const result = JSXAttributeValue$0(state) || JSXAttributeValue$1(state) || JSXAttributeValue$2(state) || JSXAttributeValue$3(state) || JSXAttributeValue$4(state);
|
|
10865
10848
|
if (state.events)
|
|
10866
10849
|
state.events.exit?.("JSXAttributeValue", state, result);
|
|
10867
10850
|
return result;
|
|
10868
10851
|
}
|
|
10869
10852
|
}
|
|
10870
|
-
var InlineJSXAttributeValue$0 =
|
|
10871
|
-
|
|
10872
|
-
|
|
10873
|
-
|
|
10874
|
-
|
|
10875
|
-
var InlineJSXAttributeValue$5 = BracedObjectLiteral;
|
|
10876
|
-
var InlineJSXAttributeValue$6 = IdentifierReference;
|
|
10877
|
-
var InlineJSXAttributeValue$7 = RegularExpressionLiteral;
|
|
10878
|
-
var InlineJSXAttributeValue$8 = TemplateLiteral;
|
|
10879
|
-
var InlineJSXAttributeValue$9 = ParenthesizedExpression;
|
|
10853
|
+
var InlineJSXAttributeValue$0 = $TS($S(InlineJSXUnaryExpression, $Q(InlineJSXBinaryOpRHS)), function($skip, $loc, $0, $1, $2) {
|
|
10854
|
+
if ($2.length)
|
|
10855
|
+
return module.processBinaryOpExpression($0);
|
|
10856
|
+
return $1;
|
|
10857
|
+
});
|
|
10880
10858
|
function InlineJSXAttributeValue(state) {
|
|
10881
10859
|
if (state.events) {
|
|
10882
10860
|
const result = state.events.enter?.("InlineJSXAttributeValue", state);
|
|
@@ -10884,17 +10862,255 @@ ${input.slice(result.pos)}
|
|
|
10884
10862
|
return result.cache;
|
|
10885
10863
|
}
|
|
10886
10864
|
if (state.tokenize) {
|
|
10887
|
-
const result = $TOKEN("InlineJSXAttributeValue", state, InlineJSXAttributeValue$0(state)
|
|
10865
|
+
const result = $TOKEN("InlineJSXAttributeValue", state, InlineJSXAttributeValue$0(state));
|
|
10888
10866
|
if (state.events)
|
|
10889
10867
|
state.events.exit?.("InlineJSXAttributeValue", state, result);
|
|
10890
10868
|
return result;
|
|
10891
10869
|
} else {
|
|
10892
|
-
const result = InlineJSXAttributeValue$0(state)
|
|
10870
|
+
const result = InlineJSXAttributeValue$0(state);
|
|
10893
10871
|
if (state.events)
|
|
10894
10872
|
state.events.exit?.("InlineJSXAttributeValue", state, result);
|
|
10895
10873
|
return result;
|
|
10896
10874
|
}
|
|
10897
10875
|
}
|
|
10876
|
+
var InlineJSXBinaryOpRHS$0 = $TS($S(BinaryOp, $C(ParenthesizedAssignment, InlineJSXUnaryExpression)), function($skip, $loc, $0, $1, $2) {
|
|
10877
|
+
return [[], $1, [], $2];
|
|
10878
|
+
});
|
|
10879
|
+
function InlineJSXBinaryOpRHS(state) {
|
|
10880
|
+
if (state.events) {
|
|
10881
|
+
const result = state.events.enter?.("InlineJSXBinaryOpRHS", state);
|
|
10882
|
+
if (result)
|
|
10883
|
+
return result.cache;
|
|
10884
|
+
}
|
|
10885
|
+
if (state.tokenize) {
|
|
10886
|
+
const result = $TOKEN("InlineJSXBinaryOpRHS", state, InlineJSXBinaryOpRHS$0(state));
|
|
10887
|
+
if (state.events)
|
|
10888
|
+
state.events.exit?.("InlineJSXBinaryOpRHS", state, result);
|
|
10889
|
+
return result;
|
|
10890
|
+
} else {
|
|
10891
|
+
const result = InlineJSXBinaryOpRHS$0(state);
|
|
10892
|
+
if (state.events)
|
|
10893
|
+
state.events.exit?.("InlineJSXBinaryOpRHS", state, result);
|
|
10894
|
+
return result;
|
|
10895
|
+
}
|
|
10896
|
+
}
|
|
10897
|
+
var InlineJSXUnaryExpression$0 = $TS($S($Q(InlineJSXUnaryOp), InlineJSXUpdateExpression, $E(InlineJSXUnaryPostfix)), function($skip, $loc, $0, $1, $2, $3) {
|
|
10898
|
+
var pre = $1;
|
|
10899
|
+
var exp = $2;
|
|
10900
|
+
var post = $3;
|
|
10901
|
+
return module.processUnaryExpression(pre, exp, post);
|
|
10902
|
+
});
|
|
10903
|
+
function InlineJSXUnaryExpression(state) {
|
|
10904
|
+
if (state.events) {
|
|
10905
|
+
const result = state.events.enter?.("InlineJSXUnaryExpression", state);
|
|
10906
|
+
if (result)
|
|
10907
|
+
return result.cache;
|
|
10908
|
+
}
|
|
10909
|
+
if (state.tokenize) {
|
|
10910
|
+
const result = $TOKEN("InlineJSXUnaryExpression", state, InlineJSXUnaryExpression$0(state));
|
|
10911
|
+
if (state.events)
|
|
10912
|
+
state.events.exit?.("InlineJSXUnaryExpression", state, result);
|
|
10913
|
+
return result;
|
|
10914
|
+
} else {
|
|
10915
|
+
const result = InlineJSXUnaryExpression$0(state);
|
|
10916
|
+
if (state.events)
|
|
10917
|
+
state.events.exit?.("InlineJSXUnaryExpression", state, result);
|
|
10918
|
+
return result;
|
|
10919
|
+
}
|
|
10920
|
+
}
|
|
10921
|
+
var InlineJSXUnaryOp$0 = $TR($EXPECT($R6, fail, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
10922
|
+
return { $loc, token: $0 };
|
|
10923
|
+
});
|
|
10924
|
+
function InlineJSXUnaryOp(state) {
|
|
10925
|
+
if (state.events) {
|
|
10926
|
+
const result = state.events.enter?.("InlineJSXUnaryOp", state);
|
|
10927
|
+
if (result)
|
|
10928
|
+
return result.cache;
|
|
10929
|
+
}
|
|
10930
|
+
if (state.tokenize) {
|
|
10931
|
+
const result = $TOKEN("InlineJSXUnaryOp", state, InlineJSXUnaryOp$0(state));
|
|
10932
|
+
if (state.events)
|
|
10933
|
+
state.events.exit?.("InlineJSXUnaryOp", state, result);
|
|
10934
|
+
return result;
|
|
10935
|
+
} else {
|
|
10936
|
+
const result = InlineJSXUnaryOp$0(state);
|
|
10937
|
+
if (state.events)
|
|
10938
|
+
state.events.exit?.("InlineJSXUnaryOp", state, result);
|
|
10939
|
+
return result;
|
|
10940
|
+
}
|
|
10941
|
+
}
|
|
10942
|
+
var InlineJSXUnaryPostfix$0 = QuestionMark;
|
|
10943
|
+
function InlineJSXUnaryPostfix(state) {
|
|
10944
|
+
if (state.events) {
|
|
10945
|
+
const result = state.events.enter?.("InlineJSXUnaryPostfix", state);
|
|
10946
|
+
if (result)
|
|
10947
|
+
return result.cache;
|
|
10948
|
+
}
|
|
10949
|
+
if (state.tokenize) {
|
|
10950
|
+
const result = $TOKEN("InlineJSXUnaryPostfix", state, InlineJSXUnaryPostfix$0(state));
|
|
10951
|
+
if (state.events)
|
|
10952
|
+
state.events.exit?.("InlineJSXUnaryPostfix", state, result);
|
|
10953
|
+
return result;
|
|
10954
|
+
} else {
|
|
10955
|
+
const result = InlineJSXUnaryPostfix$0(state);
|
|
10956
|
+
if (state.events)
|
|
10957
|
+
state.events.exit?.("InlineJSXUnaryPostfix", state, result);
|
|
10958
|
+
return result;
|
|
10959
|
+
}
|
|
10960
|
+
}
|
|
10961
|
+
var InlineJSXUpdateExpression$0 = $S(UpdateExpressionSymbol, UnaryExpression);
|
|
10962
|
+
var InlineJSXUpdateExpression$1 = $TS($S(InlineJSXCallExpression, $E(UpdateExpressionSymbol)), function($skip, $loc, $0, $1, $2) {
|
|
10963
|
+
if ($2)
|
|
10964
|
+
return $0;
|
|
10965
|
+
return $1;
|
|
10966
|
+
});
|
|
10967
|
+
function InlineJSXUpdateExpression(state) {
|
|
10968
|
+
if (state.events) {
|
|
10969
|
+
const result = state.events.enter?.("InlineJSXUpdateExpression", state);
|
|
10970
|
+
if (result)
|
|
10971
|
+
return result.cache;
|
|
10972
|
+
}
|
|
10973
|
+
if (state.tokenize) {
|
|
10974
|
+
const result = $TOKEN("InlineJSXUpdateExpression", state, InlineJSXUpdateExpression$0(state) || InlineJSXUpdateExpression$1(state));
|
|
10975
|
+
if (state.events)
|
|
10976
|
+
state.events.exit?.("InlineJSXUpdateExpression", state, result);
|
|
10977
|
+
return result;
|
|
10978
|
+
} else {
|
|
10979
|
+
const result = InlineJSXUpdateExpression$0(state) || InlineJSXUpdateExpression$1(state);
|
|
10980
|
+
if (state.events)
|
|
10981
|
+
state.events.exit?.("InlineJSXUpdateExpression", state, result);
|
|
10982
|
+
return result;
|
|
10983
|
+
}
|
|
10984
|
+
}
|
|
10985
|
+
var InlineJSXCallExpression$0 = $S($EXPECT($L10, fail, 'InlineJSXCallExpression "super"'), ExplicitArguments);
|
|
10986
|
+
var InlineJSXCallExpression$1 = $S($EXPECT($L11, fail, 'InlineJSXCallExpression "import"'), OpenParen, ExtendedExpression, __, CloseParen);
|
|
10987
|
+
var InlineJSXCallExpression$2 = $TS($S(InlineJSXMemberExpression, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2) {
|
|
10988
|
+
if ($2.length)
|
|
10989
|
+
return $0;
|
|
10990
|
+
return $1;
|
|
10991
|
+
});
|
|
10992
|
+
function InlineJSXCallExpression(state) {
|
|
10993
|
+
if (state.events) {
|
|
10994
|
+
const result = state.events.enter?.("InlineJSXCallExpression", state);
|
|
10995
|
+
if (result)
|
|
10996
|
+
return result.cache;
|
|
10997
|
+
}
|
|
10998
|
+
if (state.tokenize) {
|
|
10999
|
+
const result = $TOKEN("InlineJSXCallExpression", state, InlineJSXCallExpression$0(state) || InlineJSXCallExpression$1(state) || InlineJSXCallExpression$2(state));
|
|
11000
|
+
if (state.events)
|
|
11001
|
+
state.events.exit?.("InlineJSXCallExpression", state, result);
|
|
11002
|
+
return result;
|
|
11003
|
+
} else {
|
|
11004
|
+
const result = InlineJSXCallExpression$0(state) || InlineJSXCallExpression$1(state) || InlineJSXCallExpression$2(state);
|
|
11005
|
+
if (state.events)
|
|
11006
|
+
state.events.exit?.("InlineJSXCallExpression", state, result);
|
|
11007
|
+
return result;
|
|
11008
|
+
}
|
|
11009
|
+
}
|
|
11010
|
+
var InlineJSXCallExpressionRest$0 = MemberExpressionRest;
|
|
11011
|
+
var InlineJSXCallExpressionRest$1 = TemplateLiteral;
|
|
11012
|
+
var InlineJSXCallExpressionRest$2 = $S($E($C(OptionalShorthand, NonNullAssertion)), ExplicitArguments);
|
|
11013
|
+
function InlineJSXCallExpressionRest(state) {
|
|
11014
|
+
if (state.events) {
|
|
11015
|
+
const result = state.events.enter?.("InlineJSXCallExpressionRest", state);
|
|
11016
|
+
if (result)
|
|
11017
|
+
return result.cache;
|
|
11018
|
+
}
|
|
11019
|
+
if (state.tokenize) {
|
|
11020
|
+
const result = $TOKEN("InlineJSXCallExpressionRest", state, InlineJSXCallExpressionRest$0(state) || InlineJSXCallExpressionRest$1(state) || InlineJSXCallExpressionRest$2(state));
|
|
11021
|
+
if (state.events)
|
|
11022
|
+
state.events.exit?.("InlineJSXCallExpressionRest", state, result);
|
|
11023
|
+
return result;
|
|
11024
|
+
} else {
|
|
11025
|
+
const result = InlineJSXCallExpressionRest$0(state) || InlineJSXCallExpressionRest$1(state) || InlineJSXCallExpressionRest$2(state);
|
|
11026
|
+
if (state.events)
|
|
11027
|
+
state.events.exit?.("InlineJSXCallExpressionRest", state, result);
|
|
11028
|
+
return result;
|
|
11029
|
+
}
|
|
11030
|
+
}
|
|
11031
|
+
var InlineJSXMemberExpression$0 = $TS($S(InlineJSXPrimaryExpression, $Q(InlineJSXMemberExpressionRest)), function($skip, $loc, $0, $1, $2) {
|
|
11032
|
+
if ($2.length)
|
|
11033
|
+
return $0;
|
|
11034
|
+
return $1;
|
|
11035
|
+
});
|
|
11036
|
+
var InlineJSXMemberExpression$1 = SuperProperty;
|
|
11037
|
+
var InlineJSXMemberExpression$2 = MetaProperty;
|
|
11038
|
+
function InlineJSXMemberExpression(state) {
|
|
11039
|
+
if (state.events) {
|
|
11040
|
+
const result = state.events.enter?.("InlineJSXMemberExpression", state);
|
|
11041
|
+
if (result)
|
|
11042
|
+
return result.cache;
|
|
11043
|
+
}
|
|
11044
|
+
if (state.tokenize) {
|
|
11045
|
+
const result = $TOKEN("InlineJSXMemberExpression", state, InlineJSXMemberExpression$0(state) || InlineJSXMemberExpression$1(state) || InlineJSXMemberExpression$2(state));
|
|
11046
|
+
if (state.events)
|
|
11047
|
+
state.events.exit?.("InlineJSXMemberExpression", state, result);
|
|
11048
|
+
return result;
|
|
11049
|
+
} else {
|
|
11050
|
+
const result = InlineJSXMemberExpression$0(state) || InlineJSXMemberExpression$1(state) || InlineJSXMemberExpression$2(state);
|
|
11051
|
+
if (state.events)
|
|
11052
|
+
state.events.exit?.("InlineJSXMemberExpression", state, result);
|
|
11053
|
+
return result;
|
|
11054
|
+
}
|
|
11055
|
+
}
|
|
11056
|
+
var InlineJSXMemberExpressionRest$0 = $TS($S($E($C(OptionalShorthand, NonNullAssertion)), MemberBracketContent), function($skip, $loc, $0, $1, $2) {
|
|
11057
|
+
if ($1) {
|
|
11058
|
+
if ($1.length === 2 && $2.type === "SliceExpression") {
|
|
11059
|
+
return [$1[0], $2];
|
|
11060
|
+
}
|
|
11061
|
+
return $0;
|
|
11062
|
+
}
|
|
11063
|
+
return $2;
|
|
11064
|
+
});
|
|
11065
|
+
var InlineJSXMemberExpressionRest$1 = PropertyAccess;
|
|
11066
|
+
var InlineJSXMemberExpressionRest$2 = NonNullAssertion;
|
|
11067
|
+
function InlineJSXMemberExpressionRest(state) {
|
|
11068
|
+
if (state.events) {
|
|
11069
|
+
const result = state.events.enter?.("InlineJSXMemberExpressionRest", state);
|
|
11070
|
+
if (result)
|
|
11071
|
+
return result.cache;
|
|
11072
|
+
}
|
|
11073
|
+
if (state.tokenize) {
|
|
11074
|
+
const result = $TOKEN("InlineJSXMemberExpressionRest", state, InlineJSXMemberExpressionRest$0(state) || InlineJSXMemberExpressionRest$1(state) || InlineJSXMemberExpressionRest$2(state));
|
|
11075
|
+
if (state.events)
|
|
11076
|
+
state.events.exit?.("InlineJSXMemberExpressionRest", state, result);
|
|
11077
|
+
return result;
|
|
11078
|
+
} else {
|
|
11079
|
+
const result = InlineJSXMemberExpressionRest$0(state) || InlineJSXMemberExpressionRest$1(state) || InlineJSXMemberExpressionRest$2(state);
|
|
11080
|
+
if (state.events)
|
|
11081
|
+
state.events.exit?.("InlineJSXMemberExpressionRest", state, result);
|
|
11082
|
+
return result;
|
|
11083
|
+
}
|
|
11084
|
+
}
|
|
11085
|
+
var InlineJSXPrimaryExpression$0 = NullLiteral;
|
|
11086
|
+
var InlineJSXPrimaryExpression$1 = BooleanLiteral;
|
|
11087
|
+
var InlineJSXPrimaryExpression$2 = NumericLiteral;
|
|
11088
|
+
var InlineJSXPrimaryExpression$3 = StringLiteral;
|
|
11089
|
+
var InlineJSXPrimaryExpression$4 = ThisLiteral;
|
|
11090
|
+
var InlineJSXPrimaryExpression$5 = ArrayLiteral;
|
|
11091
|
+
var InlineJSXPrimaryExpression$6 = BracedObjectLiteral;
|
|
11092
|
+
var InlineJSXPrimaryExpression$7 = IdentifierReference;
|
|
11093
|
+
var InlineJSXPrimaryExpression$8 = RegularExpressionLiteral;
|
|
11094
|
+
var InlineJSXPrimaryExpression$9 = TemplateLiteral;
|
|
11095
|
+
var InlineJSXPrimaryExpression$10 = ParenthesizedExpression;
|
|
11096
|
+
function InlineJSXPrimaryExpression(state) {
|
|
11097
|
+
if (state.events) {
|
|
11098
|
+
const result = state.events.enter?.("InlineJSXPrimaryExpression", state);
|
|
11099
|
+
if (result)
|
|
11100
|
+
return result.cache;
|
|
11101
|
+
}
|
|
11102
|
+
if (state.tokenize) {
|
|
11103
|
+
const result = $TOKEN("InlineJSXPrimaryExpression", state, InlineJSXPrimaryExpression$0(state) || InlineJSXPrimaryExpression$1(state) || InlineJSXPrimaryExpression$2(state) || InlineJSXPrimaryExpression$3(state) || InlineJSXPrimaryExpression$4(state) || InlineJSXPrimaryExpression$5(state) || InlineJSXPrimaryExpression$6(state) || InlineJSXPrimaryExpression$7(state) || InlineJSXPrimaryExpression$8(state) || InlineJSXPrimaryExpression$9(state) || InlineJSXPrimaryExpression$10(state));
|
|
11104
|
+
if (state.events)
|
|
11105
|
+
state.events.exit?.("InlineJSXPrimaryExpression", state, result);
|
|
11106
|
+
return result;
|
|
11107
|
+
} else {
|
|
11108
|
+
const result = InlineJSXPrimaryExpression$0(state) || InlineJSXPrimaryExpression$1(state) || InlineJSXPrimaryExpression$2(state) || InlineJSXPrimaryExpression$3(state) || InlineJSXPrimaryExpression$4(state) || InlineJSXPrimaryExpression$5(state) || InlineJSXPrimaryExpression$6(state) || InlineJSXPrimaryExpression$7(state) || InlineJSXPrimaryExpression$8(state) || InlineJSXPrimaryExpression$9(state) || InlineJSXPrimaryExpression$10(state);
|
|
11109
|
+
if (state.events)
|
|
11110
|
+
state.events.exit?.("InlineJSXPrimaryExpression", state, result);
|
|
11111
|
+
return result;
|
|
11112
|
+
}
|
|
11113
|
+
}
|
|
10898
11114
|
var JSXMixedChildren$0 = $TS($S($Q($C(_, JSXChild)), JSXNestedChildren), function($skip, $loc, $0, $1, $2) {
|
|
10899
11115
|
var c1 = $1;
|
|
10900
11116
|
var c2 = $2;
|
|
@@ -10985,7 +11201,7 @@ ${input.slice(result.pos)}
|
|
|
10985
11201
|
return result;
|
|
10986
11202
|
}
|
|
10987
11203
|
}
|
|
10988
|
-
var JSXText$0 = $R$0($EXPECT($
|
|
11204
|
+
var JSXText$0 = $R$0($EXPECT($R46, fail, "JSXText /[^{}<>\\r\\n]+/"));
|
|
10989
11205
|
function JSXText(state) {
|
|
10990
11206
|
if (state.events) {
|
|
10991
11207
|
const result = state.events.enter?.("JSXText", state);
|
|
@@ -11313,7 +11529,7 @@ ${input.slice(result.pos)}
|
|
|
11313
11529
|
return result;
|
|
11314
11530
|
}
|
|
11315
11531
|
}
|
|
11316
|
-
var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($
|
|
11532
|
+
var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R47, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L154, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R4, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
|
|
11317
11533
|
function TypeIndexSignature(state) {
|
|
11318
11534
|
if (state.events) {
|
|
11319
11535
|
const result = state.events.enter?.("TypeIndexSignature", state);
|
|
@@ -11747,7 +11963,9 @@ ${input.slice(result.pos)}
|
|
|
11747
11963
|
return result;
|
|
11748
11964
|
}
|
|
11749
11965
|
}
|
|
11750
|
-
var TypeArguments$0 = $S(__, $EXPECT($L5, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L27, fail, 'TypeArguments ">"'))
|
|
11966
|
+
var TypeArguments$0 = $TS($S(__, $EXPECT($L5, fail, 'TypeArguments "<"'), __, Type, $Q($S(__, Comma, __, Type)), $E($S(__, Comma)), __, $EXPECT($L27, fail, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
|
|
11967
|
+
return { ts: true, children: $0 };
|
|
11968
|
+
});
|
|
11751
11969
|
function TypeArguments(state) {
|
|
11752
11970
|
if (state.events) {
|
|
11753
11971
|
const result = state.events.enter?.("TypeArguments", state);
|
|
@@ -11766,7 +11984,7 @@ ${input.slice(result.pos)}
|
|
|
11766
11984
|
return result;
|
|
11767
11985
|
}
|
|
11768
11986
|
}
|
|
11769
|
-
var TypeParameters$0 = $TS($S(__, $EXPECT($L5, fail, 'TypeParameters "<"'),
|
|
11987
|
+
var TypeParameters$0 = $TS($S(__, $EXPECT($L5, fail, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L27, fail, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
|
|
11770
11988
|
return { ts: true, children: $0 };
|
|
11771
11989
|
});
|
|
11772
11990
|
function TypeParameters(state) {
|
|
@@ -11826,11 +12044,8 @@ ${input.slice(result.pos)}
|
|
|
11826
12044
|
}
|
|
11827
12045
|
}
|
|
11828
12046
|
var TypeParameterDelimiter$0 = $S($Q(_), Comma);
|
|
11829
|
-
var TypeParameterDelimiter$1 = $Y($S(
|
|
11830
|
-
var TypeParameterDelimiter$2 = $T($S($Y(
|
|
11831
|
-
return value[1];
|
|
11832
|
-
});
|
|
11833
|
-
var TypeParameterDelimiter$3 = $T($S($Y(EOS), InsertComma), function(value) {
|
|
12047
|
+
var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L27, fail, 'TypeParameterDelimiter ">"')));
|
|
12048
|
+
var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
|
|
11834
12049
|
return value[1];
|
|
11835
12050
|
});
|
|
11836
12051
|
function TypeParameterDelimiter(state) {
|
|
@@ -11840,18 +12055,18 @@ ${input.slice(result.pos)}
|
|
|
11840
12055
|
return result.cache;
|
|
11841
12056
|
}
|
|
11842
12057
|
if (state.tokenize) {
|
|
11843
|
-
const result = $TOKEN("TypeParameterDelimiter", state, TypeParameterDelimiter$0(state) || TypeParameterDelimiter$1(state) || TypeParameterDelimiter$2(state)
|
|
12058
|
+
const result = $TOKEN("TypeParameterDelimiter", state, TypeParameterDelimiter$0(state) || TypeParameterDelimiter$1(state) || TypeParameterDelimiter$2(state));
|
|
11844
12059
|
if (state.events)
|
|
11845
12060
|
state.events.exit?.("TypeParameterDelimiter", state, result);
|
|
11846
12061
|
return result;
|
|
11847
12062
|
} else {
|
|
11848
|
-
const result = TypeParameterDelimiter$0(state) || TypeParameterDelimiter$1(state) || TypeParameterDelimiter$2(state)
|
|
12063
|
+
const result = TypeParameterDelimiter$0(state) || TypeParameterDelimiter$1(state) || TypeParameterDelimiter$2(state);
|
|
11849
12064
|
if (state.events)
|
|
11850
12065
|
state.events.exit?.("TypeParameterDelimiter", state, result);
|
|
11851
12066
|
return result;
|
|
11852
12067
|
}
|
|
11853
12068
|
}
|
|
11854
|
-
var Shebang$0 = $S($R$0($EXPECT($
|
|
12069
|
+
var Shebang$0 = $S($R$0($EXPECT($R48, fail, "Shebang /#![^\\r\\n]*/")), EOL);
|
|
11855
12070
|
function Shebang(state) {
|
|
11856
12071
|
if (state.events) {
|
|
11857
12072
|
const result = state.events.enter?.("Shebang", state);
|
|
@@ -11870,11 +12085,11 @@ ${input.slice(result.pos)}
|
|
|
11870
12085
|
return result;
|
|
11871
12086
|
}
|
|
11872
12087
|
}
|
|
11873
|
-
var CivetPrologue$0 = $T($S($EXPECT($
|
|
12088
|
+
var CivetPrologue$0 = $T($S($EXPECT($R49, fail, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
|
|
11874
12089
|
var content = value[2];
|
|
11875
12090
|
return content;
|
|
11876
12091
|
});
|
|
11877
|
-
var CivetPrologue$1 = $T($S($EXPECT($
|
|
12092
|
+
var CivetPrologue$1 = $T($S($EXPECT($R49, fail, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
|
|
11878
12093
|
var content = value[2];
|
|
11879
12094
|
return content;
|
|
11880
12095
|
});
|
|
@@ -11896,7 +12111,7 @@ ${input.slice(result.pos)}
|
|
|
11896
12111
|
return result;
|
|
11897
12112
|
}
|
|
11898
12113
|
}
|
|
11899
|
-
var CivetPrologueContent$0 = $TS($S($EXPECT($L159, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($
|
|
12114
|
+
var CivetPrologueContent$0 = $TS($S($EXPECT($L159, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R50, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
|
|
11900
12115
|
var options = $2;
|
|
11901
12116
|
return {
|
|
11902
12117
|
type: "CivetPrologue",
|
|
@@ -11922,7 +12137,7 @@ ${input.slice(result.pos)}
|
|
|
11922
12137
|
return result;
|
|
11923
12138
|
}
|
|
11924
12139
|
}
|
|
11925
|
-
var CivetOption$0 = $TR($EXPECT($
|
|
12140
|
+
var CivetOption$0 = $TR($EXPECT($R51, fail, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
11926
12141
|
const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
|
|
11927
12142
|
if (l)
|
|
11928
12143
|
return l.toUpperCase();
|
|
@@ -11954,7 +12169,7 @@ ${input.slice(result.pos)}
|
|
|
11954
12169
|
return result;
|
|
11955
12170
|
}
|
|
11956
12171
|
}
|
|
11957
|
-
var UnknownPrologue$0 = $S($R$0($EXPECT($
|
|
12172
|
+
var UnknownPrologue$0 = $S($R$0($EXPECT($R49, fail, "UnknownPrologue /[\\t ]*/")), BasicStringLiteral, $TEXT(StatementDelimiter), EOS);
|
|
11958
12173
|
function UnknownPrologue(state) {
|
|
11959
12174
|
if (state.events) {
|
|
11960
12175
|
const result = state.events.enter?.("UnknownPrologue", state);
|
|
@@ -12012,7 +12227,7 @@ ${input.slice(result.pos)}
|
|
|
12012
12227
|
return result;
|
|
12013
12228
|
}
|
|
12014
12229
|
}
|
|
12015
|
-
var EOL$0 = $TR($EXPECT($
|
|
12230
|
+
var EOL$0 = $TR($EXPECT($R52, fail, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
12016
12231
|
return { $loc, token: $0 };
|
|
12017
12232
|
});
|
|
12018
12233
|
function EOL(state) {
|
|
@@ -12639,6 +12854,7 @@ ${input.slice(result.pos)}
|
|
|
12639
12854
|
}
|
|
12640
12855
|
module.config = parse.config = {
|
|
12641
12856
|
autoVar: false,
|
|
12857
|
+
autoLet: false,
|
|
12642
12858
|
coffeeBinaryExistential: false,
|
|
12643
12859
|
coffeeBooleans: false,
|
|
12644
12860
|
coffeeClasses: false,
|
|
@@ -12763,6 +12979,55 @@ ${input.slice(result.pos)}
|
|
|
12763
12979
|
Object.assign(module.config, directive.config);
|
|
12764
12980
|
}
|
|
12765
12981
|
});
|
|
12982
|
+
module.processUnaryExpression = (pre, exp, post) => {
|
|
12983
|
+
if (post?.token === "?") {
|
|
12984
|
+
post = {
|
|
12985
|
+
$loc: post.$loc,
|
|
12986
|
+
token: " != null"
|
|
12987
|
+
};
|
|
12988
|
+
switch (exp.type) {
|
|
12989
|
+
case "Identifier":
|
|
12990
|
+
case "Literal":
|
|
12991
|
+
return {
|
|
12992
|
+
...exp,
|
|
12993
|
+
children: [...pre, ...exp.children, post]
|
|
12994
|
+
};
|
|
12995
|
+
default:
|
|
12996
|
+
return {
|
|
12997
|
+
type: "ParenthesizedExpression",
|
|
12998
|
+
children: ["(", ...pre, "(", exp, ")", post, ")"]
|
|
12999
|
+
};
|
|
13000
|
+
}
|
|
13001
|
+
}
|
|
13002
|
+
if (exp.type === "Literal") {
|
|
13003
|
+
if (pre.length === 1 && pre[0].token === "-") {
|
|
13004
|
+
const children = [pre[0], ...exp.children];
|
|
13005
|
+
if (post)
|
|
13006
|
+
exp.children.push(post);
|
|
13007
|
+
return {
|
|
13008
|
+
type: "Literal",
|
|
13009
|
+
children,
|
|
13010
|
+
raw: `-${exp.raw}`
|
|
13011
|
+
};
|
|
13012
|
+
}
|
|
13013
|
+
}
|
|
13014
|
+
if (exp.children) {
|
|
13015
|
+
const children = [...pre, ...exp.children];
|
|
13016
|
+
if (post)
|
|
13017
|
+
children.push(post);
|
|
13018
|
+
return Object.assign({}, exp, { children });
|
|
13019
|
+
} else if (Array.isArray(exp)) {
|
|
13020
|
+
const children = [...pre, ...exp];
|
|
13021
|
+
if (post)
|
|
13022
|
+
children.push(post);
|
|
13023
|
+
return { children };
|
|
13024
|
+
} else {
|
|
13025
|
+
const children = [...pre, exp];
|
|
13026
|
+
if (post)
|
|
13027
|
+
children.push(post);
|
|
13028
|
+
return { children };
|
|
13029
|
+
}
|
|
13030
|
+
};
|
|
12766
13031
|
module.expressionizeIfClause = function(clause, b, e) {
|
|
12767
13032
|
const children = clause.children.slice(1);
|
|
12768
13033
|
children.push("?", b);
|
|
@@ -12996,6 +13261,12 @@ ${input.slice(result.pos)}
|
|
|
12996
13261
|
if (Array.isArray(node))
|
|
12997
13262
|
return node.every(module.isWhitespaceOrEmpty);
|
|
12998
13263
|
};
|
|
13264
|
+
module.isTemplateLiteral = function(node) {
|
|
13265
|
+
let s = node;
|
|
13266
|
+
while (s && s[0] && !s.token)
|
|
13267
|
+
s = s[0];
|
|
13268
|
+
return s.token?.startsWith?.("`");
|
|
13269
|
+
};
|
|
12999
13270
|
module.processBinaryOpExpression = function($02) {
|
|
13000
13271
|
const expandedOps = module.expandChainedComparisons($02);
|
|
13001
13272
|
let i = 2;
|
|
@@ -13421,6 +13692,9 @@ ${input.slice(result.pos)}
|
|
|
13421
13692
|
if (module.config.autoVar) {
|
|
13422
13693
|
createVarDecs(statements, []);
|
|
13423
13694
|
}
|
|
13695
|
+
if (module.config.autoLet) {
|
|
13696
|
+
createLetDecs(statements, []);
|
|
13697
|
+
}
|
|
13424
13698
|
populateRefs(statements);
|
|
13425
13699
|
adjustAtBindings(statements);
|
|
13426
13700
|
};
|
|
@@ -13519,6 +13793,52 @@ ${input.slice(result.pos)}
|
|
|
13519
13793
|
statements.unshift([indent, "var ", varIds.join(", "), "\n"]);
|
|
13520
13794
|
}
|
|
13521
13795
|
}
|
|
13796
|
+
function createLetDecs(statements, scopes) {
|
|
13797
|
+
function hasDec(name) {
|
|
13798
|
+
return scopes.some((s) => s.has(name));
|
|
13799
|
+
}
|
|
13800
|
+
function insertBeforeAssignment(assignment, content) {
|
|
13801
|
+
if (assignment.children && assignment.children.length) {
|
|
13802
|
+
let indent = assignment.children[0][0][0];
|
|
13803
|
+
if (Array.isArray(indent))
|
|
13804
|
+
indent = indent[indent.length - 1];
|
|
13805
|
+
assignment.children.unshift([indent, ...content]);
|
|
13806
|
+
}
|
|
13807
|
+
}
|
|
13808
|
+
let currentScope = /* @__PURE__ */ new Set();
|
|
13809
|
+
scopes.push(currentScope);
|
|
13810
|
+
const fnNodes = gatherNodes(statements, (s) => s.type === "FunctionExpression");
|
|
13811
|
+
const forNodes = gatherNodes(statements, (s) => s.type === "ForStatement");
|
|
13812
|
+
const nodes = gatherNodes(statements, (s) => s.type === "BlockStatement" || s.type === "AssignmentExpression");
|
|
13813
|
+
for (const node of nodes) {
|
|
13814
|
+
if (node.type == "AssignmentExpression") {
|
|
13815
|
+
let undeclaredIdentifiers = node.names.filter((name) => !hasDec(name));
|
|
13816
|
+
if (node.children.length)
|
|
13817
|
+
createLetDecs(node.children, scopes);
|
|
13818
|
+
undeclaredIdentifiers.forEach((name) => currentScope.add(name));
|
|
13819
|
+
if (node.names.length === undeclaredIdentifiers.length) {
|
|
13820
|
+
insertBeforeAssignment(node, ["let "]);
|
|
13821
|
+
} else if (undeclaredIdentifiers.length > 0) {
|
|
13822
|
+
insertBeforeAssignment(node, ["let ", undeclaredIdentifiers.join(", "), "\n"]);
|
|
13823
|
+
}
|
|
13824
|
+
} else {
|
|
13825
|
+
let block = node;
|
|
13826
|
+
let fnNode = fnNodes.find((fnNode2) => fnNode2.block === block);
|
|
13827
|
+
let forNode = forNodes.find((forNode2) => forNode2.block === block);
|
|
13828
|
+
if (fnNode != null) {
|
|
13829
|
+
scopes.push(new Set(fnNode.parameters.names));
|
|
13830
|
+
createLetDecs(block.expressions, scopes);
|
|
13831
|
+
scopes.pop();
|
|
13832
|
+
} else if (forNode != null) {
|
|
13833
|
+
scopes.push(new Set(forNode.declaration.names));
|
|
13834
|
+
createLetDecs(block.expressions, scopes);
|
|
13835
|
+
scopes.pop();
|
|
13836
|
+
} else
|
|
13837
|
+
createLetDecs(block.expressions, scopes);
|
|
13838
|
+
}
|
|
13839
|
+
}
|
|
13840
|
+
scopes.pop();
|
|
13841
|
+
}
|
|
13522
13842
|
function gatherBindingCode(statements) {
|
|
13523
13843
|
const thisAssignments = [];
|
|
13524
13844
|
const splices = [];
|
|
@@ -13558,7 +13878,7 @@ ${input.slice(result.pos)}
|
|
|
13558
13878
|
return result;
|
|
13559
13879
|
}
|
|
13560
13880
|
}
|
|
13561
|
-
var Indent$0 = $TR($EXPECT($
|
|
13881
|
+
var Indent$0 = $TR($EXPECT($R53, fail, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
13562
13882
|
let level;
|
|
13563
13883
|
if (module.config.tab) {
|
|
13564
13884
|
const tabs = $0.match(/\t/g);
|