@danielx/civet 0.4.19-pre.0 → 0.4.19-pre.2

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/dist/main.js CHANGED
@@ -434,6 +434,7 @@ var require_parser = __commonJS({
434
434
  ConditionalExpression,
435
435
  ShortCircuitExpression,
436
436
  PrimaryExpression,
437
+ ParenthesizedExpression,
437
438
  ClassDeclaration,
438
439
  ClassExpression,
439
440
  ClassHeritage,
@@ -651,6 +652,7 @@ var require_parser = __commonJS({
651
652
  Async,
652
653
  Await,
653
654
  Backtick,
655
+ By,
654
656
  Case,
655
657
  Catch,
656
658
  Class,
@@ -783,8 +785,9 @@ var require_parser = __commonJS({
783
785
  InsertSpace,
784
786
  InsertDot,
785
787
  InsertBreak,
786
- CoffeeCommentEnabled,
787
788
  CoffeeBooleansEnabled,
789
+ CoffeeCommentEnabled,
790
+ CoffeeDoEnabled,
788
791
  CoffeeForLoopsEnabled,
789
792
  CoffeeInterpolationEnabled,
790
793
  CoffeeIsntEnabled,
@@ -890,70 +893,71 @@ var require_parser = __commonJS({
890
893
  var $L87 = $L("async");
891
894
  var $L88 = $L("await");
892
895
  var $L89 = $L("`");
893
- var $L90 = $L("case");
894
- var $L91 = $L("catch");
895
- var $L92 = $L("class");
896
- var $L93 = $L("#{");
897
- var $L94 = $L(":");
898
- var $L95 = $L("delete");
899
- var $L96 = $L("do");
900
- var $L97 = $L("..");
901
- var $L98 = $L("...");
902
- var $L99 = $L('"');
903
- var $L100 = $L("else");
904
- var $L101 = $L("export");
905
- var $L102 = $L("for");
906
- var $L103 = $L("from");
907
- var $L104 = $L("function");
908
- var $L105 = $L("get");
909
- var $L106 = $L("set");
910
- var $L107 = $L("if");
911
- var $L108 = $L(" ");
912
- var $L109 = $L("let");
913
- var $L110 = $L("const");
914
- var $L111 = $L("loop");
915
- var $L112 = $L("new");
916
- var $L113 = $L("not");
917
- var $L114 = $L("{");
918
- var $L115 = $L("[");
919
- var $L116 = $L("(");
920
- var $L117 = $L("?");
921
- var $L118 = $L("return");
922
- var $L119 = $L("'");
923
- var $L120 = $L("static");
924
- var $L121 = $L("${");
925
- var $L122 = $L("switch");
926
- var $L123 = $L("target");
927
- var $L124 = $L("then");
928
- var $L125 = $L("throw");
929
- var $L126 = $L('"""');
930
- var $L127 = $L("'''");
931
- var $L128 = $L("```");
932
- var $L129 = $L("try");
933
- var $L130 = $L("typeof");
934
- var $L131 = $L("unless");
935
- var $L132 = $L("until");
936
- var $L133 = $L("var");
937
- var $L134 = $L("void");
938
- var $L135 = $L("when");
939
- var $L136 = $L("while");
940
- var $L137 = $L("yield");
941
- var $L138 = $L("/>");
942
- var $L139 = $L("</");
943
- var $L140 = $L("<>");
944
- var $L141 = $L("</>");
945
- var $L142 = $L("declare");
946
- var $L143 = $L("type");
947
- var $L144 = $L("interface");
948
- var $L145 = $L("namespace");
949
- var $L146 = $L("readonly");
950
- var $L147 = $L("asserts");
951
- var $L148 = $L("keyof");
952
- var $L149 = $L("infer");
953
- var $L150 = $L("[]");
954
- var $L151 = $L("civet");
955
- var $L152 = $L(" ");
956
- var $L153 = $L(" ");
896
+ var $L90 = $L("by");
897
+ var $L91 = $L("case");
898
+ var $L92 = $L("catch");
899
+ var $L93 = $L("class");
900
+ var $L94 = $L("#{");
901
+ var $L95 = $L(":");
902
+ var $L96 = $L("delete");
903
+ var $L97 = $L("do");
904
+ var $L98 = $L("..");
905
+ var $L99 = $L("...");
906
+ var $L100 = $L('"');
907
+ var $L101 = $L("else");
908
+ var $L102 = $L("export");
909
+ var $L103 = $L("for");
910
+ var $L104 = $L("from");
911
+ var $L105 = $L("function");
912
+ var $L106 = $L("get");
913
+ var $L107 = $L("set");
914
+ var $L108 = $L("if");
915
+ var $L109 = $L(" ");
916
+ var $L110 = $L("let");
917
+ var $L111 = $L("const");
918
+ var $L112 = $L("loop");
919
+ var $L113 = $L("new");
920
+ var $L114 = $L("not");
921
+ var $L115 = $L("{");
922
+ var $L116 = $L("[");
923
+ var $L117 = $L("(");
924
+ var $L118 = $L("?");
925
+ var $L119 = $L("return");
926
+ var $L120 = $L("'");
927
+ var $L121 = $L("static");
928
+ var $L122 = $L("${");
929
+ var $L123 = $L("switch");
930
+ var $L124 = $L("target");
931
+ var $L125 = $L("then");
932
+ var $L126 = $L("throw");
933
+ var $L127 = $L('"""');
934
+ var $L128 = $L("'''");
935
+ var $L129 = $L("```");
936
+ var $L130 = $L("try");
937
+ var $L131 = $L("typeof");
938
+ var $L132 = $L("unless");
939
+ var $L133 = $L("until");
940
+ var $L134 = $L("var");
941
+ var $L135 = $L("void");
942
+ var $L136 = $L("when");
943
+ var $L137 = $L("while");
944
+ var $L138 = $L("yield");
945
+ var $L139 = $L("/>");
946
+ var $L140 = $L("</");
947
+ var $L141 = $L("<>");
948
+ var $L142 = $L("</>");
949
+ var $L143 = $L("declare");
950
+ var $L144 = $L("type");
951
+ var $L145 = $L("interface");
952
+ var $L146 = $L("namespace");
953
+ var $L147 = $L("readonly");
954
+ var $L148 = $L("asserts");
955
+ var $L149 = $L("keyof");
956
+ var $L150 = $L("infer");
957
+ var $L151 = $L("[]");
958
+ var $L152 = $L("civet");
959
+ var $L153 = $L(" ");
960
+ var $L154 = $L(" ");
957
961
  var $R0 = $R(new RegExp("(of|then|when)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
958
962
  var $R1 = $R(new RegExp("[&]", "suy"));
959
963
  var $R2 = $R(new RegExp("[!~+-]+", "suy"));
@@ -981,26 +985,27 @@ var require_parser = __commonJS({
981
985
  var $R24 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
982
986
  var $R25 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
983
987
  var $R26 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
984
- var $R27 = $R(new RegExp("(?:and|as|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|loop|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
985
- var $R28 = $R(new RegExp("\\/\\/[^\\r\\n]*", "suy"));
986
- var $R29 = $R(new RegExp(".", "suy"));
987
- var $R30 = $R(new RegExp("#(?!##)([^\\r\\n]*)", "suy"));
988
- var $R31 = $R(new RegExp("[^\\r\\n]", "suy"));
989
- var $R32 = $R(new RegExp("[ \\t]+", "suy"));
990
- var $R33 = $R(new RegExp("[\\s]+", "suy"));
991
- var $R34 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
992
- var $R35 = $R(new RegExp("\\s", "suy"));
993
- var $R36 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
994
- var $R37 = $R(new RegExp('"[^"]*"', "suy"));
995
- var $R38 = $R(new RegExp("'[^']*'", "suy"));
996
- var $R39 = $R(new RegExp("[^{}<>]+", "suy"));
997
- var $R40 = $R(new RegExp("[+-]?", "suy"));
998
- var $R41 = $R(new RegExp("[+-]", "suy"));
999
- var $R42 = $R(new RegExp("#![^\\r\\n]*", "suy"));
1000
- var $R43 = $R(new RegExp("[\\t ]*", "suy"));
1001
- var $R44 = $R(new RegExp("[\\s]*", "suy"));
1002
- var $R45 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)", "suy"));
1003
- var $R46 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
988
+ var $R27 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
989
+ var $R28 = $R(new RegExp("(?:and|as|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|loop|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
990
+ var $R29 = $R(new RegExp("\\/\\/[^\\r\\n]*", "suy"));
991
+ var $R30 = $R(new RegExp(".", "suy"));
992
+ var $R31 = $R(new RegExp("#(?!##)([^\\r\\n]*)", "suy"));
993
+ var $R32 = $R(new RegExp("[^\\r\\n]", "suy"));
994
+ var $R33 = $R(new RegExp("[ \\t]+", "suy"));
995
+ var $R34 = $R(new RegExp("[\\s]+", "suy"));
996
+ var $R35 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
997
+ var $R36 = $R(new RegExp("\\s", "suy"));
998
+ var $R37 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
999
+ var $R38 = $R(new RegExp('"[^"]*"', "suy"));
1000
+ var $R39 = $R(new RegExp("'[^']*'", "suy"));
1001
+ var $R40 = $R(new RegExp("[^{}<>]+", "suy"));
1002
+ var $R41 = $R(new RegExp("[+-]?", "suy"));
1003
+ var $R42 = $R(new RegExp("[+-]", "suy"));
1004
+ var $R43 = $R(new RegExp("#![^\\r\\n]*", "suy"));
1005
+ var $R44 = $R(new RegExp("[\\t ]*", "suy"));
1006
+ var $R45 = $R(new RegExp("[\\s]*", "suy"));
1007
+ var $R46 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)", "suy"));
1008
+ var $R47 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
1004
1009
  var Program$0 = $TS($S(Reset, Init, __, $Q(TopLevelStatement), __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
1005
1010
  var statements = $4;
1006
1011
  module2.processProgram(statements);
@@ -1221,13 +1226,17 @@ var require_parser = __commonJS({
1221
1226
  return result;
1222
1227
  }
1223
1228
  });
1229
+ var UnaryExpression$1 = $TS($S(CoffeeDoEnabled, Do, __, $C($S(LeftHandSideExpression, $N($S(__, AssignmentOpSymbol))), ArrowFunction, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4) {
1230
+ var ws = $3;
1231
+ var exp = $4;
1232
+ module2.insertTrimmingSpace(ws, "");
1233
+ return ["(", ws, exp, ")()"];
1234
+ });
1224
1235
  function UnaryExpression(state) {
1225
- if (state.verbose)
1226
- console.log("ENTER:", "UnaryExpression");
1227
1236
  if (state.tokenize) {
1228
- return $TOKEN("UnaryExpression", state, UnaryExpression$0(state));
1237
+ return $TOKEN("UnaryExpression", state, UnaryExpression$0(state) || UnaryExpression$1(state));
1229
1238
  } else {
1230
- return UnaryExpression$0(state);
1239
+ return UnaryExpression$0(state) || UnaryExpression$1(state);
1231
1240
  }
1232
1241
  }
1233
1242
  var UnaryPostfix$0 = QuestionMark;
@@ -1471,7 +1480,7 @@ var require_parser = __commonJS({
1471
1480
  var PrimaryExpression$6 = ClassExpression;
1472
1481
  var PrimaryExpression$7 = RegularExpressionLiteral;
1473
1482
  var PrimaryExpression$8 = TemplateLiteral;
1474
- var PrimaryExpression$9 = $S(OpenParen, ExtendedExpression, __, CloseParen);
1483
+ var PrimaryExpression$9 = ParenthesizedExpression;
1475
1484
  var PrimaryExpression$10 = JSXElement;
1476
1485
  var PrimaryExpression$11 = JSXFragment;
1477
1486
  function PrimaryExpression(state) {
@@ -1481,6 +1490,23 @@ var require_parser = __commonJS({
1481
1490
  return PrimaryExpression$0(state) || PrimaryExpression$1(state) || PrimaryExpression$2(state) || PrimaryExpression$3(state) || PrimaryExpression$4(state) || PrimaryExpression$5(state) || PrimaryExpression$6(state) || PrimaryExpression$7(state) || PrimaryExpression$8(state) || PrimaryExpression$9(state) || PrimaryExpression$10(state) || PrimaryExpression$11(state);
1482
1491
  }
1483
1492
  }
1493
+ var ParenthesizedExpression$0 = $TS($S(OpenParen, ExtendedExpression, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4) {
1494
+ var exp = $2;
1495
+ return {
1496
+ type: "ParenthesizedExpression",
1497
+ expression: exp,
1498
+ children: $0
1499
+ };
1500
+ });
1501
+ function ParenthesizedExpression(state) {
1502
+ if (state.verbose)
1503
+ console.log("ENTER:", "ParenthesizedExpression");
1504
+ if (state.tokenize) {
1505
+ return $TOKEN("ParenthesizedExpression", state, ParenthesizedExpression$0(state));
1506
+ } else {
1507
+ return ParenthesizedExpression$0(state);
1508
+ }
1509
+ }
1484
1510
  var ClassDeclaration$0 = ClassExpression;
1485
1511
  function ClassDeclaration(state) {
1486
1512
  if (state.verbose)
@@ -2541,12 +2567,59 @@ var require_parser = __commonJS({
2541
2567
  const inclusive = range.token === "..";
2542
2568
  range.token = ",";
2543
2569
  if (s.type === "Literal" && e.type === "Literal") {
2544
- const start = JSON.parse(s.raw);
2545
- const end = JSON.parse(e.raw);
2546
- const step = end > start ? 1 : -1;
2547
- const length = Math.abs(end - start) + (inclusive ? 1 : 0);
2548
- if (length <= 20) {
2549
- return Array.from({ length }, (_2, i) => start + i * step).join(", ");
2570
+ let start, end;
2571
+ if (s.raw[0] === "'") {
2572
+ start = s.raw.match(/^'(.*)'$/)[1];
2573
+ } else {
2574
+ start = JSON.parse(s.raw);
2575
+ }
2576
+ if (e.raw[0] === "'") {
2577
+ end = e.raw.match(/^'(.*)'$/)[1];
2578
+ } else {
2579
+ end = JSON.parse(e.raw);
2580
+ }
2581
+ if (typeof start !== typeof end) {
2582
+ throw new Error("Range start and end must be of the same type");
2583
+ }
2584
+ if (typeof start === "string") {
2585
+ if (start.length !== 1 || end.length !== 1) {
2586
+ throw new Error("String range start and end must be a single character");
2587
+ }
2588
+ const startCode = start.charCodeAt(0);
2589
+ const endCode = end.charCodeAt(0);
2590
+ const step = startCode < endCode ? 1 : -1;
2591
+ const length = Math.abs(endCode - startCode) + (inclusive ? 1 : 0);
2592
+ if (length <= 26) {
2593
+ return {
2594
+ type: "RangeExpression",
2595
+ children: ["[", Array.from({ length }, (_2, i) => JSON.stringify(String.fromCharCode(startCode + i * step))).join(", "), "]"],
2596
+ inclusive,
2597
+ start: s,
2598
+ end: e
2599
+ };
2600
+ } else {
2601
+ const inclusiveAdjust2 = inclusive ? " + 1" : "";
2602
+ const children2 = ["((s, e) => {let step = e > s ? 1 : -1; return Array.from({length: Math.abs(e - s)", inclusiveAdjust2, "}, (_, i) => String.fromCharCode(s + i * step))})(", startCode.toString(), ws, range, endCode.toString(), ")"];
2603
+ return {
2604
+ type: "RangeExpression",
2605
+ children: children2,
2606
+ inclusive,
2607
+ start: s,
2608
+ end: e
2609
+ };
2610
+ }
2611
+ } else if (typeof start === "number") {
2612
+ const step = end > start ? 1 : -1;
2613
+ const length = Math.abs(end - start) + (inclusive ? 1 : 0);
2614
+ if (length <= 20) {
2615
+ return {
2616
+ type: "RangeExpression",
2617
+ children: ["[", Array.from({ length }, (_2, i) => start + i * step).join(", "), "]"],
2618
+ inclusive,
2619
+ start: s,
2620
+ end: e
2621
+ };
2622
+ }
2550
2623
  }
2551
2624
  }
2552
2625
  const inclusiveAdjust = inclusive ? " + 1" : "";
@@ -3171,14 +3244,8 @@ var require_parser = __commonJS({
3171
3244
  var UnlessClause$0 = $TS($S(Unless, Condition), function($skip, $loc, $0, $1, $2) {
3172
3245
  var kind = $1;
3173
3246
  var condition = $2;
3174
- condition.forEach((c) => {
3175
- if (!c)
3176
- return;
3177
- if (c.token === "(")
3178
- c.token = "(!(";
3179
- if (c.token === ")")
3180
- c.token = "))";
3181
- });
3247
+ condition.children.unshift("(!");
3248
+ condition.children.push(")");
3182
3249
  kind.token = "if";
3183
3250
  return {
3184
3251
  type: "IfStatement",
@@ -3261,7 +3328,9 @@ var require_parser = __commonJS({
3261
3328
  }
3262
3329
  }
3263
3330
  var IterationStatement$0 = LoopStatement;
3264
- var IterationStatement$1 = DoWhileStatement;
3331
+ var IterationStatement$1 = $T($S($N(CoffeeDoEnabled), DoWhileStatement), function(value) {
3332
+ return value[1];
3333
+ });
3265
3334
  var IterationStatement$2 = WhileStatement;
3266
3335
  var IterationStatement$3 = ForStatement;
3267
3336
  function IterationStatement(state) {
@@ -3325,14 +3394,14 @@ var require_parser = __commonJS({
3325
3394
  return WhileStatement$0(state);
3326
3395
  }
3327
3396
  }
3328
- var WhileClause$0 = $TS($S($C(While, Until), Condition), function($skip, $loc, $0, $1, $2) {
3397
+ var WhileClause$0 = $TS($S($C(While, Until), $Q(TrailingComment), Condition), function($skip, $loc, $0, $1, $2, $3) {
3329
3398
  var kind = $1;
3330
- var cond = $2;
3399
+ var ws = $2;
3400
+ var cond = $3;
3331
3401
  if (kind.token === "until") {
3332
- cond[1] = "(!(";
3333
- cond[cond.length - 1] = "))";
3334
3402
  kind.token = "while";
3335
- $0 = [kind, cond];
3403
+ cond.children.unshift("(!");
3404
+ cond.children.push(")");
3336
3405
  }
3337
3406
  return {
3338
3407
  type: "IterationStatement",
@@ -3422,20 +3491,30 @@ var require_parser = __commonJS({
3422
3491
  return WhenCondition$0(state);
3423
3492
  }
3424
3493
  }
3425
- var CoffeeForStatementParameters$0 = $TS($S($E($S(Await, __)), InsertOpenParen, CoffeeForDeclaration, __, $C(In, Of, From), ExtendedExpression, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
3494
+ var CoffeeForStatementParameters$0 = $TS($S($E($S(Await, __)), InsertOpenParen, CoffeeForDeclaration, __, $C(In, Of, From), ExtendedExpression, $E($S(__, By, ExtendedExpression)), InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
3495
+ var open = $2;
3426
3496
  var declaration = $3;
3427
3497
  var kind = $5;
3428
3498
  var exp = $6;
3499
+ var step = $7;
3500
+ var close = $8;
3429
3501
  let blockPrefix = [];
3502
+ const indent = "".padStart((module2.currentIndent + 1) * 2);
3430
3503
  if (kind.token === "from") {
3504
+ if (step) {
3505
+ throw new Error("Can't use 'by' with 'from' in CoffeeScript for loops");
3506
+ }
3431
3507
  kind.token = "of";
3432
3508
  } else if (kind.token === "of") {
3509
+ if (step) {
3510
+ throw new Error("Can't use 'by' with 'of' in CoffeeScript for loops");
3511
+ }
3433
3512
  module2.insertTrimmingSpace(declaration, "");
3434
3513
  module2.insertTrimmingSpace(exp, "");
3435
3514
  if (declaration.own) {
3436
- const indent = "".padStart((module2.currentIndent + 1) * 2);
3515
+ const indent2 = "".padStart((module2.currentIndent + 1) * 2);
3437
3516
  const hasPropRef = module2.getHasPropRef();
3438
- blockPrefix.push([indent, "if (!", hasPropRef, ".call(", exp, ", ", declaration, ")) continue\n"]);
3517
+ blockPrefix.push([indent2, "if (!", hasPropRef, ".call(", exp, ", ", declaration, ")) continue\n"]);
3439
3518
  }
3440
3519
  kind.token = "in ";
3441
3520
  } else if (kind.token === "in") {
@@ -3447,10 +3526,79 @@ var require_parser = __commonJS({
3447
3526
  type: "Ref",
3448
3527
  base: "len"
3449
3528
  };
3450
- const expRef = exp.type === "Identifier" ? exp : {
3451
- type: "Ref",
3452
- base: "ref"
3453
- };
3529
+ let expRef;
3530
+ switch (exp.type) {
3531
+ case "Identifier":
3532
+ expRef = exp;
3533
+ break;
3534
+ case "RangeExpression": {
3535
+ const { start, end, inclusive } = exp;
3536
+ const stepExp = step?.[2];
3537
+ let stepRef;
3538
+ if (stepExp) {
3539
+ module2.insertTrimmingSpace(stepExp, "");
3540
+ if (stepExp.type === "Literal") {
3541
+ stepRef = stepExp;
3542
+ } else {
3543
+ stepRef = {
3544
+ type: "Ref",
3545
+ base: "step"
3546
+ };
3547
+ }
3548
+ }
3549
+ let startRef, endRef;
3550
+ if (start.type === "Literal") {
3551
+ startRef = start;
3552
+ } else if (start.type === "Identifier") {
3553
+ startRef = start;
3554
+ } else {
3555
+ startRef = {
3556
+ type: "Ref",
3557
+ base: "ref"
3558
+ };
3559
+ }
3560
+ if (end.type === "Literal") {
3561
+ endRef = end;
3562
+ } else if (end.type === "Identifier") {
3563
+ endRef = end;
3564
+ } else {
3565
+ endRef = {
3566
+ type: "Ref",
3567
+ base: "ref"
3568
+ };
3569
+ }
3570
+ const startRefDec = startRef !== start ? [startRef, " = ", start, ", "] : [];
3571
+ const endRefDec = endRef !== end ? [endRef, " = ", end, ", "] : [];
3572
+ const varRef2 = declaration;
3573
+ const ascDec = stepRef ? stepRef !== stepExp ? [", step = ", stepExp] : [] : [", asc = ", startRef, " <= ", endRef];
3574
+ declaration = {
3575
+ type: "Declaration",
3576
+ children: ["let ", ...startRefDec, ...endRefDec, counterRef, " = ", varRef2, " = ", startRef, ...ascDec],
3577
+ names: []
3578
+ };
3579
+ blockPrefix.push([{
3580
+ type: "AssignmentExpression",
3581
+ children: [],
3582
+ names: varRef2.names
3583
+ }]);
3584
+ const counterPart = inclusive ? [counterRef, " <= ", endRef, " : ", counterRef, " >= ", endRef] : [counterRef, " < ", endRef, " : ", counterRef, " > ", endRef];
3585
+ const condition = stepRef ? [stepRef, " !== 0 && (", stepRef, " > 0 ? ", ...counterPart, ")"] : ["asc ? ", ...counterPart];
3586
+ const increment = stepRef ? [varRef2, " = ", counterRef, " += ", stepRef] : [varRef2, " = asc ? ++", counterRef, " : --", counterRef];
3587
+ return {
3588
+ declaration,
3589
+ children: [$1, open, declaration, "; ", ...condition, "; ", ...increment, close],
3590
+ blockPrefix
3591
+ };
3592
+ }
3593
+ default:
3594
+ expRef = {
3595
+ type: "Ref",
3596
+ base: "ref"
3597
+ };
3598
+ }
3599
+ if (step) {
3600
+ throw new Error("by clause not yet implement in non-range for in loops");
3601
+ }
3454
3602
  const varRef = declaration;
3455
3603
  module2.insertTrimmingSpace(exp, "");
3456
3604
  const expRefDec = expRef !== exp ? [expRef, " = ", exp, ", "] : [];
@@ -3459,7 +3607,6 @@ var require_parser = __commonJS({
3459
3607
  children: ["let ", ...expRefDec, counterRef, " = 0, ", lenRef, " = ", expRef, ".length"],
3460
3608
  names: []
3461
3609
  };
3462
- const indent = "".padStart((module2.currentIndent + 1) * 2);
3463
3610
  blockPrefix.push([{
3464
3611
  type: "AssignmentExpression",
3465
3612
  children: [indent, varRef, " = ", expRef, "[", counterRef, "]\n"],
@@ -3467,7 +3614,7 @@ var require_parser = __commonJS({
3467
3614
  }]);
3468
3615
  return {
3469
3616
  declaration,
3470
- children: [$1, $2, declaration, "; ", counterRef, " < ", lenRef, "; ", counterRef, "++", $7],
3617
+ children: [$1, open, declaration, "; ", counterRef, " < ", lenRef, "; ", counterRef, "++", close],
3471
3618
  blockPrefix
3472
3619
  };
3473
3620
  }
@@ -3804,10 +3951,18 @@ var require_parser = __commonJS({
3804
3951
  return CatchParameter$0(state) || CatchParameter$1(state);
3805
3952
  }
3806
3953
  }
3807
- var Condition$0 = $S(__, OpenParen, ExtendedExpression, __, CloseParen);
3808
- var Condition$1 = $TS($S($N(EOS), __, InsertOpenParen, ExpressionWithIndentedApplicationSuppressed, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
3809
- $0.shift();
3810
- return $0;
3954
+ var Condition$0 = $T($S(ParenthesizedExpression, $N($S($Q(TrailingComment), $C(BinaryOp, AssignmentOp)))), function(value) {
3955
+ return value[0];
3956
+ });
3957
+ var Condition$1 = $TS($S(InsertOpenParen, ExpressionWithIndentedApplicationSuppressed, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3) {
3958
+ var exp = $2;
3959
+ if (exp.type === "ParenthesizedExpression")
3960
+ return exp;
3961
+ module2.insertTrimmingSpace(exp, "");
3962
+ return {
3963
+ type: "ParenthesizedExpression",
3964
+ children: $0
3965
+ };
3811
3966
  });
3812
3967
  function Condition(state) {
3813
3968
  if (state.tokenize) {
@@ -4616,12 +4771,13 @@ var require_parser = __commonJS({
4616
4771
  }
4617
4772
  var ReservedWord$0 = $S(CoffeeBooleansEnabled, $R$0($EXPECT($R25, fail, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")));
4618
4773
  var ReservedWord$1 = $S(CoffeeIsntEnabled, $R$0($EXPECT($R26, fail, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")));
4619
- var ReservedWord$2 = $R$0($EXPECT($R27, fail, "ReservedWord /(?:and|as|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|loop|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
4774
+ var ReservedWord$2 = $S(CoffeeForLoopsEnabled, $R$0($EXPECT($R27, fail, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")));
4775
+ var ReservedWord$3 = $R$0($EXPECT($R28, fail, "ReservedWord /(?:and|as|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|loop|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
4620
4776
  function ReservedWord(state) {
4621
4777
  if (state.tokenize) {
4622
- return $TOKEN("ReservedWord", state, ReservedWord$0(state) || ReservedWord$1(state) || ReservedWord$2(state));
4778
+ return $TOKEN("ReservedWord", state, ReservedWord$0(state) || ReservedWord$1(state) || ReservedWord$2(state) || ReservedWord$3(state));
4623
4779
  } else {
4624
- return ReservedWord$0(state) || ReservedWord$1(state) || ReservedWord$2(state);
4780
+ return ReservedWord$0(state) || ReservedWord$1(state) || ReservedWord$2(state) || ReservedWord$3(state);
4625
4781
  }
4626
4782
  }
4627
4783
  var Comment$0 = MultiLineComment;
@@ -4633,7 +4789,7 @@ var require_parser = __commonJS({
4633
4789
  return Comment$0(state) || Comment$1(state);
4634
4790
  }
4635
4791
  }
4636
- var SingleLineComment$0 = $TR($EXPECT($R28, fail, "SingleLineComment /\\/\\/[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
4792
+ var SingleLineComment$0 = $TR($EXPECT($R29, fail, "SingleLineComment /\\/\\/[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
4637
4793
  return { $loc, token: $0 };
4638
4794
  });
4639
4795
  var SingleLineComment$1 = $S(CoffeeCommentEnabled, CoffeeSingleLineComment);
@@ -4653,7 +4809,7 @@ var require_parser = __commonJS({
4653
4809
  return MultiLineComment$0(state) || MultiLineComment$1(state);
4654
4810
  }
4655
4811
  }
4656
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L83, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L84, fail, 'JSMultiLineComment "*/"')), $EXPECT($R29, fail, "JSMultiLineComment /./"))), $EXPECT($L84, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
4812
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L83, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L84, fail, 'JSMultiLineComment "*/"')), $EXPECT($R30, fail, "JSMultiLineComment /./"))), $EXPECT($L84, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
4657
4813
  return { $loc, token: $1 };
4658
4814
  });
4659
4815
  function JSMultiLineComment(state) {
@@ -4665,7 +4821,7 @@ var require_parser = __commonJS({
4665
4821
  return JSMultiLineComment$0(state);
4666
4822
  }
4667
4823
  }
4668
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R30, fail, "CoffeeSingleLineComment /#(?!##)([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
4824
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R31, fail, "CoffeeSingleLineComment /#(?!##)([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
4669
4825
  return { $loc, token: `//${$1}` };
4670
4826
  });
4671
4827
  function CoffeeSingleLineComment(state) {
@@ -4677,7 +4833,7 @@ var require_parser = __commonJS({
4677
4833
  return CoffeeSingleLineComment$0(state);
4678
4834
  }
4679
4835
  }
4680
- var CoffeeMultiLineComment$0 = $TS($S($EXPECT($L85, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($C($EXPECT($L85, fail, 'CoffeeMultiLineComment "###"'), $EXPECT($L84, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R29, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L85, fail, 'CoffeeMultiLineComment "###"')), function($skip, $loc, $0, $1, $2, $3) {
4836
+ var CoffeeMultiLineComment$0 = $TS($S($EXPECT($L85, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($C($EXPECT($L85, fail, 'CoffeeMultiLineComment "###"'), $EXPECT($L84, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R30, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L85, fail, 'CoffeeMultiLineComment "###"')), function($skip, $loc, $0, $1, $2, $3) {
4681
4837
  return { $loc, token: `/*${$2}*/` };
4682
4838
  });
4683
4839
  function CoffeeMultiLineComment(state) {
@@ -4689,7 +4845,7 @@ var require_parser = __commonJS({
4689
4845
  return CoffeeMultiLineComment$0(state);
4690
4846
  }
4691
4847
  }
4692
- var InlineComment$0 = $TV($TEXT($S($EXPECT($L83, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L84, fail, 'InlineComment "*/"')), $EXPECT($R31, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L84, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
4848
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L83, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L84, fail, 'InlineComment "*/"')), $EXPECT($R32, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L84, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
4693
4849
  return { $loc, token: $1 };
4694
4850
  });
4695
4851
  function InlineComment(state) {
@@ -4731,7 +4887,7 @@ var require_parser = __commonJS({
4731
4887
  return _$0(state);
4732
4888
  }
4733
4889
  }
4734
- var NonNewlineWhitespace$0 = $TR($EXPECT($R32, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
4890
+ var NonNewlineWhitespace$0 = $TR($EXPECT($R33, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
4735
4891
  return { $loc, token: $0 };
4736
4892
  });
4737
4893
  function NonNewlineWhitespace(state) {
@@ -4753,7 +4909,7 @@ var require_parser = __commonJS({
4753
4909
  return __$0(state);
4754
4910
  }
4755
4911
  }
4756
- var Whitespace$0 = $TR($EXPECT($R33, fail, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
4912
+ var Whitespace$0 = $TR($EXPECT($R34, fail, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
4757
4913
  return { $loc, token: $0 };
4758
4914
  });
4759
4915
  function Whitespace(state) {
@@ -4788,7 +4944,7 @@ var require_parser = __commonJS({
4788
4944
  return StatementDelimiter$0(state) || StatementDelimiter$1(state);
4789
4945
  }
4790
4946
  }
4791
- var NonIdContinue$0 = $R$0($EXPECT($R34, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
4947
+ var NonIdContinue$0 = $R$0($EXPECT($R35, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
4792
4948
  function NonIdContinue(state) {
4793
4949
  if (state.verbose)
4794
4950
  console.log("ENTER:", "NonIdContinue");
@@ -4870,7 +5026,19 @@ var require_parser = __commonJS({
4870
5026
  return Backtick$0(state);
4871
5027
  }
4872
5028
  }
4873
- var Case$0 = $TS($S($EXPECT($L90, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5029
+ var By$0 = $TS($S($EXPECT($L90, fail, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5030
+ return { $loc, token: $1 };
5031
+ });
5032
+ function By(state) {
5033
+ if (state.verbose)
5034
+ console.log("ENTER:", "By");
5035
+ if (state.tokenize) {
5036
+ return $TOKEN("By", state, By$0(state));
5037
+ } else {
5038
+ return By$0(state);
5039
+ }
5040
+ }
5041
+ var Case$0 = $TS($S($EXPECT($L91, fail, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4874
5042
  return { $loc, token: $1 };
4875
5043
  });
4876
5044
  function Case(state) {
@@ -4882,7 +5050,7 @@ var require_parser = __commonJS({
4882
5050
  return Case$0(state);
4883
5051
  }
4884
5052
  }
4885
- var Catch$0 = $TV($EXPECT($L91, fail, 'Catch "catch"'), function($skip, $loc, $0, $1) {
5053
+ var Catch$0 = $TV($EXPECT($L92, fail, 'Catch "catch"'), function($skip, $loc, $0, $1) {
4886
5054
  return { $loc, token: $1 };
4887
5055
  });
4888
5056
  function Catch(state) {
@@ -4894,7 +5062,7 @@ var require_parser = __commonJS({
4894
5062
  return Catch$0(state);
4895
5063
  }
4896
5064
  }
4897
- var Class$0 = $TV($EXPECT($L92, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
5065
+ var Class$0 = $TV($EXPECT($L93, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
4898
5066
  return { $loc, token: $1 };
4899
5067
  });
4900
5068
  function Class(state) {
@@ -4942,7 +5110,7 @@ var require_parser = __commonJS({
4942
5110
  return CloseParen$0(state);
4943
5111
  }
4944
5112
  }
4945
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L93, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
5113
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L94, fail, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
4946
5114
  return { $loc, token: "${" };
4947
5115
  });
4948
5116
  function CoffeeSubstitutionStart(state) {
@@ -4954,7 +5122,7 @@ var require_parser = __commonJS({
4954
5122
  return CoffeeSubstitutionStart$0(state);
4955
5123
  }
4956
5124
  }
4957
- var Colon$0 = $TV($EXPECT($L94, fail, 'Colon ":"'), function($skip, $loc, $0, $1) {
5125
+ var Colon$0 = $TV($EXPECT($L95, fail, 'Colon ":"'), function($skip, $loc, $0, $1) {
4958
5126
  return { $loc, token: $1 };
4959
5127
  });
4960
5128
  function Colon(state) {
@@ -4990,7 +5158,7 @@ var require_parser = __commonJS({
4990
5158
  return Default$0(state);
4991
5159
  }
4992
5160
  }
4993
- var Delete$0 = $TS($S($EXPECT($L95, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5161
+ var Delete$0 = $TS($S($EXPECT($L96, fail, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
4994
5162
  return { $loc, token: $1 };
4995
5163
  });
4996
5164
  function Delete(state) {
@@ -5002,7 +5170,7 @@ var require_parser = __commonJS({
5002
5170
  return Delete$0(state);
5003
5171
  }
5004
5172
  }
5005
- var Do$0 = $TS($S($EXPECT($L96, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5173
+ var Do$0 = $TS($S($EXPECT($L97, fail, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5006
5174
  return { $loc, token: $1 };
5007
5175
  });
5008
5176
  function Do(state) {
@@ -5026,7 +5194,7 @@ var require_parser = __commonJS({
5026
5194
  return Dot$0(state);
5027
5195
  }
5028
5196
  }
5029
- var DotDot$0 = $TV($EXPECT($L97, fail, 'DotDot ".."'), function($skip, $loc, $0, $1) {
5197
+ var DotDot$0 = $TV($EXPECT($L98, fail, 'DotDot ".."'), function($skip, $loc, $0, $1) {
5030
5198
  return { $loc, token: $1 };
5031
5199
  });
5032
5200
  function DotDot(state) {
@@ -5038,7 +5206,7 @@ var require_parser = __commonJS({
5038
5206
  return DotDot$0(state);
5039
5207
  }
5040
5208
  }
5041
- var DotDotDot$0 = $TV($EXPECT($L98, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
5209
+ var DotDotDot$0 = $TV($EXPECT($L99, fail, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
5042
5210
  return { $loc, token: $1 };
5043
5211
  });
5044
5212
  function DotDotDot(state) {
@@ -5050,7 +5218,7 @@ var require_parser = __commonJS({
5050
5218
  return DotDotDot$0(state);
5051
5219
  }
5052
5220
  }
5053
- var DoubleQuote$0 = $TV($EXPECT($L99, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
5221
+ var DoubleQuote$0 = $TV($EXPECT($L100, fail, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
5054
5222
  return { $loc, token: $1 };
5055
5223
  });
5056
5224
  function DoubleQuote(state) {
@@ -5062,7 +5230,7 @@ var require_parser = __commonJS({
5062
5230
  return DoubleQuote$0(state);
5063
5231
  }
5064
5232
  }
5065
- var Else$0 = $TV($EXPECT($L100, fail, 'Else "else"'), function($skip, $loc, $0, $1) {
5233
+ var Else$0 = $TV($EXPECT($L101, fail, 'Else "else"'), function($skip, $loc, $0, $1) {
5066
5234
  return { $loc, token: $1 };
5067
5235
  });
5068
5236
  function Else(state) {
@@ -5086,7 +5254,7 @@ var require_parser = __commonJS({
5086
5254
  return Equals$0(state);
5087
5255
  }
5088
5256
  }
5089
- var Export$0 = $TS($S($EXPECT($L101, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5257
+ var Export$0 = $TS($S($EXPECT($L102, fail, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5090
5258
  return { $loc, token: $1 };
5091
5259
  });
5092
5260
  function Export(state) {
@@ -5098,7 +5266,7 @@ var require_parser = __commonJS({
5098
5266
  return Export$0(state);
5099
5267
  }
5100
5268
  }
5101
- var For$0 = $TS($S($EXPECT($L102, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5269
+ var For$0 = $TS($S($EXPECT($L103, fail, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5102
5270
  return { $loc, token: $1 };
5103
5271
  });
5104
5272
  function For(state) {
@@ -5110,7 +5278,7 @@ var require_parser = __commonJS({
5110
5278
  return For$0(state);
5111
5279
  }
5112
5280
  }
5113
- var From$0 = $TS($S($EXPECT($L103, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5281
+ var From$0 = $TS($S($EXPECT($L104, fail, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5114
5282
  return { $loc, token: $1 };
5115
5283
  });
5116
5284
  function From(state) {
@@ -5122,7 +5290,7 @@ var require_parser = __commonJS({
5122
5290
  return From$0(state);
5123
5291
  }
5124
5292
  }
5125
- var Function$0 = $TV($EXPECT($L104, fail, 'Function "function"'), function($skip, $loc, $0, $1) {
5293
+ var Function$0 = $TV($EXPECT($L105, fail, 'Function "function"'), function($skip, $loc, $0, $1) {
5126
5294
  return { $loc, token: $1 };
5127
5295
  });
5128
5296
  function Function(state) {
@@ -5134,7 +5302,7 @@ var require_parser = __commonJS({
5134
5302
  return Function$0(state);
5135
5303
  }
5136
5304
  }
5137
- var GetOrSet$0 = $TS($S($C($EXPECT($L105, fail, 'GetOrSet "get"'), $EXPECT($L106, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5305
+ var GetOrSet$0 = $TS($S($C($EXPECT($L106, fail, 'GetOrSet "get"'), $EXPECT($L107, fail, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5138
5306
  return { $loc, token: $1 };
5139
5307
  });
5140
5308
  function GetOrSet(state) {
@@ -5146,7 +5314,7 @@ var require_parser = __commonJS({
5146
5314
  return GetOrSet$0(state);
5147
5315
  }
5148
5316
  }
5149
- var If$0 = $TV($TEXT($S($EXPECT($L107, fail, 'If "if"'), $E($EXPECT($L108, fail, 'If " "')))), function($skip, $loc, $0, $1) {
5317
+ var If$0 = $TV($TEXT($S($EXPECT($L108, fail, 'If "if"'), $E($EXPECT($L109, fail, 'If " "')))), function($skip, $loc, $0, $1) {
5150
5318
  return { $loc, token: $1 };
5151
5319
  });
5152
5320
  function If(state) {
@@ -5158,7 +5326,7 @@ var require_parser = __commonJS({
5158
5326
  return If$0(state);
5159
5327
  }
5160
5328
  }
5161
- var Import$0 = $TS($S($EXPECT($L11, fail, 'Import "import"'), $Y($EXPECT($R35, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
5329
+ var Import$0 = $TS($S($EXPECT($L11, fail, 'Import "import"'), $Y($EXPECT($R36, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
5162
5330
  return { $loc, token: $1 };
5163
5331
  });
5164
5332
  function Import(state) {
@@ -5182,7 +5350,7 @@ var require_parser = __commonJS({
5182
5350
  return In$0(state);
5183
5351
  }
5184
5352
  }
5185
- var LetOrConst$0 = $TV($C($EXPECT($L109, fail, 'LetOrConst "let"'), $EXPECT($L110, fail, 'LetOrConst "const"')), function($skip, $loc, $0, $1) {
5353
+ var LetOrConst$0 = $TV($C($EXPECT($L110, fail, 'LetOrConst "let"'), $EXPECT($L111, fail, 'LetOrConst "const"')), function($skip, $loc, $0, $1) {
5186
5354
  return { $loc, token: $1 };
5187
5355
  });
5188
5356
  function LetOrConst(state) {
@@ -5194,7 +5362,7 @@ var require_parser = __commonJS({
5194
5362
  return LetOrConst$0(state);
5195
5363
  }
5196
5364
  }
5197
- var Loop$0 = $TS($S($EXPECT($L111, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5365
+ var Loop$0 = $TS($S($EXPECT($L112, fail, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5198
5366
  return { $loc, token: "while(true)" };
5199
5367
  });
5200
5368
  function Loop(state) {
@@ -5206,7 +5374,7 @@ var require_parser = __commonJS({
5206
5374
  return Loop$0(state);
5207
5375
  }
5208
5376
  }
5209
- var New$0 = $TV($EXPECT($L112, fail, 'New "new"'), function($skip, $loc, $0, $1) {
5377
+ var New$0 = $TV($EXPECT($L113, fail, 'New "new"'), function($skip, $loc, $0, $1) {
5210
5378
  return { $loc, token: $1 };
5211
5379
  });
5212
5380
  function New(state) {
@@ -5218,7 +5386,7 @@ var require_parser = __commonJS({
5218
5386
  return New$0(state);
5219
5387
  }
5220
5388
  }
5221
- var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L113, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L108, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5389
+ var Not$0 = $TS($S(CoffeeNotEnabled, $EXPECT($L114, fail, 'Not "not"'), NonIdContinue, $E($EXPECT($L109, fail, 'Not " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5222
5390
  return { $loc, token: "!" };
5223
5391
  });
5224
5392
  function Not(state) {
@@ -5242,7 +5410,7 @@ var require_parser = __commonJS({
5242
5410
  return Of$0(state);
5243
5411
  }
5244
5412
  }
5245
- var OpenBrace$0 = $TV($EXPECT($L114, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
5413
+ var OpenBrace$0 = $TV($EXPECT($L115, fail, 'OpenBrace "{"'), function($skip, $loc, $0, $1) {
5246
5414
  return { $loc, token: $1 };
5247
5415
  });
5248
5416
  function OpenBrace(state) {
@@ -5254,7 +5422,7 @@ var require_parser = __commonJS({
5254
5422
  return OpenBrace$0(state);
5255
5423
  }
5256
5424
  }
5257
- var OpenBracket$0 = $TV($EXPECT($L115, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
5425
+ var OpenBracket$0 = $TV($EXPECT($L116, fail, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
5258
5426
  return { $loc, token: $1 };
5259
5427
  });
5260
5428
  function OpenBracket(state) {
@@ -5266,7 +5434,7 @@ var require_parser = __commonJS({
5266
5434
  return OpenBracket$0(state);
5267
5435
  }
5268
5436
  }
5269
- var OpenParen$0 = $TV($EXPECT($L116, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
5437
+ var OpenParen$0 = $TV($EXPECT($L117, fail, 'OpenParen "("'), function($skip, $loc, $0, $1) {
5270
5438
  return { $loc, token: $1 };
5271
5439
  });
5272
5440
  function OpenParen(state) {
@@ -5278,7 +5446,7 @@ var require_parser = __commonJS({
5278
5446
  return OpenParen$0(state);
5279
5447
  }
5280
5448
  }
5281
- var QuestionMark$0 = $TV($EXPECT($L117, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
5449
+ var QuestionMark$0 = $TV($EXPECT($L118, fail, 'QuestionMark "?"'), function($skip, $loc, $0, $1) {
5282
5450
  return { $loc, token: $1 };
5283
5451
  });
5284
5452
  function QuestionMark(state) {
@@ -5290,7 +5458,7 @@ var require_parser = __commonJS({
5290
5458
  return QuestionMark$0(state);
5291
5459
  }
5292
5460
  }
5293
- var Return$0 = $TS($S($EXPECT($L118, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5461
+ var Return$0 = $TS($S($EXPECT($L119, fail, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5294
5462
  return { $loc, token: $1 };
5295
5463
  });
5296
5464
  function Return(state) {
@@ -5314,7 +5482,7 @@ var require_parser = __commonJS({
5314
5482
  return Semicolon$0(state);
5315
5483
  }
5316
5484
  }
5317
- var SingleQuote$0 = $TV($EXPECT($L119, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
5485
+ var SingleQuote$0 = $TV($EXPECT($L120, fail, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
5318
5486
  return { $loc, token: $1 };
5319
5487
  });
5320
5488
  function SingleQuote(state) {
@@ -5338,10 +5506,10 @@ var require_parser = __commonJS({
5338
5506
  return Star$0(state);
5339
5507
  }
5340
5508
  }
5341
- var Static$0 = $TV($EXPECT($L120, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
5509
+ var Static$0 = $TV($EXPECT($L121, fail, 'Static "static"'), function($skip, $loc, $0, $1) {
5342
5510
  return { $loc, token: $1 };
5343
5511
  });
5344
- var Static$1 = $TS($S($EXPECT($L8, fail, 'Static "@"'), $N($EXPECT($L116, fail, 'Static "("'))), function($skip, $loc, $0, $1, $2) {
5512
+ var Static$1 = $TS($S($EXPECT($L8, fail, 'Static "@"'), $N($EXPECT($L117, fail, 'Static "("'))), function($skip, $loc, $0, $1, $2) {
5345
5513
  return { $loc, token: "static " };
5346
5514
  });
5347
5515
  function Static(state) {
@@ -5351,7 +5519,7 @@ var require_parser = __commonJS({
5351
5519
  return Static$0(state) || Static$1(state);
5352
5520
  }
5353
5521
  }
5354
- var SubstitutionStart$0 = $TV($EXPECT($L121, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
5522
+ var SubstitutionStart$0 = $TV($EXPECT($L122, fail, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
5355
5523
  return { $loc, token: $1 };
5356
5524
  });
5357
5525
  function SubstitutionStart(state) {
@@ -5363,7 +5531,7 @@ var require_parser = __commonJS({
5363
5531
  return SubstitutionStart$0(state);
5364
5532
  }
5365
5533
  }
5366
- var Switch$0 = $TS($S($EXPECT($L122, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5534
+ var Switch$0 = $TS($S($EXPECT($L123, fail, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5367
5535
  return { $loc, token: $1 };
5368
5536
  });
5369
5537
  function Switch(state) {
@@ -5375,7 +5543,7 @@ var require_parser = __commonJS({
5375
5543
  return Switch$0(state);
5376
5544
  }
5377
5545
  }
5378
- var Target$0 = $TV($EXPECT($L123, fail, 'Target "target"'), function($skip, $loc, $0, $1) {
5546
+ var Target$0 = $TV($EXPECT($L124, fail, 'Target "target"'), function($skip, $loc, $0, $1) {
5379
5547
  return { $loc, token: $1 };
5380
5548
  });
5381
5549
  function Target(state) {
@@ -5387,7 +5555,7 @@ var require_parser = __commonJS({
5387
5555
  return Target$0(state);
5388
5556
  }
5389
5557
  }
5390
- var Then$0 = $TS($S(__, $EXPECT($L124, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5558
+ var Then$0 = $TS($S(__, $EXPECT($L125, fail, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5391
5559
  return { $loc, token: "" };
5392
5560
  });
5393
5561
  function Then(state) {
@@ -5399,7 +5567,7 @@ var require_parser = __commonJS({
5399
5567
  return Then$0(state);
5400
5568
  }
5401
5569
  }
5402
- var Throw$0 = $TS($S($EXPECT($L125, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5570
+ var Throw$0 = $TS($S($EXPECT($L126, fail, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5403
5571
  return { $loc, token: $1 };
5404
5572
  });
5405
5573
  function Throw(state) {
@@ -5411,7 +5579,7 @@ var require_parser = __commonJS({
5411
5579
  return Throw$0(state);
5412
5580
  }
5413
5581
  }
5414
- var TripleDoubleQuote$0 = $TV($EXPECT($L126, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
5582
+ var TripleDoubleQuote$0 = $TV($EXPECT($L127, fail, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
5415
5583
  return { $loc, token: "`" };
5416
5584
  });
5417
5585
  function TripleDoubleQuote(state) {
@@ -5423,7 +5591,7 @@ var require_parser = __commonJS({
5423
5591
  return TripleDoubleQuote$0(state);
5424
5592
  }
5425
5593
  }
5426
- var TripleSingleQuote$0 = $TV($EXPECT($L127, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
5594
+ var TripleSingleQuote$0 = $TV($EXPECT($L128, fail, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
5427
5595
  return { $loc, token: "`" };
5428
5596
  });
5429
5597
  function TripleSingleQuote(state) {
@@ -5435,7 +5603,7 @@ var require_parser = __commonJS({
5435
5603
  return TripleSingleQuote$0(state);
5436
5604
  }
5437
5605
  }
5438
- var TripleTick$0 = $TV($EXPECT($L128, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
5606
+ var TripleTick$0 = $TV($EXPECT($L129, fail, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
5439
5607
  return { $loc, token: "`" };
5440
5608
  });
5441
5609
  function TripleTick(state) {
@@ -5447,7 +5615,7 @@ var require_parser = __commonJS({
5447
5615
  return TripleTick$0(state);
5448
5616
  }
5449
5617
  }
5450
- var Try$0 = $TV($EXPECT($L129, fail, 'Try "try"'), function($skip, $loc, $0, $1) {
5618
+ var Try$0 = $TV($EXPECT($L130, fail, 'Try "try"'), function($skip, $loc, $0, $1) {
5451
5619
  return { $loc, token: $1 };
5452
5620
  });
5453
5621
  function Try(state) {
@@ -5459,7 +5627,7 @@ var require_parser = __commonJS({
5459
5627
  return Try$0(state);
5460
5628
  }
5461
5629
  }
5462
- var Typeof$0 = $TS($S($EXPECT($L130, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5630
+ var Typeof$0 = $TS($S($EXPECT($L131, fail, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5463
5631
  return { $loc, token: $1 };
5464
5632
  });
5465
5633
  function Typeof(state) {
@@ -5471,7 +5639,7 @@ var require_parser = __commonJS({
5471
5639
  return Typeof$0(state);
5472
5640
  }
5473
5641
  }
5474
- var Unless$0 = $TV($EXPECT($L131, fail, 'Unless "unless"'), function($skip, $loc, $0, $1) {
5642
+ var Unless$0 = $TV($EXPECT($L132, fail, 'Unless "unless"'), function($skip, $loc, $0, $1) {
5475
5643
  return { $loc, token: $1 };
5476
5644
  });
5477
5645
  function Unless(state) {
@@ -5483,7 +5651,7 @@ var require_parser = __commonJS({
5483
5651
  return Unless$0(state);
5484
5652
  }
5485
5653
  }
5486
- var Until$0 = $TS($S($EXPECT($L132, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5654
+ var Until$0 = $TS($S($EXPECT($L133, fail, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5487
5655
  return { $loc, token: $1 };
5488
5656
  });
5489
5657
  function Until(state) {
@@ -5495,7 +5663,7 @@ var require_parser = __commonJS({
5495
5663
  return Until$0(state);
5496
5664
  }
5497
5665
  }
5498
- var Var$0 = $TV($EXPECT($L133, fail, 'Var "var"'), function($skip, $loc, $0, $1) {
5666
+ var Var$0 = $TV($EXPECT($L134, fail, 'Var "var"'), function($skip, $loc, $0, $1) {
5499
5667
  return { $loc, token: $1 };
5500
5668
  });
5501
5669
  function Var(state) {
@@ -5507,7 +5675,7 @@ var require_parser = __commonJS({
5507
5675
  return Var$0(state);
5508
5676
  }
5509
5677
  }
5510
- var Void$0 = $TS($S($EXPECT($L134, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5678
+ var Void$0 = $TS($S($EXPECT($L135, fail, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5511
5679
  return { $loc, token: $1 };
5512
5680
  });
5513
5681
  function Void(state) {
@@ -5519,7 +5687,7 @@ var require_parser = __commonJS({
5519
5687
  return Void$0(state);
5520
5688
  }
5521
5689
  }
5522
- var When$0 = $TS($S($EXPECT($L135, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5690
+ var When$0 = $TS($S($EXPECT($L136, fail, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5523
5691
  return { $loc, token: "case" };
5524
5692
  });
5525
5693
  function When(state) {
@@ -5531,7 +5699,7 @@ var require_parser = __commonJS({
5531
5699
  return When$0(state);
5532
5700
  }
5533
5701
  }
5534
- var While$0 = $TS($S($EXPECT($L136, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5702
+ var While$0 = $TS($S($EXPECT($L137, fail, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5535
5703
  return { $loc, token: $1 };
5536
5704
  });
5537
5705
  function While(state) {
@@ -5543,7 +5711,7 @@ var require_parser = __commonJS({
5543
5711
  return While$0(state);
5544
5712
  }
5545
5713
  }
5546
- var Yield$0 = $TS($S($EXPECT($L137, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5714
+ var Yield$0 = $TS($S($EXPECT($L138, fail, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
5547
5715
  return { $loc, token: $1 };
5548
5716
  });
5549
5717
  function Yield(state) {
@@ -5569,7 +5737,7 @@ var require_parser = __commonJS({
5569
5737
  return JSXElement$0(state) || JSXElement$1(state);
5570
5738
  }
5571
5739
  }
5572
- var JSXSelfClosingElement$0 = $S($EXPECT($L4, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L138, fail, 'JSXSelfClosingElement "/>"'));
5740
+ var JSXSelfClosingElement$0 = $S($EXPECT($L4, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L139, fail, 'JSXSelfClosingElement "/>"'));
5573
5741
  function JSXSelfClosingElement(state) {
5574
5742
  if (state.verbose)
5575
5743
  console.log("ENTER:", "JSXSelfClosingElement");
@@ -5589,7 +5757,7 @@ var require_parser = __commonJS({
5589
5757
  return JSXOpeningElement$0(state);
5590
5758
  }
5591
5759
  }
5592
- var JSXClosingElement$0 = $S($EXPECT($L139, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L56, fail, 'JSXClosingElement ">"'));
5760
+ var JSXClosingElement$0 = $S($EXPECT($L140, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L56, fail, 'JSXClosingElement ">"'));
5593
5761
  function JSXClosingElement(state) {
5594
5762
  if (state.verbose)
5595
5763
  console.log("ENTER:", "JSXClosingElement");
@@ -5599,7 +5767,7 @@ var require_parser = __commonJS({
5599
5767
  return JSXClosingElement$0(state);
5600
5768
  }
5601
5769
  }
5602
- var JSXFragment$0 = $S($EXPECT($L140, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L141, fail, 'JSXFragment "</>"'));
5770
+ var JSXFragment$0 = $S($EXPECT($L141, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L142, fail, 'JSXFragment "</>"'));
5603
5771
  function JSXFragment(state) {
5604
5772
  if (state.verbose)
5605
5773
  console.log("ENTER:", "JSXFragment");
@@ -5619,7 +5787,7 @@ var require_parser = __commonJS({
5619
5787
  return JSXElementName$0(state);
5620
5788
  }
5621
5789
  }
5622
- var JSXIdentifierName$0 = $R$0($EXPECT($R36, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
5790
+ var JSXIdentifierName$0 = $R$0($EXPECT($R37, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
5623
5791
  function JSXIdentifierName(state) {
5624
5792
  if (state.verbose)
5625
5793
  console.log("ENTER:", "JSXIdentifierName");
@@ -5668,8 +5836,8 @@ var require_parser = __commonJS({
5668
5836
  return JSXAttributeInitializer$0(state);
5669
5837
  }
5670
5838
  }
5671
- var JSXAttributeValue$0 = $R$0($EXPECT($R37, fail, 'JSXAttributeValue /"[^"]*"/'));
5672
- var JSXAttributeValue$1 = $R$0($EXPECT($R38, fail, "JSXAttributeValue /'[^']*'/"));
5839
+ var JSXAttributeValue$0 = $R$0($EXPECT($R38, fail, 'JSXAttributeValue /"[^"]*"/'));
5840
+ var JSXAttributeValue$1 = $R$0($EXPECT($R39, fail, "JSXAttributeValue /'[^']*'/"));
5673
5841
  var JSXAttributeValue$2 = $S(OpenBrace, ExtendedExpression, __, CloseBrace);
5674
5842
  var JSXAttributeValue$3 = JSXElement;
5675
5843
  var JSXAttributeValue$4 = JSXFragment;
@@ -5701,7 +5869,7 @@ var require_parser = __commonJS({
5701
5869
  return JSXChild$0(state) || JSXChild$1(state) || JSXChild$2(state) || JSXChild$3(state);
5702
5870
  }
5703
5871
  }
5704
- var JSXText$0 = $R$0($EXPECT($R39, fail, "JSXText /[^{}<>]+/"));
5872
+ var JSXText$0 = $R$0($EXPECT($R40, fail, "JSXText /[^{}<>]+/"));
5705
5873
  function JSXText(state) {
5706
5874
  if (state.verbose)
5707
5875
  console.log("ENTER:", "JSXText");
@@ -5733,7 +5901,7 @@ var require_parser = __commonJS({
5733
5901
  return TypeDeclaration$0(state);
5734
5902
  }
5735
5903
  }
5736
- var TypeDeclarationModifier$0 = $S($EXPECT($L142, fail, 'TypeDeclarationModifier "declare"'), NonIdContinue);
5904
+ var TypeDeclarationModifier$0 = $S($EXPECT($L143, fail, 'TypeDeclarationModifier "declare"'), NonIdContinue);
5737
5905
  var TypeDeclarationModifier$1 = Export;
5738
5906
  function TypeDeclarationModifier(state) {
5739
5907
  if (state.tokenize) {
@@ -5753,7 +5921,7 @@ var require_parser = __commonJS({
5753
5921
  return TypeDeclarationRest$0(state) || TypeDeclarationRest$1(state) || TypeDeclarationRest$2(state) || TypeDeclarationRest$3(state);
5754
5922
  }
5755
5923
  }
5756
- var TypeKeyword$0 = $S($EXPECT($L143, fail, 'TypeKeyword "type"'), NonIdContinue);
5924
+ var TypeKeyword$0 = $S($EXPECT($L144, fail, 'TypeKeyword "type"'), NonIdContinue);
5757
5925
  function TypeKeyword(state) {
5758
5926
  if (state.verbose)
5759
5927
  console.log("ENTER:", "TypeKeyword");
@@ -5763,7 +5931,7 @@ var require_parser = __commonJS({
5763
5931
  return TypeKeyword$0(state);
5764
5932
  }
5765
5933
  }
5766
- var Interface$0 = $S($EXPECT($L144, fail, 'Interface "interface"'), NonIdContinue);
5934
+ var Interface$0 = $S($EXPECT($L145, fail, 'Interface "interface"'), NonIdContinue);
5767
5935
  function Interface(state) {
5768
5936
  if (state.verbose)
5769
5937
  console.log("ENTER:", "Interface");
@@ -5773,7 +5941,7 @@ var require_parser = __commonJS({
5773
5941
  return Interface$0(state);
5774
5942
  }
5775
5943
  }
5776
- var Namespace$0 = $S($EXPECT($L145, fail, 'Namespace "namespace"'), NonIdContinue);
5944
+ var Namespace$0 = $S($EXPECT($L146, fail, 'Namespace "namespace"'), NonIdContinue);
5777
5945
  function Namespace(state) {
5778
5946
  if (state.verbose)
5779
5947
  console.log("ENTER:", "Namespace");
@@ -5873,7 +6041,7 @@ var require_parser = __commonJS({
5873
6041
  return NestedTypeDeclaration$0(state);
5874
6042
  }
5875
6043
  }
5876
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R40, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L146, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R41, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
6044
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R41, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L147, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R42, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
5877
6045
  function TypeIndexSignature(state) {
5878
6046
  if (state.verbose)
5879
6047
  console.log("ENTER:", "TypeIndexSignature");
@@ -5904,7 +6072,7 @@ var require_parser = __commonJS({
5904
6072
  return TypeSuffix$0(state);
5905
6073
  }
5906
6074
  }
5907
- var ReturnTypeSuffix$0 = $TS($S(__, Colon, $E($S(__, $EXPECT($L147, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
6075
+ var ReturnTypeSuffix$0 = $TS($S(__, Colon, $E($S(__, $EXPECT($L148, fail, 'ReturnTypeSuffix "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2, $3, $4) {
5908
6076
  if (!$3)
5909
6077
  $0.splice(2, 1);
5910
6078
  if ($1.length === 0)
@@ -5987,9 +6155,9 @@ var require_parser = __commonJS({
5987
6155
  return TypeUnarySuffix$0(state) || TypeUnarySuffix$1(state);
5988
6156
  }
5989
6157
  }
5990
- var TypeUnaryOp$0 = $EXPECT($L148, fail, 'TypeUnaryOp "keyof"');
5991
- var TypeUnaryOp$1 = $EXPECT($L130, fail, 'TypeUnaryOp "typeof"');
5992
- var TypeUnaryOp$2 = $EXPECT($L149, fail, 'TypeUnaryOp "infer"');
6158
+ var TypeUnaryOp$0 = $EXPECT($L149, fail, 'TypeUnaryOp "keyof"');
6159
+ var TypeUnaryOp$1 = $EXPECT($L131, fail, 'TypeUnaryOp "typeof"');
6160
+ var TypeUnaryOp$2 = $EXPECT($L150, fail, 'TypeUnaryOp "infer"');
5993
6161
  function TypeUnaryOp(state) {
5994
6162
  if (state.tokenize) {
5995
6163
  return $TOKEN("TypeUnaryOp", state, TypeUnaryOp$0(state) || TypeUnaryOp$1(state) || TypeUnaryOp$2(state));
@@ -6079,10 +6247,10 @@ var require_parser = __commonJS({
6079
6247
  }
6080
6248
  }
6081
6249
  var TypeLiteral$0 = Literal;
6082
- var TypeLiteral$1 = $TV($EXPECT($L134, fail, 'TypeLiteral "void"'), function($skip, $loc, $0, $1) {
6250
+ var TypeLiteral$1 = $TV($EXPECT($L135, fail, 'TypeLiteral "void"'), function($skip, $loc, $0, $1) {
6083
6251
  return { $loc, token: "void" };
6084
6252
  });
6085
- var TypeLiteral$2 = $TV($EXPECT($L150, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
6253
+ var TypeLiteral$2 = $TV($EXPECT($L151, fail, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
6086
6254
  return { $loc, token: "[]" };
6087
6255
  });
6088
6256
  function TypeLiteral(state) {
@@ -6172,7 +6340,7 @@ var require_parser = __commonJS({
6172
6340
  return TypeParameterDelimiter$0(state) || TypeParameterDelimiter$1(state) || TypeParameterDelimiter$2(state) || TypeParameterDelimiter$3(state);
6173
6341
  }
6174
6342
  }
6175
- var Shebang$0 = $S($R$0($EXPECT($R42, fail, "Shebang /#![^\\r\\n]*/")), EOL);
6343
+ var Shebang$0 = $S($R$0($EXPECT($R43, fail, "Shebang /#![^\\r\\n]*/")), EOL);
6176
6344
  function Shebang(state) {
6177
6345
  if (state.verbose)
6178
6346
  console.log("ENTER:", "Shebang");
@@ -6182,11 +6350,11 @@ var require_parser = __commonJS({
6182
6350
  return Shebang$0(state);
6183
6351
  }
6184
6352
  }
6185
- var CivetPrologue$0 = $T($S($EXPECT($R43, fail, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
6353
+ var CivetPrologue$0 = $T($S($EXPECT($R44, fail, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
6186
6354
  var content = value[2];
6187
6355
  return content;
6188
6356
  });
6189
- var CivetPrologue$1 = $T($S($EXPECT($R43, fail, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
6357
+ var CivetPrologue$1 = $T($S($EXPECT($R44, fail, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
6190
6358
  var content = value[2];
6191
6359
  return content;
6192
6360
  });
@@ -6197,7 +6365,7 @@ var require_parser = __commonJS({
6197
6365
  return CivetPrologue$0(state) || CivetPrologue$1(state);
6198
6366
  }
6199
6367
  }
6200
- var CivetPrologueContent$0 = $TS($S($EXPECT($L151, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R44, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
6368
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L152, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R45, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
6201
6369
  var options = $2;
6202
6370
  return {
6203
6371
  type: "CivetPrologue",
@@ -6214,7 +6382,7 @@ var require_parser = __commonJS({
6214
6382
  return CivetPrologueContent$0(state);
6215
6383
  }
6216
6384
  }
6217
- var CivetOption$0 = $TR($EXPECT($R45, fail, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
6385
+ var CivetOption$0 = $TR($EXPECT($R46, fail, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
6218
6386
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
6219
6387
  if (l)
6220
6388
  return l.toUpperCase();
@@ -6232,7 +6400,7 @@ var require_parser = __commonJS({
6232
6400
  return CivetOption$0(state);
6233
6401
  }
6234
6402
  }
6235
- var UnknownPrologue$0 = $S($R$0($EXPECT($R43, fail, "UnknownPrologue /[\\t ]*/")), BasicStringLiteral, $TEXT(StatementDelimiter), EOS);
6403
+ var UnknownPrologue$0 = $S($R$0($EXPECT($R44, fail, "UnknownPrologue /[\\t ]*/")), BasicStringLiteral, $TEXT(StatementDelimiter), EOS);
6236
6404
  function UnknownPrologue(state) {
6237
6405
  if (state.verbose)
6238
6406
  console.log("ENTER:", "UnknownPrologue");
@@ -6261,7 +6429,7 @@ var require_parser = __commonJS({
6261
6429
  return EOS$0(state);
6262
6430
  }
6263
6431
  }
6264
- var EOL$0 = $TR($EXPECT($R46, fail, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
6432
+ var EOL$0 = $TR($EXPECT($R47, fail, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
6265
6433
  return { $loc, token: $0 };
6266
6434
  });
6267
6435
  function EOL(state) {
@@ -6417,6 +6585,20 @@ var require_parser = __commonJS({
6417
6585
  return InsertBreak$0(state);
6418
6586
  }
6419
6587
  }
6588
+ var CoffeeBooleansEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeBooleansEnabled ""'), function($skip, $loc, $0, $1) {
6589
+ if (module2.config.coffeeBooleans)
6590
+ return;
6591
+ return $skip;
6592
+ });
6593
+ function CoffeeBooleansEnabled(state) {
6594
+ if (state.verbose)
6595
+ console.log("ENTER:", "CoffeeBooleansEnabled");
6596
+ if (state.tokenize) {
6597
+ return $TOKEN("CoffeeBooleansEnabled", state, CoffeeBooleansEnabled$0(state));
6598
+ } else {
6599
+ return CoffeeBooleansEnabled$0(state);
6600
+ }
6601
+ }
6420
6602
  var CoffeeCommentEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeCommentEnabled ""'), function($skip, $loc, $0, $1) {
6421
6603
  if (module2.config.coffeeComment)
6422
6604
  return;
@@ -6431,18 +6613,18 @@ var require_parser = __commonJS({
6431
6613
  return CoffeeCommentEnabled$0(state);
6432
6614
  }
6433
6615
  }
6434
- var CoffeeBooleansEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeBooleansEnabled ""'), function($skip, $loc, $0, $1) {
6435
- if (module2.config.coffeeBooleans)
6616
+ var CoffeeDoEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeDoEnabled ""'), function($skip, $loc, $0, $1) {
6617
+ if (module2.config.coffeeDo)
6436
6618
  return;
6437
6619
  return $skip;
6438
6620
  });
6439
- function CoffeeBooleansEnabled(state) {
6621
+ function CoffeeDoEnabled(state) {
6440
6622
  if (state.verbose)
6441
- console.log("ENTER:", "CoffeeBooleansEnabled");
6623
+ console.log("ENTER:", "CoffeeDoEnabled");
6442
6624
  if (state.tokenize) {
6443
- return $TOKEN("CoffeeBooleansEnabled", state, CoffeeBooleansEnabled$0(state));
6625
+ return $TOKEN("CoffeeDoEnabled", state, CoffeeDoEnabled$0(state));
6444
6626
  } else {
6445
- return CoffeeBooleansEnabled$0(state);
6627
+ return CoffeeDoEnabled$0(state);
6446
6628
  }
6447
6629
  }
6448
6630
  var CoffeeForLoopsEnabled$0 = $TV($EXPECT($L0, fail, 'CoffeeForLoopsEnabled ""'), function($skip, $loc, $0, $1) {
@@ -6523,6 +6705,7 @@ var require_parser = __commonJS({
6523
6705
  autoVar: false,
6524
6706
  coffeeBooleans: false,
6525
6707
  coffeeComment: false,
6708
+ coffeeDo: false,
6526
6709
  coffeeEq: false,
6527
6710
  coffeeForLoops: false,
6528
6711
  coffeeInterpolation: false,
@@ -6575,6 +6758,7 @@ var require_parser = __commonJS({
6575
6758
  this.autoVar = true;
6576
6759
  this.coffeeBooleans = true;
6577
6760
  this.coffeeComment = true;
6761
+ this.coffeeDo = true;
6578
6762
  this.coffeeEq = true;
6579
6763
  this.coffeeForLoops = true;
6580
6764
  this.coffeeInterpolation = true;
@@ -6585,6 +6769,7 @@ var require_parser = __commonJS({
6585
6769
  this.autoVar = false;
6586
6770
  this.coffeeBooleans = false;
6587
6771
  this.coffeeComment = false;
6772
+ this.coffeeDo = false;
6588
6773
  this.coffeeEq = false;
6589
6774
  this.coffeeForLoops = false;
6590
6775
  this.coffeeInterpolation = false;
@@ -6993,7 +7178,7 @@ var require_parser = __commonJS({
6993
7178
  return Init$0(state);
6994
7179
  }
6995
7180
  }
6996
- var Indent$0 = $TV($Q($C($EXPECT($L152, fail, 'Indent " "'), $EXPECT($L153, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
7181
+ var Indent$0 = $TV($Q($C($EXPECT($L153, fail, 'Indent " "'), $EXPECT($L154, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
6997
7182
  const level = $1.length;
6998
7183
  return {
6999
7184
  $loc,