@danielx/civet 0.6.27 → 0.6.29

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/browser.js CHANGED
@@ -1546,26 +1546,32 @@ ${input.slice(result.pos)}
1546
1546
  return gatherRecursive(node, predicate, isFunction);
1547
1547
  }
1548
1548
  function insertTrimmingSpace(target, c) {
1549
- if (!target)
1549
+ if (!target) {
1550
1550
  return target;
1551
- if (Array.isArray(target))
1551
+ }
1552
+ if (Array.isArray(target)) {
1553
+ if (target.length === 0) {
1554
+ return c;
1555
+ }
1552
1556
  return target.map((e, i) => {
1553
- if (i === 0)
1557
+ if (i === 0) {
1554
1558
  return insertTrimmingSpace(e, c);
1559
+ }
1555
1560
  return e;
1556
1561
  });
1557
- if (target.children)
1558
- return Object.assign({}, target, {
1559
- children: target.children.map((e, i) => {
1560
- if (i === 0)
1561
- return insertTrimmingSpace(e, c);
1562
- return e;
1563
- })
1564
- });
1565
- if (target.token)
1566
- return Object.assign({}, target, {
1562
+ }
1563
+ if (target.children) {
1564
+ return {
1565
+ ...target,
1566
+ children: insertTrimmingSpace(target.children, c)
1567
+ };
1568
+ }
1569
+ if (target.token) {
1570
+ return {
1571
+ ...target,
1567
1572
  token: target.token.replace(/^ ?/, c)
1568
- });
1573
+ };
1574
+ }
1569
1575
  return target;
1570
1576
  }
1571
1577
  function getTrimmingSpace(target) {
@@ -2012,25 +2018,6 @@ ${input.slice(result.pos)}
2012
2018
  length: assign.$loc.length + 1
2013
2019
  }
2014
2020
  };
2015
- if (decl.token.startsWith("const")) {
2016
- let exp;
2017
- if (e.type === "FunctionExpression") {
2018
- exp = e;
2019
- } else {
2020
- exp = e[1];
2021
- }
2022
- if (exp?.children?.[0]?.token?.match(/^\s+$/))
2023
- exp.children.shift();
2024
- if (id.type === "Identifier" && exp?.type === "FunctionExpression" && !exp.id) {
2025
- const i = exp.children.findIndex((c) => c?.token === "function") + 1;
2026
- exp = {
2027
- ...exp,
2028
- children: [...exp.children.slice(0, i), " ", id, suffix, ws, ...exp.children.slice(i)],
2029
- id
2030
- };
2031
- return exp;
2032
- }
2033
- }
2034
2021
  let [splices, thisAssignments] = gatherBindingCode(id);
2035
2022
  splices = splices.map((s) => [", ", s]);
2036
2023
  thisAssignments = thisAssignments.map((a) => ["", a, ";"]);
@@ -3420,8 +3407,10 @@ ${input.slice(result.pos)}
3420
3407
  NonNullAssertion,
3421
3408
  MemberExpression,
3422
3409
  MemberExpressionRest,
3410
+ MemberExpressionRestBody,
3423
3411
  MemberBracketContent,
3424
3412
  SliceParameters,
3413
+ AccessStart,
3425
3414
  PropertyAccess,
3426
3415
  PropertyGlob,
3427
3416
  PropertyBind,
@@ -3534,6 +3523,7 @@ ${input.slice(result.pos)}
3534
3523
  AssignmentOpSymbol,
3535
3524
  CoffeeWordAssignmentOp,
3536
3525
  NotDedentedBinaryOp,
3526
+ IdentifierBinaryOp,
3537
3527
  BinaryOp,
3538
3528
  BinaryOpSymbol,
3539
3529
  Xor,
@@ -3936,7 +3926,9 @@ ${input.slice(result.pos)}
3936
3926
  CivetPrologueContent,
3937
3927
  CivetOption,
3938
3928
  UnknownPrologue,
3929
+ TripleSlashDirective,
3939
3930
  DirectivePrologue,
3931
+ PrologueString,
3940
3932
  EOS,
3941
3933
  EOL,
3942
3934
  DebugHere,
@@ -4008,193 +4000,194 @@ ${input.slice(result.pos)}
4008
4000
  var $L19 = $L("import.meta");
4009
4001
  var $L20 = $L("return.value");
4010
4002
  var $L21 = $L(",");
4011
- var $L22 = $L("->");
4012
- var $L23 = $L("\u2192");
4013
- var $L24 = $L("}");
4014
- var $L25 = $L("null");
4015
- var $L26 = $L("true");
4016
- var $L27 = $L("false");
4017
- var $L28 = $L("yes");
4018
- var $L29 = $L("on");
4019
- var $L30 = $L("no");
4020
- var $L31 = $L("off");
4021
- var $L32 = $L(">");
4022
- var $L33 = $L("]");
4023
- var $L34 = $L("**=");
4024
- var $L35 = $L("*=");
4025
- var $L36 = $L("/=");
4026
- var $L37 = $L("%=");
4027
- var $L38 = $L("+=");
4028
- var $L39 = $L("-=");
4029
- var $L40 = $L("<<=");
4030
- var $L41 = $L(">>>=");
4031
- var $L42 = $L(">>=");
4032
- var $L43 = $L("&&=");
4033
- var $L44 = $L("&=");
4034
- var $L45 = $L("^=");
4035
- var $L46 = $L("||=");
4036
- var $L47 = $L("|=");
4037
- var $L48 = $L("??=");
4038
- var $L49 = $L("?=");
4039
- var $L50 = $L("and=");
4040
- var $L51 = $L("or=");
4041
- var $L52 = $L("**");
4042
- var $L53 = $L("*");
4043
- var $L54 = $L("/");
4044
- var $L55 = $L("%%");
4045
- var $L56 = $L("%");
4046
- var $L57 = $L("+");
4047
- var $L58 = $L("<=");
4048
- var $L59 = $L("\u2264");
4049
- var $L60 = $L(">=");
4050
- var $L61 = $L("\u2265");
4051
- var $L62 = $L("<?");
4052
- var $L63 = $L("!<?");
4053
- var $L64 = $L("<<");
4054
- var $L65 = $L("\xAB");
4055
- var $L66 = $L(">>>");
4056
- var $L67 = $L("\u22D9");
4057
- var $L68 = $L(">>");
4058
- var $L69 = $L("\xBB");
4059
- var $L70 = $L("!==");
4060
- var $L71 = $L("\u2262");
4061
- var $L72 = $L("!=");
4062
- var $L73 = $L("\u2260");
4063
- var $L74 = $L("isnt");
4064
- var $L75 = $L("===");
4065
- var $L76 = $L("\u2263");
4066
- var $L77 = $L("\u2A76");
4067
- var $L78 = $L("==");
4068
- var $L79 = $L("\u2261");
4069
- var $L80 = $L("\u2A75");
4070
- var $L81 = $L("and");
4071
- var $L82 = $L("&&");
4072
- var $L83 = $L("of");
4073
- var $L84 = $L("or");
4074
- var $L85 = $L("||");
4075
- var $L86 = $L("\u2016");
4076
- var $L87 = $L("^^");
4077
- var $L88 = $L("xor");
4078
- var $L89 = $L("xnor");
4079
- var $L90 = $L("??");
4080
- var $L91 = $L("\u2047");
4081
- var $L92 = $L("instanceof");
4082
- var $L93 = $L("\u2208");
4083
- var $L94 = $L("\u220B");
4084
- var $L95 = $L("\u220C");
4085
- var $L96 = $L("\u2209");
4086
- var $L97 = $L("&");
4087
- var $L98 = $L("|");
4088
- var $L99 = $L(";");
4089
- var $L100 = $L("$:");
4090
- var $L101 = $L("break");
4091
- var $L102 = $L("continue");
4092
- var $L103 = $L("debugger");
4093
- var $L104 = $L("assert");
4094
- var $L105 = $L(":=");
4095
- var $L106 = $L("\u2254");
4096
- var $L107 = $L(".=");
4097
- var $L108 = $L("/*");
4098
- var $L109 = $L("*/");
4099
- var $L110 = $L("\\");
4100
- var $L111 = $L("[");
4101
- var $L112 = $L("`");
4102
- var $L113 = $L(")");
4103
- var $L114 = $L("abstract");
4104
- var $L115 = $L("as");
4105
- var $L116 = $L("@");
4106
- var $L117 = $L("@@");
4107
- var $L118 = $L("async");
4108
- var $L119 = $L("await");
4109
- var $L120 = $L("by");
4110
- var $L121 = $L("case");
4111
- var $L122 = $L("catch");
4112
- var $L123 = $L("class");
4113
- var $L124 = $L("#{");
4114
- var $L125 = $L("declare");
4115
- var $L126 = $L("default");
4116
- var $L127 = $L("delete");
4117
- var $L128 = $L("do");
4118
- var $L129 = $L("..");
4119
- var $L130 = $L("\u2025");
4120
- var $L131 = $L("...");
4121
- var $L132 = $L("\u2026");
4122
- var $L133 = $L("::");
4123
- var $L134 = $L('"');
4124
- var $L135 = $L("each");
4125
- var $L136 = $L("else");
4126
- var $L137 = $L("export");
4127
- var $L138 = $L("extends");
4128
- var $L139 = $L("finally");
4129
- var $L140 = $L("for");
4130
- var $L141 = $L("from");
4131
- var $L142 = $L("function");
4132
- var $L143 = $L("get");
4133
- var $L144 = $L("set");
4134
- var $L145 = $L("#");
4135
- var $L146 = $L("if");
4136
- var $L147 = $L("in");
4137
- var $L148 = $L("let");
4138
- var $L149 = $L("const");
4139
- var $L150 = $L("is");
4140
- var $L151 = $L("loop");
4141
- var $L152 = $L("new");
4142
- var $L153 = $L("not");
4143
- var $L154 = $L("<");
4144
- var $L155 = $L("operator");
4145
- var $L156 = $L("own");
4146
- var $L157 = $L("public");
4147
- var $L158 = $L("private");
4148
- var $L159 = $L("protected");
4149
- var $L160 = $L("||>");
4150
- var $L161 = $L("|\u25B7");
4151
- var $L162 = $L("|>=");
4152
- var $L163 = $L("\u25B7=");
4153
- var $L164 = $L("|>");
4154
- var $L165 = $L("\u25B7");
4155
- var $L166 = $L("readonly");
4156
- var $L167 = $L("return");
4157
- var $L168 = $L("satisfies");
4158
- var $L169 = $L("'");
4159
- var $L170 = $L("static");
4160
- var $L171 = $L("${");
4161
- var $L172 = $L("super");
4162
- var $L173 = $L("switch");
4163
- var $L174 = $L("target");
4164
- var $L175 = $L("then");
4165
- var $L176 = $L("this");
4166
- var $L177 = $L("throw");
4167
- var $L178 = $L('"""');
4168
- var $L179 = $L("'''");
4169
- var $L180 = $L("///");
4170
- var $L181 = $L("```");
4171
- var $L182 = $L("try");
4172
- var $L183 = $L("typeof");
4173
- var $L184 = $L("unless");
4174
- var $L185 = $L("until");
4175
- var $L186 = $L("var");
4176
- var $L187 = $L("void");
4177
- var $L188 = $L("when");
4178
- var $L189 = $L("while");
4179
- var $L190 = $L("yield");
4180
- var $L191 = $L("/>");
4181
- var $L192 = $L("</");
4182
- var $L193 = $L("<>");
4183
- var $L194 = $L("</>");
4184
- var $L195 = $L("<!--");
4185
- var $L196 = $L("-->");
4186
- var $L197 = $L("type");
4187
- var $L198 = $L("enum");
4188
- var $L199 = $L("interface");
4189
- var $L200 = $L("global");
4190
- var $L201 = $L("module");
4191
- var $L202 = $L("namespace");
4192
- var $L203 = $L("asserts");
4193
- var $L204 = $L("keyof");
4194
- var $L205 = $L("infer");
4195
- var $L206 = $L("???");
4196
- var $L207 = $L("[]");
4197
- var $L208 = $L("civet");
4003
+ var $L22 = $L("(&)");
4004
+ var $L23 = $L("->");
4005
+ var $L24 = $L("\u2192");
4006
+ var $L25 = $L("}");
4007
+ var $L26 = $L("null");
4008
+ var $L27 = $L("true");
4009
+ var $L28 = $L("false");
4010
+ var $L29 = $L("yes");
4011
+ var $L30 = $L("on");
4012
+ var $L31 = $L("no");
4013
+ var $L32 = $L("off");
4014
+ var $L33 = $L(">");
4015
+ var $L34 = $L("]");
4016
+ var $L35 = $L("**=");
4017
+ var $L36 = $L("*=");
4018
+ var $L37 = $L("/=");
4019
+ var $L38 = $L("%=");
4020
+ var $L39 = $L("+=");
4021
+ var $L40 = $L("-=");
4022
+ var $L41 = $L("<<=");
4023
+ var $L42 = $L(">>>=");
4024
+ var $L43 = $L(">>=");
4025
+ var $L44 = $L("&&=");
4026
+ var $L45 = $L("&=");
4027
+ var $L46 = $L("^=");
4028
+ var $L47 = $L("||=");
4029
+ var $L48 = $L("|=");
4030
+ var $L49 = $L("??=");
4031
+ var $L50 = $L("?=");
4032
+ var $L51 = $L("and=");
4033
+ var $L52 = $L("or=");
4034
+ var $L53 = $L("**");
4035
+ var $L54 = $L("*");
4036
+ var $L55 = $L("/");
4037
+ var $L56 = $L("%%");
4038
+ var $L57 = $L("%");
4039
+ var $L58 = $L("+");
4040
+ var $L59 = $L("<=");
4041
+ var $L60 = $L("\u2264");
4042
+ var $L61 = $L(">=");
4043
+ var $L62 = $L("\u2265");
4044
+ var $L63 = $L("<?");
4045
+ var $L64 = $L("!<?");
4046
+ var $L65 = $L("<<");
4047
+ var $L66 = $L("\xAB");
4048
+ var $L67 = $L(">>>");
4049
+ var $L68 = $L("\u22D9");
4050
+ var $L69 = $L(">>");
4051
+ var $L70 = $L("\xBB");
4052
+ var $L71 = $L("!==");
4053
+ var $L72 = $L("\u2262");
4054
+ var $L73 = $L("!=");
4055
+ var $L74 = $L("\u2260");
4056
+ var $L75 = $L("isnt");
4057
+ var $L76 = $L("===");
4058
+ var $L77 = $L("\u2263");
4059
+ var $L78 = $L("\u2A76");
4060
+ var $L79 = $L("==");
4061
+ var $L80 = $L("\u2261");
4062
+ var $L81 = $L("\u2A75");
4063
+ var $L82 = $L("and");
4064
+ var $L83 = $L("&&");
4065
+ var $L84 = $L("of");
4066
+ var $L85 = $L("or");
4067
+ var $L86 = $L("||");
4068
+ var $L87 = $L("\u2016");
4069
+ var $L88 = $L("^^");
4070
+ var $L89 = $L("xor");
4071
+ var $L90 = $L("xnor");
4072
+ var $L91 = $L("??");
4073
+ var $L92 = $L("\u2047");
4074
+ var $L93 = $L("instanceof");
4075
+ var $L94 = $L("\u2208");
4076
+ var $L95 = $L("\u220B");
4077
+ var $L96 = $L("\u220C");
4078
+ var $L97 = $L("\u2209");
4079
+ var $L98 = $L("&");
4080
+ var $L99 = $L("|");
4081
+ var $L100 = $L(";");
4082
+ var $L101 = $L("$:");
4083
+ var $L102 = $L("break");
4084
+ var $L103 = $L("continue");
4085
+ var $L104 = $L("debugger");
4086
+ var $L105 = $L("assert");
4087
+ var $L106 = $L(":=");
4088
+ var $L107 = $L("\u2254");
4089
+ var $L108 = $L(".=");
4090
+ var $L109 = $L("/*");
4091
+ var $L110 = $L("*/");
4092
+ var $L111 = $L("\\");
4093
+ var $L112 = $L("[");
4094
+ var $L113 = $L("`");
4095
+ var $L114 = $L(")");
4096
+ var $L115 = $L("abstract");
4097
+ var $L116 = $L("as");
4098
+ var $L117 = $L("@");
4099
+ var $L118 = $L("@@");
4100
+ var $L119 = $L("async");
4101
+ var $L120 = $L("await");
4102
+ var $L121 = $L("by");
4103
+ var $L122 = $L("case");
4104
+ var $L123 = $L("catch");
4105
+ var $L124 = $L("class");
4106
+ var $L125 = $L("#{");
4107
+ var $L126 = $L("declare");
4108
+ var $L127 = $L("default");
4109
+ var $L128 = $L("delete");
4110
+ var $L129 = $L("do");
4111
+ var $L130 = $L("..");
4112
+ var $L131 = $L("\u2025");
4113
+ var $L132 = $L("...");
4114
+ var $L133 = $L("\u2026");
4115
+ var $L134 = $L("::");
4116
+ var $L135 = $L('"');
4117
+ var $L136 = $L("each");
4118
+ var $L137 = $L("else");
4119
+ var $L138 = $L("export");
4120
+ var $L139 = $L("extends");
4121
+ var $L140 = $L("finally");
4122
+ var $L141 = $L("for");
4123
+ var $L142 = $L("from");
4124
+ var $L143 = $L("function");
4125
+ var $L144 = $L("get");
4126
+ var $L145 = $L("set");
4127
+ var $L146 = $L("#");
4128
+ var $L147 = $L("if");
4129
+ var $L148 = $L("in");
4130
+ var $L149 = $L("let");
4131
+ var $L150 = $L("const");
4132
+ var $L151 = $L("is");
4133
+ var $L152 = $L("loop");
4134
+ var $L153 = $L("new");
4135
+ var $L154 = $L("not");
4136
+ var $L155 = $L("<");
4137
+ var $L156 = $L("operator");
4138
+ var $L157 = $L("own");
4139
+ var $L158 = $L("public");
4140
+ var $L159 = $L("private");
4141
+ var $L160 = $L("protected");
4142
+ var $L161 = $L("||>");
4143
+ var $L162 = $L("|\u25B7");
4144
+ var $L163 = $L("|>=");
4145
+ var $L164 = $L("\u25B7=");
4146
+ var $L165 = $L("|>");
4147
+ var $L166 = $L("\u25B7");
4148
+ var $L167 = $L("readonly");
4149
+ var $L168 = $L("return");
4150
+ var $L169 = $L("satisfies");
4151
+ var $L170 = $L("'");
4152
+ var $L171 = $L("static");
4153
+ var $L172 = $L("${");
4154
+ var $L173 = $L("super");
4155
+ var $L174 = $L("switch");
4156
+ var $L175 = $L("target");
4157
+ var $L176 = $L("then");
4158
+ var $L177 = $L("this");
4159
+ var $L178 = $L("throw");
4160
+ var $L179 = $L('"""');
4161
+ var $L180 = $L("'''");
4162
+ var $L181 = $L("///");
4163
+ var $L182 = $L("```");
4164
+ var $L183 = $L("try");
4165
+ var $L184 = $L("typeof");
4166
+ var $L185 = $L("unless");
4167
+ var $L186 = $L("until");
4168
+ var $L187 = $L("var");
4169
+ var $L188 = $L("void");
4170
+ var $L189 = $L("when");
4171
+ var $L190 = $L("while");
4172
+ var $L191 = $L("yield");
4173
+ var $L192 = $L("/>");
4174
+ var $L193 = $L("</");
4175
+ var $L194 = $L("<>");
4176
+ var $L195 = $L("</>");
4177
+ var $L196 = $L("<!--");
4178
+ var $L197 = $L("-->");
4179
+ var $L198 = $L("type");
4180
+ var $L199 = $L("enum");
4181
+ var $L200 = $L("interface");
4182
+ var $L201 = $L("global");
4183
+ var $L202 = $L("module");
4184
+ var $L203 = $L("namespace");
4185
+ var $L204 = $L("asserts");
4186
+ var $L205 = $L("keyof");
4187
+ var $L206 = $L("infer");
4188
+ var $L207 = $L("???");
4189
+ var $L208 = $L("[]");
4190
+ var $L209 = $L("civet");
4198
4191
  var $R0 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
4199
4192
  var $R1 = $R(new RegExp("[0-9]", "suy"));
4200
4193
  var $R2 = $R(new RegExp("[)}]", "suy"));
@@ -4260,8 +4253,9 @@ ${input.slice(result.pos)}
4260
4253
  var $R62 = $R(new RegExp("[\\t ]*", "suy"));
4261
4254
  var $R63 = $R(new RegExp("[\\s]*", "suy"));
4262
4255
  var $R64 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
4263
- var $R65 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
4264
- var $R66 = $R(new RegExp("[ \\t]*", "suy"));
4256
+ var $R65 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
4257
+ var $R66 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
4258
+ var $R67 = $R(new RegExp("[ \\t]*", "suy"));
4265
4259
  var Program$0 = $TS($S(Reset, Init, $E(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
4266
4260
  var statements = $4;
4267
4261
  processProgram({
@@ -4440,7 +4434,7 @@ ${input.slice(result.pos)}
4440
4434
  function ExplicitArguments(ctx, state) {
4441
4435
  return $EVENT(ctx, state, "ExplicitArguments", ExplicitArguments$0);
4442
4436
  }
4443
- var ApplicationStart$0 = $S(IndentedApplicationAllowed, $Y(NestedImplicitObjectLiteral));
4437
+ var ApplicationStart$0 = $S(IndentedApplicationAllowed, $Y($S(IndentedFurther, $N(IdentifierBinaryOp), $N(AccessStart))));
4444
4438
  var ApplicationStart$1 = $S($N(EOS), $Y($S(_, $C(BracedApplicationAllowed, $N($EXPECT($L1, 'ApplicationStart "{"'))), $N(ForbiddenImplicitCalls))));
4445
4439
  var ApplicationStart$$ = [ApplicationStart$0, ApplicationStart$1];
4446
4440
  function ApplicationStart(ctx, state) {
@@ -5223,7 +5217,7 @@ ${input.slice(result.pos)}
5223
5217
  function CallExpressionRest(ctx, state) {
5224
5218
  return $EVENT_C(ctx, state, "CallExpressionRest", CallExpressionRest$$);
5225
5219
  }
5226
- var OptionalShorthand$0 = $TS($S(QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2) {
5220
+ var OptionalShorthand$0 = $TS($S($Q(MultiLineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3) {
5227
5221
  return {
5228
5222
  type: "Optional",
5229
5223
  children: $0
@@ -5232,8 +5226,8 @@ ${input.slice(result.pos)}
5232
5226
  function OptionalShorthand(ctx, state) {
5233
5227
  return $EVENT(ctx, state, "OptionalShorthand", OptionalShorthand$0);
5234
5228
  }
5235
- var OptionalDot$0 = Dot;
5236
- var OptionalDot$1 = InsertDot;
5229
+ var OptionalDot$0 = $S($Q(MultiLineComment), Dot);
5230
+ var OptionalDot$1 = $S(InsertDot, $Q(MultiLineComment));
5237
5231
  var OptionalDot$$ = [OptionalDot$0, OptionalDot$1];
5238
5232
  function OptionalDot(ctx, state) {
5239
5233
  return $EVENT_C(ctx, state, "OptionalDot", OptionalDot$$);
@@ -5257,22 +5251,38 @@ ${input.slice(result.pos)}
5257
5251
  function MemberExpression(ctx, state) {
5258
5252
  return $EVENT(ctx, state, "MemberExpression", MemberExpression$0);
5259
5253
  }
5260
- var MemberExpressionRest$0 = $TS($S($E($C(OptionalShorthand, NonNullAssertion)), MemberBracketContent), function($skip, $loc, $0, $1, $2) {
5261
- if ($1) {
5262
- if ($1.type === "Optional" && $2.type === "SliceExpression") {
5263
- return [$1.children[0], $2];
5254
+ var MemberExpressionRest$0 = $TS($S($Q(MultiLineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2) {
5255
+ var comments = $1;
5256
+ var body = $2;
5257
+ if (Array.isArray(body))
5258
+ return [...comments, ...body];
5259
+ return {
5260
+ ...body,
5261
+ children: [...comments, ...body.children]
5262
+ };
5263
+ });
5264
+ function MemberExpressionRest(ctx, state) {
5265
+ return $EVENT(ctx, state, "MemberExpressionRest", MemberExpressionRest$0);
5266
+ }
5267
+ var MemberExpressionRestBody$0 = $TS($S($E($C(OptionalShorthand, NonNullAssertion)), $Q(MultiLineComment), MemberBracketContent), function($skip, $loc, $0, $1, $2, $3) {
5268
+ var dot = $1;
5269
+ var comments = $2;
5270
+ var content = $3;
5271
+ if (dot) {
5272
+ if (dot.type === "Optional" && content.type === "SliceExpression") {
5273
+ return [...dot.children.slice(0, -1), ...comments, content];
5264
5274
  }
5265
5275
  return $0.flat();
5266
5276
  }
5267
- return $2;
5277
+ return content;
5268
5278
  });
5269
- var MemberExpressionRest$1 = PropertyAccess;
5270
- var MemberExpressionRest$2 = PropertyGlob;
5271
- var MemberExpressionRest$3 = PropertyBind;
5272
- var MemberExpressionRest$4 = NonNullAssertion;
5273
- var MemberExpressionRest$$ = [MemberExpressionRest$0, MemberExpressionRest$1, MemberExpressionRest$2, MemberExpressionRest$3, MemberExpressionRest$4];
5274
- function MemberExpressionRest(ctx, state) {
5275
- return $EVENT_C(ctx, state, "MemberExpressionRest", MemberExpressionRest$$);
5279
+ var MemberExpressionRestBody$1 = PropertyAccess;
5280
+ var MemberExpressionRestBody$2 = PropertyGlob;
5281
+ var MemberExpressionRestBody$3 = PropertyBind;
5282
+ var MemberExpressionRestBody$4 = NonNullAssertion;
5283
+ var MemberExpressionRestBody$$ = [MemberExpressionRestBody$0, MemberExpressionRestBody$1, MemberExpressionRestBody$2, MemberExpressionRestBody$3, MemberExpressionRestBody$4];
5284
+ function MemberExpressionRestBody(ctx, state) {
5285
+ return $EVENT_C(ctx, state, "MemberExpressionRestBody", MemberExpressionRestBody$$);
5276
5286
  }
5277
5287
  var MemberBracketContent$0 = $TS($S(OpenBracket, $C(SliceParameters, PostfixedExpression), __, CloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
5278
5288
  var open = $1;
@@ -5403,11 +5413,19 @@ ${input.slice(result.pos)}
5403
5413
  function SliceParameters(ctx, state) {
5404
5414
  return $EVENT_C(ctx, state, "SliceParameters", SliceParameters$$);
5405
5415
  }
5406
- var PropertyAccess$0 = $TS($S($E($C(QuestionMark, NonNullAssertion)), Dot, $C(IdentifierName, PrivateIdentifier)), function($skip, $loc, $0, $1, $2, $3) {
5407
- var id = $3;
5408
- const children = [$2, ...id.children];
5416
+ var AccessStart$0 = $TS($S($E($C(QuestionMark, NonNullAssertion)), Dot, $N(Dot)), function($skip, $loc, $0, $1, $2, $3) {
5409
5417
  if ($1)
5410
- children.unshift($1);
5418
+ return [$1, $2];
5419
+ return $2;
5420
+ });
5421
+ function AccessStart(ctx, state) {
5422
+ return $EVENT(ctx, state, "AccessStart", AccessStart$0);
5423
+ }
5424
+ var PropertyAccess$0 = $TS($S(AccessStart, $Q(MultiLineComment), $C(IdentifierName, PrivateIdentifier)), function($skip, $loc, $0, $1, $2, $3) {
5425
+ var access = $1;
5426
+ var comments = $2;
5427
+ var id = $3;
5428
+ const children = [access, ...comments, ...id.children];
5411
5429
  return {
5412
5430
  type: "PropertyAccess",
5413
5431
  name: id.name,
@@ -5418,19 +5436,26 @@ ${input.slice(result.pos)}
5418
5436
  var p = $2;
5419
5437
  var id = $3;
5420
5438
  if (id) {
5421
- p.token = ".prototype.";
5422
- return [p, id];
5439
+ return {
5440
+ type: "PropertyAccess",
5441
+ name: id.name,
5442
+ children: [{ token: ".prototype.", $loc: p.$loc }, id]
5443
+ };
5444
+ } else {
5445
+ return {
5446
+ type: "PropertyAccess",
5447
+ name: "prototype",
5448
+ children: [{ token: ".prototype", $loc: p.$loc }]
5449
+ };
5423
5450
  }
5424
- p.token = ".prototype";
5425
- return p;
5426
5451
  });
5427
5452
  var PropertyAccess$$ = [PropertyAccess$0, PropertyAccess$1];
5428
5453
  function PropertyAccess(ctx, state) {
5429
5454
  return $EVENT_C(ctx, state, "PropertyAccess", PropertyAccess$$);
5430
5455
  }
5431
- var PropertyGlob$0 = $TS($S(OptionalDot, BracedObjectLiteral), function($skip, $loc, $0, $1, $2) {
5456
+ var PropertyGlob$0 = $TS($S(OptionalDot, $Q(MultiLineComment), BracedObjectLiteral), function($skip, $loc, $0, $1, $2, $3) {
5432
5457
  var dot = $1;
5433
- var object = $2;
5458
+ var object = $3;
5434
5459
  return {
5435
5460
  type: "PropertyGlob",
5436
5461
  dot,
@@ -5974,8 +5999,29 @@ ${input.slice(result.pos)}
5974
5999
  block
5975
6000
  };
5976
6001
  });
5977
- var FunctionExpression$1 = AmpersandFunctionExpression;
5978
- var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1];
6002
+ var FunctionExpression$1 = $TV($EXPECT($L22, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
6003
+ const ref = makeRef("$"), body = [ref];
6004
+ return {
6005
+ type: "ArrowFunction",
6006
+ children: [ref, " => ", body],
6007
+ ref,
6008
+ body,
6009
+ ampersandBlock: true
6010
+ };
6011
+ });
6012
+ var FunctionExpression$2 = AmpersandFunctionExpression;
6013
+ var FunctionExpression$3 = $TS($S(Identifier, __, ConstAssignment, $Q(_), ThinArrowFunction), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6014
+ var id = $1;
6015
+ var ws = $4;
6016
+ var fn = $5;
6017
+ debugger;
6018
+ return {
6019
+ ...fn,
6020
+ id,
6021
+ children: [...fn.children.slice(0, 2), insertTrimmingSpace(ws, " "), id, ...fn.children.slice(2)]
6022
+ };
6023
+ });
6024
+ var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3];
5979
6025
  function FunctionExpression(ctx, state) {
5980
6026
  return $EVENT_C(ctx, state, "FunctionExpression", FunctionExpression$$);
5981
6027
  }
@@ -6154,7 +6200,7 @@ ${input.slice(result.pos)}
6154
6200
  function ThinArrowFunction(ctx, state) {
6155
6201
  return $EVENT(ctx, state, "ThinArrowFunction", ThinArrowFunction$0);
6156
6202
  }
6157
- var Arrow$0 = $TV($C($EXPECT($L22, 'Arrow "->"'), $EXPECT($L23, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
6203
+ var Arrow$0 = $TV($C($EXPECT($L23, 'Arrow "->"'), $EXPECT($L24, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
6158
6204
  return { $loc, token: "->" };
6159
6205
  });
6160
6206
  function Arrow(ctx, state) {
@@ -6387,7 +6433,7 @@ ${input.slice(result.pos)}
6387
6433
  }
6388
6434
  var BracedContent$0 = NestedBlockStatements;
6389
6435
  var BracedContent$1 = SingleLineStatements;
6390
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L24, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
6436
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L25, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
6391
6437
  const expressions = [];
6392
6438
  return {
6393
6439
  type: "BlockStatement",
@@ -6456,7 +6502,7 @@ ${input.slice(result.pos)}
6456
6502
  function LiteralContent(ctx, state) {
6457
6503
  return $EVENT_C(ctx, state, "LiteralContent", LiteralContent$$);
6458
6504
  }
6459
- var NullLiteral$0 = $TS($S($EXPECT($L25, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6505
+ var NullLiteral$0 = $TS($S($EXPECT($L26, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6460
6506
  return { $loc, token: $1 };
6461
6507
  });
6462
6508
  function NullLiteral(ctx, state) {
@@ -6465,17 +6511,17 @@ ${input.slice(result.pos)}
6465
6511
  var BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
6466
6512
  return value[1];
6467
6513
  });
6468
- var BooleanLiteral$1 = $TS($S($C($EXPECT($L26, 'BooleanLiteral "true"'), $EXPECT($L27, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6514
+ var BooleanLiteral$1 = $TS($S($C($EXPECT($L27, 'BooleanLiteral "true"'), $EXPECT($L28, 'BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6469
6515
  return { $loc, token: $1 };
6470
6516
  });
6471
6517
  var BooleanLiteral$$ = [BooleanLiteral$0, BooleanLiteral$1];
6472
6518
  function BooleanLiteral(ctx, state) {
6473
6519
  return $EVENT_C(ctx, state, "BooleanLiteral", BooleanLiteral$$);
6474
6520
  }
6475
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L28, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L29, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6521
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L29, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L30, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6476
6522
  return { $loc, token: "true" };
6477
6523
  });
6478
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L30, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L31, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6524
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L31, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L32, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6479
6525
  return { $loc, token: "false" };
6480
6526
  });
6481
6527
  var CoffeeScriptBooleanLiteral$$ = [CoffeeScriptBooleanLiteral$0, CoffeeScriptBooleanLiteral$1];
@@ -6506,7 +6552,7 @@ ${input.slice(result.pos)}
6506
6552
  function IdentifierReference(ctx, state) {
6507
6553
  return $EVENT(ctx, state, "IdentifierReference", IdentifierReference$0);
6508
6554
  }
6509
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L32, 'UpcomingAssignment ">"')))));
6555
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L33, 'UpcomingAssignment ">"')))));
6510
6556
  function UpcomingAssignment(ctx, state) {
6511
6557
  return $EVENT(ctx, state, "UpcomingAssignment", UpcomingAssignment$0);
6512
6558
  }
@@ -6658,7 +6704,7 @@ ${input.slice(result.pos)}
6658
6704
  return $EVENT(ctx, state, "NestedElement", NestedElement$0);
6659
6705
  }
6660
6706
  var ArrayElementDelimiter$0 = $S(__, Comma);
6661
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L33, 'ArrayElementDelimiter "]"')));
6707
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L34, 'ArrayElementDelimiter "]"')));
6662
6708
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
6663
6709
  return value[1];
6664
6710
  });
@@ -6770,6 +6816,8 @@ ${input.slice(result.pos)}
6770
6816
  line = line.flatMap(([prop, delim]) => {
6771
6817
  prop = Array.isArray(prop) ? prop : [prop];
6772
6818
  let last = prop[prop.length - 1];
6819
+ if (!last)
6820
+ return [];
6773
6821
  last = {
6774
6822
  ...last,
6775
6823
  delim,
@@ -6884,7 +6932,7 @@ ${input.slice(result.pos)}
6884
6932
  return $EVENT_C(ctx, state, "ImplicitInlineObjectPropertyDelimiter", ImplicitInlineObjectPropertyDelimiter$$);
6885
6933
  }
6886
6934
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
6887
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L24, 'ObjectPropertyDelimiter "}"')));
6935
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L25, 'ObjectPropertyDelimiter "}"')));
6888
6936
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
6889
6937
  return value[1];
6890
6938
  });
@@ -7296,22 +7344,22 @@ ${input.slice(result.pos)}
7296
7344
  function OperatorAssignmentOp(ctx, state) {
7297
7345
  return $EVENT_C(ctx, state, "OperatorAssignmentOp", OperatorAssignmentOp$$);
7298
7346
  }
7299
- var AssignmentOpSymbol$0 = $EXPECT($L34, 'AssignmentOpSymbol "**="');
7300
- var AssignmentOpSymbol$1 = $EXPECT($L35, 'AssignmentOpSymbol "*="');
7301
- var AssignmentOpSymbol$2 = $EXPECT($L36, 'AssignmentOpSymbol "/="');
7302
- var AssignmentOpSymbol$3 = $EXPECT($L37, 'AssignmentOpSymbol "%="');
7303
- var AssignmentOpSymbol$4 = $EXPECT($L38, 'AssignmentOpSymbol "+="');
7304
- var AssignmentOpSymbol$5 = $EXPECT($L39, 'AssignmentOpSymbol "-="');
7305
- var AssignmentOpSymbol$6 = $EXPECT($L40, 'AssignmentOpSymbol "<<="');
7306
- var AssignmentOpSymbol$7 = $EXPECT($L41, 'AssignmentOpSymbol ">>>="');
7307
- var AssignmentOpSymbol$8 = $EXPECT($L42, 'AssignmentOpSymbol ">>="');
7308
- var AssignmentOpSymbol$9 = $EXPECT($L43, 'AssignmentOpSymbol "&&="');
7309
- var AssignmentOpSymbol$10 = $EXPECT($L44, 'AssignmentOpSymbol "&="');
7310
- var AssignmentOpSymbol$11 = $EXPECT($L45, 'AssignmentOpSymbol "^="');
7311
- var AssignmentOpSymbol$12 = $EXPECT($L46, 'AssignmentOpSymbol "||="');
7312
- var AssignmentOpSymbol$13 = $EXPECT($L47, 'AssignmentOpSymbol "|="');
7313
- var AssignmentOpSymbol$14 = $EXPECT($L48, 'AssignmentOpSymbol "??="');
7314
- var AssignmentOpSymbol$15 = $T($EXPECT($L49, 'AssignmentOpSymbol "?="'), function(value) {
7347
+ var AssignmentOpSymbol$0 = $EXPECT($L35, 'AssignmentOpSymbol "**="');
7348
+ var AssignmentOpSymbol$1 = $EXPECT($L36, 'AssignmentOpSymbol "*="');
7349
+ var AssignmentOpSymbol$2 = $EXPECT($L37, 'AssignmentOpSymbol "/="');
7350
+ var AssignmentOpSymbol$3 = $EXPECT($L38, 'AssignmentOpSymbol "%="');
7351
+ var AssignmentOpSymbol$4 = $EXPECT($L39, 'AssignmentOpSymbol "+="');
7352
+ var AssignmentOpSymbol$5 = $EXPECT($L40, 'AssignmentOpSymbol "-="');
7353
+ var AssignmentOpSymbol$6 = $EXPECT($L41, 'AssignmentOpSymbol "<<="');
7354
+ var AssignmentOpSymbol$7 = $EXPECT($L42, 'AssignmentOpSymbol ">>>="');
7355
+ var AssignmentOpSymbol$8 = $EXPECT($L43, 'AssignmentOpSymbol ">>="');
7356
+ var AssignmentOpSymbol$9 = $EXPECT($L44, 'AssignmentOpSymbol "&&="');
7357
+ var AssignmentOpSymbol$10 = $EXPECT($L45, 'AssignmentOpSymbol "&="');
7358
+ var AssignmentOpSymbol$11 = $EXPECT($L46, 'AssignmentOpSymbol "^="');
7359
+ var AssignmentOpSymbol$12 = $EXPECT($L47, 'AssignmentOpSymbol "||="');
7360
+ var AssignmentOpSymbol$13 = $EXPECT($L48, 'AssignmentOpSymbol "|="');
7361
+ var AssignmentOpSymbol$14 = $EXPECT($L49, 'AssignmentOpSymbol "??="');
7362
+ var AssignmentOpSymbol$15 = $T($EXPECT($L50, 'AssignmentOpSymbol "?="'), function(value) {
7315
7363
  return "??=";
7316
7364
  });
7317
7365
  var AssignmentOpSymbol$16 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
@@ -7324,10 +7372,10 @@ ${input.slice(result.pos)}
7324
7372
  function AssignmentOpSymbol(ctx, state) {
7325
7373
  return $EVENT_C(ctx, state, "AssignmentOpSymbol", AssignmentOpSymbol$$);
7326
7374
  }
7327
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L50, 'CoffeeWordAssignmentOp "and="'), function(value) {
7375
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L51, 'CoffeeWordAssignmentOp "and="'), function(value) {
7328
7376
  return "&&=";
7329
7377
  });
7330
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L51, 'CoffeeWordAssignmentOp "or="'), function(value) {
7378
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L52, 'CoffeeWordAssignmentOp "or="'), function(value) {
7331
7379
  return "||=";
7332
7380
  });
7333
7381
  var CoffeeWordAssignmentOp$$ = [CoffeeWordAssignmentOp$0, CoffeeWordAssignmentOp$1];
@@ -7352,6 +7400,15 @@ ${input.slice(result.pos)}
7352
7400
  function NotDedentedBinaryOp(ctx, state) {
7353
7401
  return $EVENT_C(ctx, state, "NotDedentedBinaryOp", NotDedentedBinaryOp$$);
7354
7402
  }
7403
+ var IdentifierBinaryOp$0 = $TV(Identifier, function($skip, $loc, $0, $1) {
7404
+ var id = $0;
7405
+ if (module.operators.has(id.name))
7406
+ return id;
7407
+ return $skip;
7408
+ });
7409
+ function IdentifierBinaryOp(ctx, state) {
7410
+ return $EVENT(ctx, state, "IdentifierBinaryOp", IdentifierBinaryOp$0);
7411
+ }
7355
7412
  var BinaryOp$0 = $TS($S(BinaryOpSymbol), function($skip, $loc, $0, $1) {
7356
7413
  if (typeof $1 === "string")
7357
7414
  return { $loc, token: $1 };
@@ -7380,27 +7437,27 @@ ${input.slice(result.pos)}
7380
7437
  function BinaryOp(ctx, state) {
7381
7438
  return $EVENT_C(ctx, state, "BinaryOp", BinaryOp$$);
7382
7439
  }
7383
- var BinaryOpSymbol$0 = $EXPECT($L52, 'BinaryOpSymbol "**"');
7384
- var BinaryOpSymbol$1 = $EXPECT($L53, 'BinaryOpSymbol "*"');
7385
- var BinaryOpSymbol$2 = $EXPECT($L54, 'BinaryOpSymbol "/"');
7386
- var BinaryOpSymbol$3 = $TV($EXPECT($L55, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
7440
+ var BinaryOpSymbol$0 = $EXPECT($L53, 'BinaryOpSymbol "**"');
7441
+ var BinaryOpSymbol$1 = $EXPECT($L54, 'BinaryOpSymbol "*"');
7442
+ var BinaryOpSymbol$2 = $EXPECT($L55, 'BinaryOpSymbol "/"');
7443
+ var BinaryOpSymbol$3 = $TV($EXPECT($L56, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
7387
7444
  return {
7388
7445
  call: module.getRef("modulo"),
7389
7446
  special: true
7390
7447
  };
7391
7448
  });
7392
- var BinaryOpSymbol$4 = $EXPECT($L56, 'BinaryOpSymbol "%"');
7393
- var BinaryOpSymbol$5 = $EXPECT($L57, 'BinaryOpSymbol "+"');
7449
+ var BinaryOpSymbol$4 = $EXPECT($L57, 'BinaryOpSymbol "%"');
7450
+ var BinaryOpSymbol$5 = $EXPECT($L58, 'BinaryOpSymbol "+"');
7394
7451
  var BinaryOpSymbol$6 = $EXPECT($L18, 'BinaryOpSymbol "-"');
7395
- var BinaryOpSymbol$7 = $EXPECT($L58, 'BinaryOpSymbol "<="');
7396
- var BinaryOpSymbol$8 = $T($EXPECT($L59, 'BinaryOpSymbol "\u2264"'), function(value) {
7452
+ var BinaryOpSymbol$7 = $EXPECT($L59, 'BinaryOpSymbol "<="');
7453
+ var BinaryOpSymbol$8 = $T($EXPECT($L60, 'BinaryOpSymbol "\u2264"'), function(value) {
7397
7454
  return "<=";
7398
7455
  });
7399
- var BinaryOpSymbol$9 = $EXPECT($L60, 'BinaryOpSymbol ">="');
7400
- var BinaryOpSymbol$10 = $T($EXPECT($L61, 'BinaryOpSymbol "\u2265"'), function(value) {
7456
+ var BinaryOpSymbol$9 = $EXPECT($L61, 'BinaryOpSymbol ">="');
7457
+ var BinaryOpSymbol$10 = $T($EXPECT($L62, 'BinaryOpSymbol "\u2265"'), function(value) {
7401
7458
  return ">=";
7402
7459
  });
7403
- var BinaryOpSymbol$11 = $TV($EXPECT($L62, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
7460
+ var BinaryOpSymbol$11 = $TV($EXPECT($L63, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
7404
7461
  return {
7405
7462
  $loc,
7406
7463
  token: "instanceof",
@@ -7408,7 +7465,7 @@ ${input.slice(result.pos)}
7408
7465
  special: true
7409
7466
  };
7410
7467
  });
7411
- var BinaryOpSymbol$12 = $TV($EXPECT($L63, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
7468
+ var BinaryOpSymbol$12 = $TV($EXPECT($L64, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
7412
7469
  return {
7413
7470
  $loc,
7414
7471
  token: "instanceof",
@@ -7417,79 +7474,79 @@ ${input.slice(result.pos)}
7417
7474
  negated: true
7418
7475
  };
7419
7476
  });
7420
- var BinaryOpSymbol$13 = $EXPECT($L64, 'BinaryOpSymbol "<<"');
7421
- var BinaryOpSymbol$14 = $T($EXPECT($L65, 'BinaryOpSymbol "\xAB"'), function(value) {
7477
+ var BinaryOpSymbol$13 = $EXPECT($L65, 'BinaryOpSymbol "<<"');
7478
+ var BinaryOpSymbol$14 = $T($EXPECT($L66, 'BinaryOpSymbol "\xAB"'), function(value) {
7422
7479
  return "<<";
7423
7480
  });
7424
7481
  var BinaryOpSymbol$15 = $TR($EXPECT($R7, "BinaryOpSymbol /<(?!\\p{ID_Start}|[_$])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7425
7482
  return "<";
7426
7483
  });
7427
- var BinaryOpSymbol$16 = $EXPECT($L66, 'BinaryOpSymbol ">>>"');
7428
- var BinaryOpSymbol$17 = $T($EXPECT($L67, 'BinaryOpSymbol "\u22D9"'), function(value) {
7484
+ var BinaryOpSymbol$16 = $EXPECT($L67, 'BinaryOpSymbol ">>>"');
7485
+ var BinaryOpSymbol$17 = $T($EXPECT($L68, 'BinaryOpSymbol "\u22D9"'), function(value) {
7429
7486
  return ">>>";
7430
7487
  });
7431
- var BinaryOpSymbol$18 = $EXPECT($L68, 'BinaryOpSymbol ">>"');
7432
- var BinaryOpSymbol$19 = $T($EXPECT($L69, 'BinaryOpSymbol "\xBB"'), function(value) {
7488
+ var BinaryOpSymbol$18 = $EXPECT($L69, 'BinaryOpSymbol ">>"');
7489
+ var BinaryOpSymbol$19 = $T($EXPECT($L70, 'BinaryOpSymbol "\xBB"'), function(value) {
7433
7490
  return ">>";
7434
7491
  });
7435
- var BinaryOpSymbol$20 = $EXPECT($L32, 'BinaryOpSymbol ">"');
7436
- var BinaryOpSymbol$21 = $EXPECT($L70, 'BinaryOpSymbol "!=="');
7437
- var BinaryOpSymbol$22 = $T($EXPECT($L71, 'BinaryOpSymbol "\u2262"'), function(value) {
7492
+ var BinaryOpSymbol$20 = $EXPECT($L33, 'BinaryOpSymbol ">"');
7493
+ var BinaryOpSymbol$21 = $EXPECT($L71, 'BinaryOpSymbol "!=="');
7494
+ var BinaryOpSymbol$22 = $T($EXPECT($L72, 'BinaryOpSymbol "\u2262"'), function(value) {
7438
7495
  return "!==";
7439
7496
  });
7440
- var BinaryOpSymbol$23 = $TV($C($EXPECT($L72, 'BinaryOpSymbol "!="'), $EXPECT($L73, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
7497
+ var BinaryOpSymbol$23 = $TV($C($EXPECT($L73, 'BinaryOpSymbol "!="'), $EXPECT($L74, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
7441
7498
  if (module.config.coffeeEq)
7442
7499
  return "!==";
7443
7500
  return "!=";
7444
7501
  });
7445
- var BinaryOpSymbol$24 = $TS($S($EXPECT($L74, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7502
+ var BinaryOpSymbol$24 = $TS($S($EXPECT($L75, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7446
7503
  if (module.config.coffeeIsnt)
7447
7504
  return "!==";
7448
7505
  return $skip;
7449
7506
  });
7450
- var BinaryOpSymbol$25 = $EXPECT($L75, 'BinaryOpSymbol "==="');
7451
- var BinaryOpSymbol$26 = $T($C($EXPECT($L76, 'BinaryOpSymbol "\u2263"'), $EXPECT($L77, 'BinaryOpSymbol "\u2A76"')), function(value) {
7507
+ var BinaryOpSymbol$25 = $EXPECT($L76, 'BinaryOpSymbol "==="');
7508
+ var BinaryOpSymbol$26 = $T($C($EXPECT($L77, 'BinaryOpSymbol "\u2263"'), $EXPECT($L78, 'BinaryOpSymbol "\u2A76"')), function(value) {
7452
7509
  return "===";
7453
7510
  });
7454
- var BinaryOpSymbol$27 = $TV($C($EXPECT($L78, 'BinaryOpSymbol "=="'), $EXPECT($L79, 'BinaryOpSymbol "\u2261"'), $EXPECT($L80, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
7511
+ var BinaryOpSymbol$27 = $TV($C($EXPECT($L79, 'BinaryOpSymbol "=="'), $EXPECT($L80, 'BinaryOpSymbol "\u2261"'), $EXPECT($L81, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
7455
7512
  if (module.config.coffeeEq)
7456
7513
  return "===";
7457
7514
  return "==";
7458
7515
  });
7459
- var BinaryOpSymbol$28 = $T($S($EXPECT($L81, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
7516
+ var BinaryOpSymbol$28 = $T($S($EXPECT($L82, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
7460
7517
  return "&&";
7461
7518
  });
7462
- var BinaryOpSymbol$29 = $EXPECT($L82, 'BinaryOpSymbol "&&"');
7463
- var BinaryOpSymbol$30 = $T($S(CoffeeOfEnabled, $EXPECT($L83, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
7519
+ var BinaryOpSymbol$29 = $EXPECT($L83, 'BinaryOpSymbol "&&"');
7520
+ var BinaryOpSymbol$30 = $T($S(CoffeeOfEnabled, $EXPECT($L84, 'BinaryOpSymbol "of"'), NonIdContinue), function(value) {
7464
7521
  return "in";
7465
7522
  });
7466
- var BinaryOpSymbol$31 = $T($S($EXPECT($L84, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
7523
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L85, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
7467
7524
  return "||";
7468
7525
  });
7469
- var BinaryOpSymbol$32 = $EXPECT($L85, 'BinaryOpSymbol "||"');
7470
- var BinaryOpSymbol$33 = $T($EXPECT($L86, 'BinaryOpSymbol "\u2016"'), function(value) {
7526
+ var BinaryOpSymbol$32 = $EXPECT($L86, 'BinaryOpSymbol "||"');
7527
+ var BinaryOpSymbol$33 = $T($EXPECT($L87, 'BinaryOpSymbol "\u2016"'), function(value) {
7471
7528
  return "||";
7472
7529
  });
7473
- var BinaryOpSymbol$34 = $TV($C($EXPECT($L87, 'BinaryOpSymbol "^^"'), $S($EXPECT($L88, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
7530
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L88, 'BinaryOpSymbol "^^"'), $S($EXPECT($L89, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
7474
7531
  return {
7475
7532
  call: module.getRef("xor"),
7476
7533
  special: true
7477
7534
  };
7478
7535
  });
7479
- var BinaryOpSymbol$35 = $TV($C($EXPECT($R8, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L89, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
7536
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R8, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L90, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
7480
7537
  return {
7481
7538
  call: module.getRef("xnor"),
7482
7539
  special: true
7483
7540
  };
7484
7541
  });
7485
- var BinaryOpSymbol$36 = $EXPECT($L90, 'BinaryOpSymbol "??"');
7486
- var BinaryOpSymbol$37 = $T($EXPECT($L91, 'BinaryOpSymbol "\u2047"'), function(value) {
7542
+ var BinaryOpSymbol$36 = $EXPECT($L91, 'BinaryOpSymbol "??"');
7543
+ var BinaryOpSymbol$37 = $T($EXPECT($L92, 'BinaryOpSymbol "\u2047"'), function(value) {
7487
7544
  return "??";
7488
7545
  });
7489
7546
  var BinaryOpSymbol$38 = $T($S(CoffeeBinaryExistentialEnabled, $EXPECT($L5, 'BinaryOpSymbol "?"')), function(value) {
7490
7547
  return "??";
7491
7548
  });
7492
- var BinaryOpSymbol$39 = $TS($S($EXPECT($L92, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7549
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L93, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7493
7550
  return {
7494
7551
  $loc,
7495
7552
  token: $1,
@@ -7497,7 +7554,7 @@ ${input.slice(result.pos)}
7497
7554
  special: true
7498
7555
  };
7499
7556
  });
7500
- var BinaryOpSymbol$40 = $TS($S(Not, __, $EXPECT($L92, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
7557
+ var BinaryOpSymbol$40 = $TS($S(Not, __, $EXPECT($L93, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3, $4) {
7501
7558
  return {
7502
7559
  $loc,
7503
7560
  token: "instanceof",
@@ -7506,7 +7563,7 @@ ${input.slice(result.pos)}
7506
7563
  negated: true
7507
7564
  };
7508
7565
  });
7509
- var BinaryOpSymbol$41 = $TV($C($S($N(CoffeeOfEnabled), Not, __, In), $S(CoffeeOfEnabled, Not, __, $EXPECT($L83, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
7566
+ var BinaryOpSymbol$41 = $TV($C($S($N(CoffeeOfEnabled), Not, __, In), $S(CoffeeOfEnabled, Not, __, $EXPECT($L84, 'BinaryOpSymbol "of"'), NonIdContinue)), function($skip, $loc, $0, $1) {
7510
7567
  return {
7511
7568
  $loc,
7512
7569
  token: "in",
@@ -7514,7 +7571,7 @@ ${input.slice(result.pos)}
7514
7571
  negated: true
7515
7572
  };
7516
7573
  });
7517
- var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L93, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
7574
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L94, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
7518
7575
  return {
7519
7576
  method: "includes",
7520
7577
  relational: true,
@@ -7522,14 +7579,14 @@ ${input.slice(result.pos)}
7522
7579
  special: true
7523
7580
  };
7524
7581
  });
7525
- var BinaryOpSymbol$43 = $TV($EXPECT($L94, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
7582
+ var BinaryOpSymbol$43 = $TV($EXPECT($L95, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
7526
7583
  return {
7527
7584
  method: "includes",
7528
7585
  relational: true,
7529
7586
  special: true
7530
7587
  };
7531
7588
  });
7532
- var BinaryOpSymbol$44 = $TV($EXPECT($L95, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
7589
+ var BinaryOpSymbol$44 = $TV($EXPECT($L96, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
7533
7590
  return {
7534
7591
  method: "includes",
7535
7592
  relational: true,
@@ -7546,7 +7603,7 @@ ${input.slice(result.pos)}
7546
7603
  special: true
7547
7604
  };
7548
7605
  });
7549
- var BinaryOpSymbol$46 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L96, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
7606
+ var BinaryOpSymbol$46 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L97, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
7550
7607
  return {
7551
7608
  method: "includes",
7552
7609
  relational: true,
@@ -7590,21 +7647,21 @@ ${input.slice(result.pos)}
7590
7647
  var BinaryOpSymbol$50 = $TS($S(In), function($skip, $loc, $0, $1) {
7591
7648
  return "in";
7592
7649
  });
7593
- var BinaryOpSymbol$51 = $EXPECT($L97, 'BinaryOpSymbol "&"');
7650
+ var BinaryOpSymbol$51 = $EXPECT($L98, 'BinaryOpSymbol "&"');
7594
7651
  var BinaryOpSymbol$52 = $EXPECT($L17, 'BinaryOpSymbol "^"');
7595
- var BinaryOpSymbol$53 = $EXPECT($L98, 'BinaryOpSymbol "|"');
7652
+ var BinaryOpSymbol$53 = $EXPECT($L99, 'BinaryOpSymbol "|"');
7596
7653
  var BinaryOpSymbol$$ = [BinaryOpSymbol$0, BinaryOpSymbol$1, BinaryOpSymbol$2, BinaryOpSymbol$3, BinaryOpSymbol$4, BinaryOpSymbol$5, BinaryOpSymbol$6, BinaryOpSymbol$7, BinaryOpSymbol$8, BinaryOpSymbol$9, BinaryOpSymbol$10, BinaryOpSymbol$11, BinaryOpSymbol$12, BinaryOpSymbol$13, BinaryOpSymbol$14, BinaryOpSymbol$15, BinaryOpSymbol$16, BinaryOpSymbol$17, BinaryOpSymbol$18, BinaryOpSymbol$19, BinaryOpSymbol$20, BinaryOpSymbol$21, BinaryOpSymbol$22, BinaryOpSymbol$23, BinaryOpSymbol$24, BinaryOpSymbol$25, BinaryOpSymbol$26, BinaryOpSymbol$27, BinaryOpSymbol$28, BinaryOpSymbol$29, BinaryOpSymbol$30, BinaryOpSymbol$31, BinaryOpSymbol$32, BinaryOpSymbol$33, BinaryOpSymbol$34, BinaryOpSymbol$35, BinaryOpSymbol$36, BinaryOpSymbol$37, BinaryOpSymbol$38, BinaryOpSymbol$39, BinaryOpSymbol$40, BinaryOpSymbol$41, BinaryOpSymbol$42, BinaryOpSymbol$43, BinaryOpSymbol$44, BinaryOpSymbol$45, BinaryOpSymbol$46, BinaryOpSymbol$47, BinaryOpSymbol$48, BinaryOpSymbol$49, BinaryOpSymbol$50, BinaryOpSymbol$51, BinaryOpSymbol$52, BinaryOpSymbol$53];
7597
7654
  function BinaryOpSymbol(ctx, state) {
7598
7655
  return $EVENT_C(ctx, state, "BinaryOpSymbol", BinaryOpSymbol$$);
7599
7656
  }
7600
- var Xor$0 = $EXPECT($L87, 'Xor "^^"');
7601
- var Xor$1 = $S($EXPECT($L88, 'Xor "xor"'), NonIdContinue);
7657
+ var Xor$0 = $EXPECT($L88, 'Xor "^^"');
7658
+ var Xor$1 = $S($EXPECT($L89, 'Xor "xor"'), NonIdContinue);
7602
7659
  var Xor$$ = [Xor$0, Xor$1];
7603
7660
  function Xor(ctx, state) {
7604
7661
  return $EVENT_C(ctx, state, "Xor", Xor$$);
7605
7662
  }
7606
7663
  var Xnor$0 = $R$0($EXPECT($R8, "Xnor /!\\^\\^?/"));
7607
- var Xnor$1 = $EXPECT($L89, 'Xnor "xnor"');
7664
+ var Xnor$1 = $EXPECT($L90, 'Xnor "xnor"');
7608
7665
  var Xnor$$ = [Xnor$0, Xnor$1];
7609
7666
  function Xnor(ctx, state) {
7610
7667
  return $EVENT_C(ctx, state, "Xnor", Xnor$$);
@@ -7708,7 +7765,7 @@ ${input.slice(result.pos)}
7708
7765
  function Statement(ctx, state) {
7709
7766
  return $EVENT_C(ctx, state, "Statement", Statement$$);
7710
7767
  }
7711
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L99, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
7768
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L100, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
7712
7769
  return { type: "EmptyStatement", children: $1 || [] };
7713
7770
  });
7714
7771
  function EmptyStatement(ctx, state) {
@@ -7730,7 +7787,7 @@ ${input.slice(result.pos)}
7730
7787
  var w = $3;
7731
7788
  return [id, colon, w];
7732
7789
  });
7733
- var Label$1 = $S($EXPECT($L100, 'Label "$:"'), Whitespace);
7790
+ var Label$1 = $S($EXPECT($L101, 'Label "$:"'), Whitespace);
7734
7791
  var Label$$ = [Label$0, Label$1];
7735
7792
  function Label(ctx, state) {
7736
7793
  return $EVENT_C(ctx, state, "Label", Label$$);
@@ -8429,8 +8486,10 @@ ${input.slice(result.pos)}
8429
8486
  return $EVENT(ctx, state, "PatternExpressionList", PatternExpressionList$0);
8430
8487
  }
8431
8488
  var ConditionFragment$0 = BindingPattern;
8432
- var ConditionFragment$1 = $TV($P(SingleLineBinaryOpRHS), function($skip, $loc, $0, $1) {
8433
- var pattern = $0;
8489
+ var ConditionFragment$1 = $TS($S(ForbidIndentedApplication, $E($P(SingleLineBinaryOpRHS)), RestoreIndentedApplication), function($skip, $loc, $0, $1, $2, $3) {
8490
+ var pattern = $2;
8491
+ if (!pattern)
8492
+ return $skip;
8434
8493
  return {
8435
8494
  type: "ConditionFragment",
8436
8495
  children: pattern
@@ -8591,8 +8650,10 @@ ${input.slice(result.pos)}
8591
8650
  function Condition(ctx, state) {
8592
8651
  return $EVENT_C(ctx, state, "Condition", Condition$$);
8593
8652
  }
8594
- var DeclarationCondition$0 = $TV(LexicalDeclaration, function($skip, $loc, $0, $1) {
8595
- var dec = $0;
8653
+ var DeclarationCondition$0 = $TS($S(ForbidIndentedApplication, $E(LexicalDeclaration), RestoreIndentedApplication), function($skip, $loc, $0, $1, $2, $3) {
8654
+ var dec = $2;
8655
+ if (!dec)
8656
+ return $skip;
8596
8657
  const ref = makeRef();
8597
8658
  const { decl, bindings } = dec;
8598
8659
  const binding = bindings[0];
@@ -8813,19 +8874,19 @@ ${input.slice(result.pos)}
8813
8874
  function KeywordStatement(ctx, state) {
8814
8875
  return $EVENT_C(ctx, state, "KeywordStatement", KeywordStatement$$);
8815
8876
  }
8816
- var Break$0 = $TS($S($EXPECT($L101, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8877
+ var Break$0 = $TS($S($EXPECT($L102, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8817
8878
  return { $loc, token: $1 };
8818
8879
  });
8819
8880
  function Break(ctx, state) {
8820
8881
  return $EVENT(ctx, state, "Break", Break$0);
8821
8882
  }
8822
- var Continue$0 = $TS($S($EXPECT($L102, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8883
+ var Continue$0 = $TS($S($EXPECT($L103, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8823
8884
  return { $loc, token: $1 };
8824
8885
  });
8825
8886
  function Continue(ctx, state) {
8826
8887
  return $EVENT(ctx, state, "Continue", Continue$0);
8827
8888
  }
8828
- var Debugger$0 = $TS($S($EXPECT($L103, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8889
+ var Debugger$0 = $TS($S($EXPECT($L104, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8829
8890
  return { $loc, token: $1 };
8830
8891
  });
8831
8892
  function Debugger(ctx, state) {
@@ -8944,7 +9005,7 @@ ${input.slice(result.pos)}
8944
9005
  function FromClause(ctx, state) {
8945
9006
  return $EVENT(ctx, state, "FromClause", FromClause$0);
8946
9007
  }
8947
- var ImportAssertion$0 = $S($E(_), $EXPECT($L104, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
9008
+ var ImportAssertion$0 = $S($E(_), $EXPECT($L105, 'ImportAssertion "assert"'), NonIdContinue, $E(_), ObjectLiteral);
8948
9009
  function ImportAssertion(ctx, state) {
8949
9010
  return $EVENT(ctx, state, "ImportAssertion", ImportAssertion$0);
8950
9011
  }
@@ -9163,13 +9224,13 @@ ${input.slice(result.pos)}
9163
9224
  function LexicalDeclaration(ctx, state) {
9164
9225
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
9165
9226
  }
9166
- var ConstAssignment$0 = $TV($C($EXPECT($L105, 'ConstAssignment ":="'), $EXPECT($L106, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
9227
+ var ConstAssignment$0 = $TV($C($EXPECT($L106, 'ConstAssignment ":="'), $EXPECT($L107, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
9167
9228
  return { $loc, token: "=" };
9168
9229
  });
9169
9230
  function ConstAssignment(ctx, state) {
9170
9231
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
9171
9232
  }
9172
- var LetAssignment$0 = $TV($EXPECT($L107, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
9233
+ var LetAssignment$0 = $TV($EXPECT($L108, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
9173
9234
  return { $loc, token: "=" };
9174
9235
  });
9175
9236
  function LetAssignment(ctx, state) {
@@ -9364,7 +9425,7 @@ ${input.slice(result.pos)}
9364
9425
  return $EVENT(ctx, state, "CoffeeDoubleQuotedStringCharacters", CoffeeDoubleQuotedStringCharacters$0);
9365
9426
  }
9366
9427
  var RegularExpressionLiteral$0 = HeregexLiteral;
9367
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L54, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L54, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
9428
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L55, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L55, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
9368
9429
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
9369
9430
  });
9370
9431
  var RegularExpressionLiteral$$ = [RegularExpressionLiteral$0, RegularExpressionLiteral$1];
@@ -9560,7 +9621,7 @@ ${input.slice(result.pos)}
9560
9621
  function MultiLineComment(ctx, state) {
9561
9622
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
9562
9623
  }
9563
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L108, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L109, 'JSMultiLineComment "*/"')), $EXPECT($R42, "JSMultiLineComment /./"))), $EXPECT($L109, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
9624
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L109, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L110, 'JSMultiLineComment "*/"')), $EXPECT($R42, "JSMultiLineComment /./"))), $EXPECT($L110, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
9564
9625
  return { type: "Comment", $loc, token: $1 };
9565
9626
  });
9566
9627
  function JSMultiLineComment(ctx, state) {
@@ -9583,7 +9644,7 @@ ${input.slice(result.pos)}
9583
9644
  function CoffeeHereCommentStart(ctx, state) {
9584
9645
  return $EVENT(ctx, state, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
9585
9646
  }
9586
- var InlineComment$0 = $TV($TEXT($S($EXPECT($L108, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L109, 'InlineComment "*/"')), $EXPECT($R46, "InlineComment /[^\\r\\n]/")))), $EXPECT($L109, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
9647
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L109, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L110, 'InlineComment "*/"')), $EXPECT($R46, "InlineComment /[^\\r\\n]/")))), $EXPECT($L110, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
9587
9648
  return { $loc, token: $1 };
9588
9649
  });
9589
9650
  function InlineComment(ctx, state) {
@@ -9604,7 +9665,7 @@ ${input.slice(result.pos)}
9604
9665
  var NonNewlineWhitespace$0 = $TR($EXPECT($R47, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
9605
9666
  return { $loc, token: $0 };
9606
9667
  });
9607
- var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L110, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
9668
+ var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L111, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
9608
9669
  return "";
9609
9670
  });
9610
9671
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
@@ -9645,9 +9706,9 @@ ${input.slice(result.pos)}
9645
9706
  return $EVENT_C(ctx, state, "SimpleStatementDelimiter", SimpleStatementDelimiter$$);
9646
9707
  }
9647
9708
  var StatementDelimiter$0 = SemicolonDelimiter;
9648
- var StatementDelimiter$1 = $S($Y($S(Nested, $C($EXPECT($L4, 'StatementDelimiter "("'), $EXPECT($L111, 'StatementDelimiter "["'), $EXPECT($L112, 'StatementDelimiter "`"'), $EXPECT($L57, 'StatementDelimiter "+"'), $EXPECT($L18, 'StatementDelimiter "-"'), $EXPECT($L53, 'StatementDelimiter "*"'), $EXPECT($L54, 'StatementDelimiter "/"'), ObjectLiteral, Arrow, FatArrow, $S(Function, $E($S($E(_), Star)), $E(_), $EXPECT($L4, 'StatementDelimiter "("'))))), InsertSemicolon);
9709
+ var StatementDelimiter$1 = $S($Y($S(Nested, $C($EXPECT($L4, 'StatementDelimiter "("'), $EXPECT($L112, 'StatementDelimiter "["'), $EXPECT($L113, 'StatementDelimiter "`"'), $EXPECT($L58, 'StatementDelimiter "+"'), $EXPECT($L18, 'StatementDelimiter "-"'), $EXPECT($L54, 'StatementDelimiter "*"'), $EXPECT($L55, 'StatementDelimiter "/"'), ObjectLiteral, Arrow, FatArrow, $S(Function, $E($S($E(_), Star)), $E(_), $EXPECT($L4, 'StatementDelimiter "("'))))), InsertSemicolon);
9649
9710
  var StatementDelimiter$2 = $Y(EOS);
9650
- var StatementDelimiter$3 = $Y($S($Q(_), $C($EXPECT($L24, 'StatementDelimiter "}"'), $EXPECT($L113, 'StatementDelimiter ")"'), $EXPECT($L33, 'StatementDelimiter "]"'))));
9711
+ var StatementDelimiter$3 = $Y($S($Q(_), $C($EXPECT($L25, 'StatementDelimiter "}"'), $EXPECT($L114, 'StatementDelimiter ")"'), $EXPECT($L34, 'StatementDelimiter "]"'))));
9651
9712
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2, StatementDelimiter$3];
9652
9713
  function StatementDelimiter(ctx, state) {
9653
9714
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -9671,97 +9732,97 @@ ${input.slice(result.pos)}
9671
9732
  function Loc(ctx, state) {
9672
9733
  return $EVENT(ctx, state, "Loc", Loc$0);
9673
9734
  }
9674
- var Abstract$0 = $TV($TEXT($S($EXPECT($L114, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L11, 'Abstract " "')))), function($skip, $loc, $0, $1) {
9735
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L115, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L11, 'Abstract " "')))), function($skip, $loc, $0, $1) {
9675
9736
  return { $loc, token: $1, ts: true };
9676
9737
  });
9677
9738
  function Abstract(ctx, state) {
9678
9739
  return $EVENT(ctx, state, "Abstract", Abstract$0);
9679
9740
  }
9680
- var Ampersand$0 = $TV($EXPECT($L97, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
9741
+ var Ampersand$0 = $TV($EXPECT($L98, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
9681
9742
  return { $loc, token: $1 };
9682
9743
  });
9683
9744
  function Ampersand(ctx, state) {
9684
9745
  return $EVENT(ctx, state, "Ampersand", Ampersand$0);
9685
9746
  }
9686
- var As$0 = $TS($S($EXPECT($L115, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9747
+ var As$0 = $TS($S($EXPECT($L116, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9687
9748
  return { $loc, token: $1 };
9688
9749
  });
9689
9750
  function As(ctx, state) {
9690
9751
  return $EVENT(ctx, state, "As", As$0);
9691
9752
  }
9692
- var At$0 = $TV($EXPECT($L116, 'At "@"'), function($skip, $loc, $0, $1) {
9753
+ var At$0 = $TV($EXPECT($L117, 'At "@"'), function($skip, $loc, $0, $1) {
9693
9754
  return { $loc, token: $1 };
9694
9755
  });
9695
9756
  function At(ctx, state) {
9696
9757
  return $EVENT(ctx, state, "At", At$0);
9697
9758
  }
9698
- var AtAt$0 = $TV($EXPECT($L117, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
9759
+ var AtAt$0 = $TV($EXPECT($L118, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
9699
9760
  return { $loc, token: "@" };
9700
9761
  });
9701
9762
  function AtAt(ctx, state) {
9702
9763
  return $EVENT(ctx, state, "AtAt", AtAt$0);
9703
9764
  }
9704
- var Async$0 = $TS($S($EXPECT($L118, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9765
+ var Async$0 = $TS($S($EXPECT($L119, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9705
9766
  return { $loc, token: $1, type: "Async" };
9706
9767
  });
9707
9768
  function Async(ctx, state) {
9708
9769
  return $EVENT(ctx, state, "Async", Async$0);
9709
9770
  }
9710
- var Await$0 = $TS($S($EXPECT($L119, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9771
+ var Await$0 = $TS($S($EXPECT($L120, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9711
9772
  return { $loc, token: $1, type: "Await" };
9712
9773
  });
9713
9774
  function Await(ctx, state) {
9714
9775
  return $EVENT(ctx, state, "Await", Await$0);
9715
9776
  }
9716
- var Backtick$0 = $TV($EXPECT($L112, 'Backtick "`"'), function($skip, $loc, $0, $1) {
9777
+ var Backtick$0 = $TV($EXPECT($L113, 'Backtick "`"'), function($skip, $loc, $0, $1) {
9717
9778
  return { $loc, token: $1 };
9718
9779
  });
9719
9780
  function Backtick(ctx, state) {
9720
9781
  return $EVENT(ctx, state, "Backtick", Backtick$0);
9721
9782
  }
9722
- var By$0 = $TS($S($EXPECT($L120, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9783
+ var By$0 = $TS($S($EXPECT($L121, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9723
9784
  return { $loc, token: $1 };
9724
9785
  });
9725
9786
  function By(ctx, state) {
9726
9787
  return $EVENT(ctx, state, "By", By$0);
9727
9788
  }
9728
- var Case$0 = $TS($S($EXPECT($L121, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9789
+ var Case$0 = $TS($S($EXPECT($L122, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9729
9790
  return { $loc, token: $1 };
9730
9791
  });
9731
9792
  function Case(ctx, state) {
9732
9793
  return $EVENT(ctx, state, "Case", Case$0);
9733
9794
  }
9734
- var Catch$0 = $TS($S($EXPECT($L122, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9795
+ var Catch$0 = $TS($S($EXPECT($L123, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9735
9796
  return { $loc, token: $1 };
9736
9797
  });
9737
9798
  function Catch(ctx, state) {
9738
9799
  return $EVENT(ctx, state, "Catch", Catch$0);
9739
9800
  }
9740
- var Class$0 = $TS($S($EXPECT($L123, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9801
+ var Class$0 = $TS($S($EXPECT($L124, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9741
9802
  return { $loc, token: $1 };
9742
9803
  });
9743
9804
  function Class(ctx, state) {
9744
9805
  return $EVENT(ctx, state, "Class", Class$0);
9745
9806
  }
9746
- var CloseBrace$0 = $TV($EXPECT($L24, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
9807
+ var CloseBrace$0 = $TV($EXPECT($L25, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
9747
9808
  return { $loc, token: $1 };
9748
9809
  });
9749
9810
  function CloseBrace(ctx, state) {
9750
9811
  return $EVENT(ctx, state, "CloseBrace", CloseBrace$0);
9751
9812
  }
9752
- var CloseBracket$0 = $TV($EXPECT($L33, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
9813
+ var CloseBracket$0 = $TV($EXPECT($L34, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
9753
9814
  return { $loc, token: $1 };
9754
9815
  });
9755
9816
  function CloseBracket(ctx, state) {
9756
9817
  return $EVENT(ctx, state, "CloseBracket", CloseBracket$0);
9757
9818
  }
9758
- var CloseParen$0 = $TV($EXPECT($L113, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
9819
+ var CloseParen$0 = $TV($EXPECT($L114, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
9759
9820
  return { $loc, token: $1 };
9760
9821
  });
9761
9822
  function CloseParen(ctx, state) {
9762
9823
  return $EVENT(ctx, state, "CloseParen", CloseParen$0);
9763
9824
  }
9764
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L124, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
9825
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L125, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
9765
9826
  return { $loc, token: "${" };
9766
9827
  });
9767
9828
  function CoffeeSubstitutionStart(ctx, state) {
@@ -9779,31 +9840,31 @@ ${input.slice(result.pos)}
9779
9840
  function Comma(ctx, state) {
9780
9841
  return $EVENT(ctx, state, "Comma", Comma$0);
9781
9842
  }
9782
- var ConstructorShorthand$0 = $TV($EXPECT($L116, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
9843
+ var ConstructorShorthand$0 = $TV($EXPECT($L117, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
9783
9844
  return { $loc, token: "constructor" };
9784
9845
  });
9785
9846
  function ConstructorShorthand(ctx, state) {
9786
9847
  return $EVENT(ctx, state, "ConstructorShorthand", ConstructorShorthand$0);
9787
9848
  }
9788
- var Declare$0 = $TS($S($EXPECT($L125, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9849
+ var Declare$0 = $TS($S($EXPECT($L126, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9789
9850
  return { $loc, token: $1 };
9790
9851
  });
9791
9852
  function Declare(ctx, state) {
9792
9853
  return $EVENT(ctx, state, "Declare", Declare$0);
9793
9854
  }
9794
- var Default$0 = $TS($S($EXPECT($L126, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9855
+ var Default$0 = $TS($S($EXPECT($L127, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9795
9856
  return { $loc, token: $1 };
9796
9857
  });
9797
9858
  function Default(ctx, state) {
9798
9859
  return $EVENT(ctx, state, "Default", Default$0);
9799
9860
  }
9800
- var Delete$0 = $TS($S($EXPECT($L127, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9861
+ var Delete$0 = $TS($S($EXPECT($L128, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9801
9862
  return { $loc, token: $1 };
9802
9863
  });
9803
9864
  function Delete(ctx, state) {
9804
9865
  return $EVENT(ctx, state, "Delete", Delete$0);
9805
9866
  }
9806
- var Do$0 = $TS($S($EXPECT($L128, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9867
+ var Do$0 = $TS($S($EXPECT($L129, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9807
9868
  return { $loc, token: $1 };
9808
9869
  });
9809
9870
  function Do(ctx, state) {
@@ -9823,45 +9884,45 @@ ${input.slice(result.pos)}
9823
9884
  function Dot(ctx, state) {
9824
9885
  return $EVENT_C(ctx, state, "Dot", Dot$$);
9825
9886
  }
9826
- var DotDot$0 = $TS($S($EXPECT($L129, 'DotDot ".."'), $N($EXPECT($L6, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
9887
+ var DotDot$0 = $TS($S($EXPECT($L130, 'DotDot ".."'), $N($EXPECT($L6, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
9827
9888
  return { $loc, token: $1 };
9828
9889
  });
9829
- var DotDot$1 = $TV($EXPECT($L130, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
9890
+ var DotDot$1 = $TV($EXPECT($L131, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
9830
9891
  return { $loc, token: ".." };
9831
9892
  });
9832
9893
  var DotDot$$ = [DotDot$0, DotDot$1];
9833
9894
  function DotDot(ctx, state) {
9834
9895
  return $EVENT_C(ctx, state, "DotDot", DotDot$$);
9835
9896
  }
9836
- var DotDotDot$0 = $TV($EXPECT($L131, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
9897
+ var DotDotDot$0 = $TV($EXPECT($L132, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
9837
9898
  return { $loc, token: $1 };
9838
9899
  });
9839
- var DotDotDot$1 = $TV($EXPECT($L132, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
9900
+ var DotDotDot$1 = $TV($EXPECT($L133, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
9840
9901
  return { $loc, token: "..." };
9841
9902
  });
9842
9903
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
9843
9904
  function DotDotDot(ctx, state) {
9844
9905
  return $EVENT_C(ctx, state, "DotDotDot", DotDotDot$$);
9845
9906
  }
9846
- var DoubleColon$0 = $TV($EXPECT($L133, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
9907
+ var DoubleColon$0 = $TV($EXPECT($L134, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
9847
9908
  return { $loc, token: $1 };
9848
9909
  });
9849
9910
  function DoubleColon(ctx, state) {
9850
9911
  return $EVENT(ctx, state, "DoubleColon", DoubleColon$0);
9851
9912
  }
9852
- var DoubleQuote$0 = $TV($EXPECT($L134, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
9913
+ var DoubleQuote$0 = $TV($EXPECT($L135, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
9853
9914
  return { $loc, token: $1 };
9854
9915
  });
9855
9916
  function DoubleQuote(ctx, state) {
9856
9917
  return $EVENT(ctx, state, "DoubleQuote", DoubleQuote$0);
9857
9918
  }
9858
- var Each$0 = $TS($S($EXPECT($L135, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9919
+ var Each$0 = $TS($S($EXPECT($L136, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9859
9920
  return { $loc, token: $1 };
9860
9921
  });
9861
9922
  function Each(ctx, state) {
9862
9923
  return $EVENT(ctx, state, "Each", Each$0);
9863
9924
  }
9864
- var Else$0 = $TS($S($EXPECT($L136, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9925
+ var Else$0 = $TS($S($EXPECT($L137, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9865
9926
  return { $loc, token: $1 };
9866
9927
  });
9867
9928
  function Else(ctx, state) {
@@ -9873,55 +9934,55 @@ ${input.slice(result.pos)}
9873
9934
  function Equals(ctx, state) {
9874
9935
  return $EVENT(ctx, state, "Equals", Equals$0);
9875
9936
  }
9876
- var Export$0 = $TS($S($EXPECT($L137, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9937
+ var Export$0 = $TS($S($EXPECT($L138, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9877
9938
  return { $loc, token: $1 };
9878
9939
  });
9879
9940
  function Export(ctx, state) {
9880
9941
  return $EVENT(ctx, state, "Export", Export$0);
9881
9942
  }
9882
- var Extends$0 = $TS($S($EXPECT($L138, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9943
+ var Extends$0 = $TS($S($EXPECT($L139, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9883
9944
  return { $loc, token: $1 };
9884
9945
  });
9885
9946
  function Extends(ctx, state) {
9886
9947
  return $EVENT(ctx, state, "Extends", Extends$0);
9887
9948
  }
9888
- var Finally$0 = $TS($S($EXPECT($L139, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9949
+ var Finally$0 = $TS($S($EXPECT($L140, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9889
9950
  return { $loc, token: $1 };
9890
9951
  });
9891
9952
  function Finally(ctx, state) {
9892
9953
  return $EVENT(ctx, state, "Finally", Finally$0);
9893
9954
  }
9894
- var For$0 = $TS($S($EXPECT($L140, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9955
+ var For$0 = $TS($S($EXPECT($L141, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9895
9956
  return { $loc, token: $1 };
9896
9957
  });
9897
9958
  function For(ctx, state) {
9898
9959
  return $EVENT(ctx, state, "For", For$0);
9899
9960
  }
9900
- var From$0 = $TS($S($EXPECT($L141, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9961
+ var From$0 = $TS($S($EXPECT($L142, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9901
9962
  return { $loc, token: $1 };
9902
9963
  });
9903
9964
  function From(ctx, state) {
9904
9965
  return $EVENT(ctx, state, "From", From$0);
9905
9966
  }
9906
- var Function$0 = $TS($S($EXPECT($L142, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9967
+ var Function$0 = $TS($S($EXPECT($L143, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9907
9968
  return { $loc, token: $1 };
9908
9969
  });
9909
9970
  function Function(ctx, state) {
9910
9971
  return $EVENT(ctx, state, "Function", Function$0);
9911
9972
  }
9912
- var GetOrSet$0 = $TS($S($C($EXPECT($L143, 'GetOrSet "get"'), $EXPECT($L144, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9973
+ var GetOrSet$0 = $TS($S($C($EXPECT($L144, 'GetOrSet "get"'), $EXPECT($L145, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9913
9974
  return { $loc, token: $1, type: "GetOrSet" };
9914
9975
  });
9915
9976
  function GetOrSet(ctx, state) {
9916
9977
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
9917
9978
  }
9918
- var Hash$0 = $TV($EXPECT($L145, 'Hash "#"'), function($skip, $loc, $0, $1) {
9979
+ var Hash$0 = $TV($EXPECT($L146, 'Hash "#"'), function($skip, $loc, $0, $1) {
9919
9980
  return { $loc, token: $1 };
9920
9981
  });
9921
9982
  function Hash(ctx, state) {
9922
9983
  return $EVENT(ctx, state, "Hash", Hash$0);
9923
9984
  }
9924
- var If$0 = $TV($TEXT($S($EXPECT($L146, 'If "if"'), NonIdContinue, $E($EXPECT($L11, 'If " "')))), function($skip, $loc, $0, $1) {
9985
+ var If$0 = $TV($TEXT($S($EXPECT($L147, 'If "if"'), NonIdContinue, $E($EXPECT($L11, 'If " "')))), function($skip, $loc, $0, $1) {
9925
9986
  return { $loc, token: $1 };
9926
9987
  });
9927
9988
  function If(ctx, state) {
@@ -9933,25 +9994,25 @@ ${input.slice(result.pos)}
9933
9994
  function Import(ctx, state) {
9934
9995
  return $EVENT(ctx, state, "Import", Import$0);
9935
9996
  }
9936
- var In$0 = $TS($S($EXPECT($L147, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9997
+ var In$0 = $TS($S($EXPECT($L148, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9937
9998
  return { $loc, token: $1 };
9938
9999
  });
9939
10000
  function In(ctx, state) {
9940
10001
  return $EVENT(ctx, state, "In", In$0);
9941
10002
  }
9942
- var LetOrConst$0 = $TS($S($C($EXPECT($L148, 'LetOrConst "let"'), $EXPECT($L149, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10003
+ var LetOrConst$0 = $TS($S($C($EXPECT($L149, 'LetOrConst "let"'), $EXPECT($L150, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9943
10004
  return { $loc, token: $1 };
9944
10005
  });
9945
10006
  function LetOrConst(ctx, state) {
9946
10007
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
9947
10008
  }
9948
- var Const$0 = $TS($S($EXPECT($L149, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10009
+ var Const$0 = $TS($S($EXPECT($L150, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9949
10010
  return { $loc, token: $1 };
9950
10011
  });
9951
10012
  function Const(ctx, state) {
9952
10013
  return $EVENT(ctx, state, "Const", Const$0);
9953
10014
  }
9954
- var Is$0 = $TS($S($EXPECT($L150, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10015
+ var Is$0 = $TS($S($EXPECT($L151, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9955
10016
  return { $loc, token: $1 };
9956
10017
  });
9957
10018
  function Is(ctx, state) {
@@ -9963,31 +10024,31 @@ ${input.slice(result.pos)}
9963
10024
  function LetOrConstOrVar(ctx, state) {
9964
10025
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
9965
10026
  }
9966
- var Loop$0 = $TS($S($EXPECT($L151, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10027
+ var Loop$0 = $TS($S($EXPECT($L152, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9967
10028
  return { $loc, token: "while(true)" };
9968
10029
  });
9969
10030
  function Loop(ctx, state) {
9970
10031
  return $EVENT(ctx, state, "Loop", Loop$0);
9971
10032
  }
9972
- var New$0 = $TS($S($EXPECT($L152, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10033
+ var New$0 = $TS($S($EXPECT($L153, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9973
10034
  return { $loc, token: $1 };
9974
10035
  });
9975
10036
  function New(ctx, state) {
9976
10037
  return $EVENT(ctx, state, "New", New$0);
9977
10038
  }
9978
- var Not$0 = $TS($S($EXPECT($L153, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L12, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
10039
+ var Not$0 = $TS($S($EXPECT($L154, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L12, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
9979
10040
  return { $loc, token: "!" };
9980
10041
  });
9981
10042
  function Not(ctx, state) {
9982
10043
  return $EVENT(ctx, state, "Not", Not$0);
9983
10044
  }
9984
- var Of$0 = $TS($S($EXPECT($L83, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10045
+ var Of$0 = $TS($S($EXPECT($L84, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9985
10046
  return { $loc, token: $1 };
9986
10047
  });
9987
10048
  function Of(ctx, state) {
9988
10049
  return $EVENT(ctx, state, "Of", Of$0);
9989
10050
  }
9990
- var OpenAngleBracket$0 = $TV($EXPECT($L154, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
10051
+ var OpenAngleBracket$0 = $TV($EXPECT($L155, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
9991
10052
  return { $loc, token: $1 };
9992
10053
  });
9993
10054
  function OpenAngleBracket(ctx, state) {
@@ -9999,7 +10060,7 @@ ${input.slice(result.pos)}
9999
10060
  function OpenBrace(ctx, state) {
10000
10061
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
10001
10062
  }
10002
- var OpenBracket$0 = $TV($EXPECT($L111, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
10063
+ var OpenBracket$0 = $TV($EXPECT($L112, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
10003
10064
  return { $loc, token: $1 };
10004
10065
  });
10005
10066
  function OpenBracket(ctx, state) {
@@ -10011,43 +10072,43 @@ ${input.slice(result.pos)}
10011
10072
  function OpenParen(ctx, state) {
10012
10073
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
10013
10074
  }
10014
- var Operator$0 = $TS($S($EXPECT($L155, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10075
+ var Operator$0 = $TS($S($EXPECT($L156, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10015
10076
  return { $loc, token: $1 };
10016
10077
  });
10017
10078
  function Operator(ctx, state) {
10018
10079
  return $EVENT(ctx, state, "Operator", Operator$0);
10019
10080
  }
10020
- var Own$0 = $TS($S($EXPECT($L156, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10081
+ var Own$0 = $TS($S($EXPECT($L157, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10021
10082
  return { $loc, token: $1 };
10022
10083
  });
10023
10084
  function Own(ctx, state) {
10024
10085
  return $EVENT(ctx, state, "Own", Own$0);
10025
10086
  }
10026
- var Public$0 = $TS($S($EXPECT($L157, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10087
+ var Public$0 = $TS($S($EXPECT($L158, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10027
10088
  return { $loc, token: $1 };
10028
10089
  });
10029
10090
  function Public(ctx, state) {
10030
10091
  return $EVENT(ctx, state, "Public", Public$0);
10031
10092
  }
10032
- var Private$0 = $TS($S($EXPECT($L158, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10093
+ var Private$0 = $TS($S($EXPECT($L159, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10033
10094
  return { $loc, token: $1 };
10034
10095
  });
10035
10096
  function Private(ctx, state) {
10036
10097
  return $EVENT(ctx, state, "Private", Private$0);
10037
10098
  }
10038
- var Protected$0 = $TS($S($EXPECT($L159, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10099
+ var Protected$0 = $TS($S($EXPECT($L160, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10039
10100
  return { $loc, token: $1 };
10040
10101
  });
10041
10102
  function Protected(ctx, state) {
10042
10103
  return $EVENT(ctx, state, "Protected", Protected$0);
10043
10104
  }
10044
- var Pipe$0 = $TV($C($EXPECT($L160, 'Pipe "||>"'), $EXPECT($L161, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
10105
+ var Pipe$0 = $TV($C($EXPECT($L161, 'Pipe "||>"'), $EXPECT($L162, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
10045
10106
  return { $loc, token: "||>" };
10046
10107
  });
10047
- var Pipe$1 = $TV($C($EXPECT($L162, 'Pipe "|>="'), $EXPECT($L163, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
10108
+ var Pipe$1 = $TV($C($EXPECT($L163, 'Pipe "|>="'), $EXPECT($L164, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
10048
10109
  return { $loc, token: "|>=" };
10049
10110
  });
10050
- var Pipe$2 = $TV($C($EXPECT($L164, 'Pipe "|>"'), $EXPECT($L165, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
10111
+ var Pipe$2 = $TV($C($EXPECT($L165, 'Pipe "|>"'), $EXPECT($L166, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
10051
10112
  return { $loc, token: "|>" };
10052
10113
  });
10053
10114
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -10060,167 +10121,167 @@ ${input.slice(result.pos)}
10060
10121
  function QuestionMark(ctx, state) {
10061
10122
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
10062
10123
  }
10063
- var Readonly$0 = $TS($S($EXPECT($L166, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10124
+ var Readonly$0 = $TS($S($EXPECT($L167, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10064
10125
  return { $loc, token: $1, ts: true };
10065
10126
  });
10066
10127
  function Readonly(ctx, state) {
10067
10128
  return $EVENT(ctx, state, "Readonly", Readonly$0);
10068
10129
  }
10069
- var Return$0 = $TS($S($EXPECT($L167, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10130
+ var Return$0 = $TS($S($EXPECT($L168, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10070
10131
  return { $loc, token: $1 };
10071
10132
  });
10072
10133
  function Return(ctx, state) {
10073
10134
  return $EVENT(ctx, state, "Return", Return$0);
10074
10135
  }
10075
- var Satisfies$0 = $TS($S($EXPECT($L168, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10136
+ var Satisfies$0 = $TS($S($EXPECT($L169, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10076
10137
  return { $loc, token: $1 };
10077
10138
  });
10078
10139
  function Satisfies(ctx, state) {
10079
10140
  return $EVENT(ctx, state, "Satisfies", Satisfies$0);
10080
10141
  }
10081
- var Semicolon$0 = $TV($EXPECT($L99, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
10142
+ var Semicolon$0 = $TV($EXPECT($L100, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
10082
10143
  return { $loc, token: $1 };
10083
10144
  });
10084
10145
  function Semicolon(ctx, state) {
10085
10146
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
10086
10147
  }
10087
- var SingleQuote$0 = $TV($EXPECT($L169, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
10148
+ var SingleQuote$0 = $TV($EXPECT($L170, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
10088
10149
  return { $loc, token: $1 };
10089
10150
  });
10090
10151
  function SingleQuote(ctx, state) {
10091
10152
  return $EVENT(ctx, state, "SingleQuote", SingleQuote$0);
10092
10153
  }
10093
- var Star$0 = $TV($EXPECT($L53, 'Star "*"'), function($skip, $loc, $0, $1) {
10154
+ var Star$0 = $TV($EXPECT($L54, 'Star "*"'), function($skip, $loc, $0, $1) {
10094
10155
  return { $loc, token: $1 };
10095
10156
  });
10096
10157
  function Star(ctx, state) {
10097
10158
  return $EVENT(ctx, state, "Star", Star$0);
10098
10159
  }
10099
- var Static$0 = $TS($S($EXPECT($L170, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10160
+ var Static$0 = $TS($S($EXPECT($L171, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10100
10161
  return { $loc, token: $1 };
10101
10162
  });
10102
- var Static$1 = $TS($S($EXPECT($L116, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L116, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
10163
+ var Static$1 = $TS($S($EXPECT($L117, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L117, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
10103
10164
  return { $loc, token: "static " };
10104
10165
  });
10105
10166
  var Static$$ = [Static$0, Static$1];
10106
10167
  function Static(ctx, state) {
10107
10168
  return $EVENT_C(ctx, state, "Static", Static$$);
10108
10169
  }
10109
- var SubstitutionStart$0 = $TV($EXPECT($L171, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
10170
+ var SubstitutionStart$0 = $TV($EXPECT($L172, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
10110
10171
  return { $loc, token: $1 };
10111
10172
  });
10112
10173
  function SubstitutionStart(ctx, state) {
10113
10174
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
10114
10175
  }
10115
- var Super$0 = $TS($S($EXPECT($L172, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10176
+ var Super$0 = $TS($S($EXPECT($L173, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10116
10177
  return { $loc, token: $1 };
10117
10178
  });
10118
10179
  function Super(ctx, state) {
10119
10180
  return $EVENT(ctx, state, "Super", Super$0);
10120
10181
  }
10121
- var Switch$0 = $TS($S($EXPECT($L173, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10182
+ var Switch$0 = $TS($S($EXPECT($L174, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10122
10183
  return { $loc, token: $1 };
10123
10184
  });
10124
10185
  function Switch(ctx, state) {
10125
10186
  return $EVENT(ctx, state, "Switch", Switch$0);
10126
10187
  }
10127
- var Target$0 = $TS($S($EXPECT($L174, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10188
+ var Target$0 = $TS($S($EXPECT($L175, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10128
10189
  return { $loc, token: $1 };
10129
10190
  });
10130
10191
  function Target(ctx, state) {
10131
10192
  return $EVENT(ctx, state, "Target", Target$0);
10132
10193
  }
10133
- var Then$0 = $TS($S(__, $EXPECT($L175, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
10194
+ var Then$0 = $TS($S(__, $EXPECT($L176, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
10134
10195
  return { $loc, token: "" };
10135
10196
  });
10136
10197
  function Then(ctx, state) {
10137
10198
  return $EVENT(ctx, state, "Then", Then$0);
10138
10199
  }
10139
- var This$0 = $TS($S($EXPECT($L176, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10200
+ var This$0 = $TS($S($EXPECT($L177, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10140
10201
  return { $loc, token: $1 };
10141
10202
  });
10142
10203
  function This(ctx, state) {
10143
10204
  return $EVENT(ctx, state, "This", This$0);
10144
10205
  }
10145
- var Throw$0 = $TS($S($EXPECT($L177, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10206
+ var Throw$0 = $TS($S($EXPECT($L178, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10146
10207
  return { $loc, token: $1 };
10147
10208
  });
10148
10209
  function Throw(ctx, state) {
10149
10210
  return $EVENT(ctx, state, "Throw", Throw$0);
10150
10211
  }
10151
- var TripleDoubleQuote$0 = $TV($EXPECT($L178, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
10212
+ var TripleDoubleQuote$0 = $TV($EXPECT($L179, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
10152
10213
  return { $loc, token: "`" };
10153
10214
  });
10154
10215
  function TripleDoubleQuote(ctx, state) {
10155
10216
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
10156
10217
  }
10157
- var TripleSingleQuote$0 = $TV($EXPECT($L179, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
10218
+ var TripleSingleQuote$0 = $TV($EXPECT($L180, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
10158
10219
  return { $loc, token: "`" };
10159
10220
  });
10160
10221
  function TripleSingleQuote(ctx, state) {
10161
10222
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
10162
10223
  }
10163
- var TripleSlash$0 = $TV($EXPECT($L180, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
10224
+ var TripleSlash$0 = $TV($EXPECT($L181, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
10164
10225
  return { $loc, token: "/" };
10165
10226
  });
10166
10227
  function TripleSlash(ctx, state) {
10167
10228
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
10168
10229
  }
10169
- var TripleTick$0 = $TV($EXPECT($L181, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
10230
+ var TripleTick$0 = $TV($EXPECT($L182, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
10170
10231
  return { $loc, token: "`" };
10171
10232
  });
10172
10233
  function TripleTick(ctx, state) {
10173
10234
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
10174
10235
  }
10175
- var Try$0 = $TS($S($EXPECT($L182, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10236
+ var Try$0 = $TS($S($EXPECT($L183, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10176
10237
  return { $loc, token: $1 };
10177
10238
  });
10178
10239
  function Try(ctx, state) {
10179
10240
  return $EVENT(ctx, state, "Try", Try$0);
10180
10241
  }
10181
- var Typeof$0 = $TS($S($EXPECT($L183, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10242
+ var Typeof$0 = $TS($S($EXPECT($L184, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10182
10243
  return { $loc, token: $1 };
10183
10244
  });
10184
10245
  function Typeof(ctx, state) {
10185
10246
  return $EVENT(ctx, state, "Typeof", Typeof$0);
10186
10247
  }
10187
- var Unless$0 = $TS($S($EXPECT($L184, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10248
+ var Unless$0 = $TS($S($EXPECT($L185, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10188
10249
  return { $loc, token: $1 };
10189
10250
  });
10190
10251
  function Unless(ctx, state) {
10191
10252
  return $EVENT(ctx, state, "Unless", Unless$0);
10192
10253
  }
10193
- var Until$0 = $TS($S($EXPECT($L185, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10254
+ var Until$0 = $TS($S($EXPECT($L186, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10194
10255
  return { $loc, token: $1 };
10195
10256
  });
10196
10257
  function Until(ctx, state) {
10197
10258
  return $EVENT(ctx, state, "Until", Until$0);
10198
10259
  }
10199
- var Var$0 = $TS($S($EXPECT($L186, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10260
+ var Var$0 = $TS($S($EXPECT($L187, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10200
10261
  return { $loc, token: $1 };
10201
10262
  });
10202
10263
  function Var(ctx, state) {
10203
10264
  return $EVENT(ctx, state, "Var", Var$0);
10204
10265
  }
10205
- var Void$0 = $TS($S($EXPECT($L187, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10266
+ var Void$0 = $TS($S($EXPECT($L188, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10206
10267
  return { $loc, token: $1 };
10207
10268
  });
10208
10269
  function Void(ctx, state) {
10209
10270
  return $EVENT(ctx, state, "Void", Void$0);
10210
10271
  }
10211
- var When$0 = $TS($S($EXPECT($L188, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10272
+ var When$0 = $TS($S($EXPECT($L189, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10212
10273
  return { $loc, token: "case" };
10213
10274
  });
10214
10275
  function When(ctx, state) {
10215
10276
  return $EVENT(ctx, state, "When", When$0);
10216
10277
  }
10217
- var While$0 = $TS($S($EXPECT($L189, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10278
+ var While$0 = $TS($S($EXPECT($L190, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10218
10279
  return { $loc, token: $1 };
10219
10280
  });
10220
10281
  function While(ctx, state) {
10221
10282
  return $EVENT(ctx, state, "While", While$0);
10222
10283
  }
10223
- var Yield$0 = $TS($S($EXPECT($L190, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10284
+ var Yield$0 = $TS($S($EXPECT($L191, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10224
10285
  return { $loc, token: $1, type: "Yield" };
10225
10286
  });
10226
10287
  function Yield(ctx, state) {
@@ -10291,7 +10352,7 @@ ${input.slice(result.pos)}
10291
10352
  function JSXElement(ctx, state) {
10292
10353
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
10293
10354
  }
10294
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L154, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L191, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10355
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L155, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L192, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10295
10356
  return { type: "JSXElement", children: $0, tag: $2 };
10296
10357
  });
10297
10358
  function JSXSelfClosingElement(ctx, state) {
@@ -10310,7 +10371,7 @@ ${input.slice(result.pos)}
10310
10371
  function PopJSXStack(ctx, state) {
10311
10372
  return $EVENT(ctx, state, "PopJSXStack", PopJSXStack$0);
10312
10373
  }
10313
- var JSXOpeningElement$0 = $S($EXPECT($L154, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L32, 'JSXOpeningElement ">"'));
10374
+ var JSXOpeningElement$0 = $S($EXPECT($L155, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L33, 'JSXOpeningElement ">"'));
10314
10375
  function JSXOpeningElement(ctx, state) {
10315
10376
  return $EVENT(ctx, state, "JSXOpeningElement", JSXOpeningElement$0);
10316
10377
  }
@@ -10325,7 +10386,7 @@ ${input.slice(result.pos)}
10325
10386
  function JSXOptionalClosingElement(ctx, state) {
10326
10387
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
10327
10388
  }
10328
- var JSXClosingElement$0 = $S($EXPECT($L192, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L32, 'JSXClosingElement ">"'));
10389
+ var JSXClosingElement$0 = $S($EXPECT($L193, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L33, 'JSXClosingElement ">"'));
10329
10390
  function JSXClosingElement(ctx, state) {
10330
10391
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
10331
10392
  }
@@ -10344,7 +10405,7 @@ ${input.slice(result.pos)}
10344
10405
  ];
10345
10406
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
10346
10407
  });
10347
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L193, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10408
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L194, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10348
10409
  var children = $3;
10349
10410
  $0 = $0.slice(1);
10350
10411
  return {
@@ -10357,7 +10418,7 @@ ${input.slice(result.pos)}
10357
10418
  function JSXFragment(ctx, state) {
10358
10419
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
10359
10420
  }
10360
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L193, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
10421
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L194, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
10361
10422
  module.JSXTagStack.push("");
10362
10423
  return $1;
10363
10424
  });
@@ -10374,11 +10435,11 @@ ${input.slice(result.pos)}
10374
10435
  function JSXOptionalClosingFragment(ctx, state) {
10375
10436
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
10376
10437
  }
10377
- var JSXClosingFragment$0 = $EXPECT($L194, 'JSXClosingFragment "</>"');
10438
+ var JSXClosingFragment$0 = $EXPECT($L195, 'JSXClosingFragment "</>"');
10378
10439
  function JSXClosingFragment(ctx, state) {
10379
10440
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
10380
10441
  }
10381
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L145, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
10442
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L146, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
10382
10443
  return module.config.defaultElement;
10383
10444
  });
10384
10445
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -10550,7 +10611,7 @@ ${input.slice(result.pos)}
10550
10611
  }
10551
10612
  return $skip;
10552
10613
  });
10553
- var JSXAttribute$5 = $TS($S($EXPECT($L145, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
10614
+ var JSXAttribute$5 = $TS($S($EXPECT($L146, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
10554
10615
  return [" ", "id=", $2];
10555
10616
  });
10556
10617
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -10788,7 +10849,7 @@ ${input.slice(result.pos)}
10788
10849
  }
10789
10850
  return $skip;
10790
10851
  });
10791
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L24, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
10852
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L25, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
10792
10853
  return { children: [], jsxChildren: [] };
10793
10854
  });
10794
10855
  var JSXNestedChildren$$ = [JSXNestedChildren$0, JSXNestedChildren$1];
@@ -10843,7 +10904,7 @@ ${input.slice(result.pos)}
10843
10904
  function JSXChild(ctx, state) {
10844
10905
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
10845
10906
  }
10846
- var JSXComment$0 = $TS($S($EXPECT($L195, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L196, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
10907
+ var JSXComment$0 = $TS($S($EXPECT($L196, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L197, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
10847
10908
  return ["{/*", $2, "*/}"];
10848
10909
  });
10849
10910
  function JSXComment(ctx, state) {
@@ -10929,37 +10990,37 @@ ${input.slice(result.pos)}
10929
10990
  function InterfaceExtendsTarget(ctx, state) {
10930
10991
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
10931
10992
  }
10932
- var TypeKeyword$0 = $TS($S($EXPECT($L197, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10993
+ var TypeKeyword$0 = $TS($S($EXPECT($L198, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10933
10994
  return { $loc, token: $1 };
10934
10995
  });
10935
10996
  function TypeKeyword(ctx, state) {
10936
10997
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
10937
10998
  }
10938
- var Enum$0 = $TS($S($EXPECT($L198, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10999
+ var Enum$0 = $TS($S($EXPECT($L199, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10939
11000
  return { $loc, token: $1 };
10940
11001
  });
10941
11002
  function Enum(ctx, state) {
10942
11003
  return $EVENT(ctx, state, "Enum", Enum$0);
10943
11004
  }
10944
- var Interface$0 = $TS($S($EXPECT($L199, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11005
+ var Interface$0 = $TS($S($EXPECT($L200, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10945
11006
  return { $loc, token: $1 };
10946
11007
  });
10947
11008
  function Interface(ctx, state) {
10948
11009
  return $EVENT(ctx, state, "Interface", Interface$0);
10949
11010
  }
10950
- var Global$0 = $TS($S($EXPECT($L200, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11011
+ var Global$0 = $TS($S($EXPECT($L201, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10951
11012
  return { $loc, token: $1 };
10952
11013
  });
10953
11014
  function Global(ctx, state) {
10954
11015
  return $EVENT(ctx, state, "Global", Global$0);
10955
11016
  }
10956
- var Module$0 = $TS($S($EXPECT($L201, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11017
+ var Module$0 = $TS($S($EXPECT($L202, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10957
11018
  return { $loc, token: $1 };
10958
11019
  });
10959
11020
  function Module(ctx, state) {
10960
11021
  return $EVENT(ctx, state, "Module", Module$0);
10961
11022
  }
10962
- var Namespace$0 = $TS($S($EXPECT($L202, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11023
+ var Namespace$0 = $TS($S($EXPECT($L203, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10963
11024
  return { $loc, token: $1 };
10964
11025
  });
10965
11026
  function Namespace(ctx, state) {
@@ -11204,7 +11265,7 @@ ${input.slice(result.pos)}
11204
11265
  function ReturnTypeSuffix(ctx, state) {
11205
11266
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
11206
11267
  }
11207
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L203, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
11268
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L204, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
11208
11269
  var asserts = $1;
11209
11270
  var t = $2;
11210
11271
  if (asserts) {
@@ -11225,7 +11286,7 @@ ${input.slice(result.pos)}
11225
11286
  function ReturnType(ctx, state) {
11226
11287
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
11227
11288
  }
11228
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L150, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
11289
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L151, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
11229
11290
  var lhs = $1;
11230
11291
  var rhs = $2;
11231
11292
  if (!rhs)
@@ -11273,10 +11334,10 @@ ${input.slice(result.pos)}
11273
11334
  function TypeUnarySuffix(ctx, state) {
11274
11335
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
11275
11336
  }
11276
- var TypeUnaryOp$0 = $S($EXPECT($L204, 'TypeUnaryOp "keyof"'), NonIdContinue);
11277
- var TypeUnaryOp$1 = $S($EXPECT($L183, 'TypeUnaryOp "typeof"'), NonIdContinue);
11278
- var TypeUnaryOp$2 = $S($EXPECT($L205, 'TypeUnaryOp "infer"'), NonIdContinue);
11279
- var TypeUnaryOp$3 = $S($EXPECT($L166, 'TypeUnaryOp "readonly"'), NonIdContinue);
11337
+ var TypeUnaryOp$0 = $S($EXPECT($L205, 'TypeUnaryOp "keyof"'), NonIdContinue);
11338
+ var TypeUnaryOp$1 = $S($EXPECT($L184, 'TypeUnaryOp "typeof"'), NonIdContinue);
11339
+ var TypeUnaryOp$2 = $S($EXPECT($L206, 'TypeUnaryOp "infer"'), NonIdContinue);
11340
+ var TypeUnaryOp$3 = $S($EXPECT($L167, 'TypeUnaryOp "readonly"'), NonIdContinue);
11280
11341
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1, TypeUnaryOp$2, TypeUnaryOp$3];
11281
11342
  function TypeUnaryOp(ctx, state) {
11282
11343
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
@@ -11285,7 +11346,7 @@ ${input.slice(result.pos)}
11285
11346
  function TypeIndexedAccess(ctx, state) {
11286
11347
  return $EVENT(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$0);
11287
11348
  }
11288
- var UnknownAlias$0 = $TV($EXPECT($L206, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
11349
+ var UnknownAlias$0 = $TV($EXPECT($L207, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
11289
11350
  return { $loc, token: "unknown" };
11290
11351
  });
11291
11352
  function UnknownAlias(ctx, state) {
@@ -11387,7 +11448,7 @@ ${input.slice(result.pos)}
11387
11448
  function NestedType(ctx, state) {
11388
11449
  return $EVENT(ctx, state, "NestedType", NestedType$0);
11389
11450
  }
11390
- var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L138, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
11451
+ var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L139, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
11391
11452
  if ($2)
11392
11453
  return $0;
11393
11454
  return $1;
@@ -11425,10 +11486,10 @@ ${input.slice(result.pos)}
11425
11486
  }
11426
11487
  var TypeLiteral$0 = TypeTemplateLiteral;
11427
11488
  var TypeLiteral$1 = Literal;
11428
- var TypeLiteral$2 = $TS($S($EXPECT($L187, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11489
+ var TypeLiteral$2 = $TS($S($EXPECT($L188, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11429
11490
  return { type: "VoidType", $loc, token: $1 };
11430
11491
  });
11431
- var TypeLiteral$3 = $TV($EXPECT($L207, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
11492
+ var TypeLiteral$3 = $TV($EXPECT($L208, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
11432
11493
  return { $loc, token: "[]" };
11433
11494
  });
11434
11495
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3];
@@ -11447,16 +11508,16 @@ ${input.slice(result.pos)}
11447
11508
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
11448
11509
  return value[1];
11449
11510
  });
11450
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L12, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L113, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L33, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L24, 'InlineInterfacePropertyDelimiter "}"'))));
11511
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L12, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L114, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L34, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L25, 'InlineInterfacePropertyDelimiter "}"'))));
11451
11512
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
11452
11513
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
11453
11514
  function InlineInterfacePropertyDelimiter(ctx, state) {
11454
11515
  return $EVENT_C(ctx, state, "InlineInterfacePropertyDelimiter", InlineInterfacePropertyDelimiter$$);
11455
11516
  }
11456
- var TypeBinaryOp$0 = $TV($EXPECT($L98, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
11517
+ var TypeBinaryOp$0 = $TV($EXPECT($L99, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
11457
11518
  return { $loc, token: "|" };
11458
11519
  });
11459
- var TypeBinaryOp$1 = $TV($EXPECT($L97, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
11520
+ var TypeBinaryOp$1 = $TV($EXPECT($L98, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
11460
11521
  return { $loc, token: "&" };
11461
11522
  });
11462
11523
  var TypeBinaryOp$$ = [TypeBinaryOp$0, TypeBinaryOp$1];
@@ -11473,13 +11534,13 @@ ${input.slice(result.pos)}
11473
11534
  function FunctionType(ctx, state) {
11474
11535
  return $EVENT(ctx, state, "FunctionType", FunctionType$0);
11475
11536
  }
11476
- var TypeArrowFunction$0 = $TV($C($EXPECT($L9, 'TypeArrowFunction "=>"'), $EXPECT($L10, 'TypeArrowFunction "\u21D2"'), $EXPECT($L22, 'TypeArrowFunction "->"'), $EXPECT($L23, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
11537
+ var TypeArrowFunction$0 = $TV($C($EXPECT($L9, 'TypeArrowFunction "=>"'), $EXPECT($L10, 'TypeArrowFunction "\u21D2"'), $EXPECT($L23, 'TypeArrowFunction "->"'), $EXPECT($L24, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
11477
11538
  return { $loc, token: "=>" };
11478
11539
  });
11479
11540
  function TypeArrowFunction(ctx, state) {
11480
11541
  return $EVENT(ctx, state, "TypeArrowFunction", TypeArrowFunction$0);
11481
11542
  }
11482
- var TypeArguments$0 = $TS($S($EXPECT($L154, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L32, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
11543
+ var TypeArguments$0 = $TS($S($EXPECT($L155, 'TypeArguments "<"'), $P(TypeArgument), __, $EXPECT($L33, 'TypeArguments ">"')), function($skip, $loc, $0, $1, $2, $3, $4) {
11483
11544
  var args = $2;
11484
11545
  return { ts: true, types: args.map(([, t]) => t), children: $0 };
11485
11546
  });
@@ -11494,7 +11555,7 @@ ${input.slice(result.pos)}
11494
11555
  function TypeArgumentDelimiter(ctx, state) {
11495
11556
  return $EVENT(ctx, state, "TypeArgumentDelimiter", TypeArgumentDelimiter$0);
11496
11557
  }
11497
- var TypeParameters$0 = $TS($S($E(_), $EXPECT($L154, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L32, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11558
+ var TypeParameters$0 = $TS($S($E(_), $EXPECT($L155, 'TypeParameters "<"'), $P(TypeParameter), __, $EXPECT($L33, 'TypeParameters ">"')), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11498
11559
  var parameters = $3;
11499
11560
  return {
11500
11561
  type: "TypeParameters",
@@ -11506,11 +11567,11 @@ ${input.slice(result.pos)}
11506
11567
  function TypeParameters(ctx, state) {
11507
11568
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
11508
11569
  }
11509
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L149, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
11570
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L150, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
11510
11571
  function TypeParameter(ctx, state) {
11511
11572
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
11512
11573
  }
11513
- var TypeConstraint$0 = $S(__, $EXPECT($L138, 'TypeConstraint "extends"'), NonIdContinue, Type);
11574
+ var TypeConstraint$0 = $S(__, $EXPECT($L139, 'TypeConstraint "extends"'), NonIdContinue, Type);
11514
11575
  function TypeConstraint(ctx, state) {
11515
11576
  return $EVENT(ctx, state, "TypeConstraint", TypeConstraint$0);
11516
11577
  }
@@ -11519,7 +11580,7 @@ ${input.slice(result.pos)}
11519
11580
  return $EVENT(ctx, state, "TypeInitializer", TypeInitializer$0);
11520
11581
  }
11521
11582
  var TypeParameterDelimiter$0 = $S($Q(_), Comma);
11522
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L32, 'TypeParameterDelimiter ">"')));
11583
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L33, 'TypeParameterDelimiter ">"')));
11523
11584
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
11524
11585
  return value[1];
11525
11586
  });
@@ -11537,11 +11598,11 @@ ${input.slice(result.pos)}
11537
11598
  function Shebang(ctx, state) {
11538
11599
  return $EVENT(ctx, state, "Shebang", Shebang$0);
11539
11600
  }
11540
- var CivetPrologue$0 = $T($S($EXPECT($R62, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(SimpleStatementDelimiter), $E(EOS)), function(value) {
11601
+ var CivetPrologue$0 = $T($S($EXPECT($R62, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $E(EOS)), function(value) {
11541
11602
  var content = value[2];
11542
11603
  return content;
11543
11604
  });
11544
- var CivetPrologue$1 = $T($S($EXPECT($R62, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(SimpleStatementDelimiter), $E(EOS)), function(value) {
11605
+ var CivetPrologue$1 = $T($S($EXPECT($R62, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $E(EOS)), function(value) {
11545
11606
  var content = value[2];
11546
11607
  return content;
11547
11608
  });
@@ -11549,7 +11610,7 @@ ${input.slice(result.pos)}
11549
11610
  function CivetPrologue(ctx, state) {
11550
11611
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
11551
11612
  }
11552
- var CivetPrologueContent$0 = $TS($S($EXPECT($L208, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R63, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
11613
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L209, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R63, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
11553
11614
  var options = $3;
11554
11615
  return {
11555
11616
  type: "CivetPrologue",
@@ -11581,17 +11642,25 @@ ${input.slice(result.pos)}
11581
11642
  function UnknownPrologue(ctx, state) {
11582
11643
  return $EVENT(ctx, state, "UnknownPrologue", UnknownPrologue$0);
11583
11644
  }
11584
- var DirectivePrologue$0 = CivetPrologue;
11585
- var DirectivePrologue$1 = UnknownPrologue;
11586
- var DirectivePrologue$$ = [DirectivePrologue$0, DirectivePrologue$1];
11645
+ var TripleSlashDirective$0 = $S($R$0($EXPECT($R65, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
11646
+ function TripleSlashDirective(ctx, state) {
11647
+ return $EVENT(ctx, state, "TripleSlashDirective", TripleSlashDirective$0);
11648
+ }
11649
+ var DirectivePrologue$0 = PrologueString;
11587
11650
  function DirectivePrologue(ctx, state) {
11588
- return $EVENT_C(ctx, state, "DirectivePrologue", DirectivePrologue$$);
11651
+ return $EVENT(ctx, state, "DirectivePrologue", DirectivePrologue$0);
11652
+ }
11653
+ var PrologueString$0 = CivetPrologue;
11654
+ var PrologueString$1 = UnknownPrologue;
11655
+ var PrologueString$$ = [PrologueString$0, PrologueString$1];
11656
+ function PrologueString(ctx, state) {
11657
+ return $EVENT_C(ctx, state, "PrologueString", PrologueString$$);
11589
11658
  }
11590
11659
  var EOS$0 = $P(RestOfLine);
11591
11660
  function EOS(ctx, state) {
11592
11661
  return $EVENT(ctx, state, "EOS", EOS$0);
11593
11662
  }
11594
- var EOL$0 = $TR($EXPECT($R65, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11663
+ var EOL$0 = $TR($EXPECT($R66, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11595
11664
  return { $loc, token: $0 };
11596
11665
  });
11597
11666
  function EOL(ctx, state) {
@@ -12066,8 +12135,8 @@ ${input.slice(result.pos)}
12066
12135
  function Reset(ctx, state) {
12067
12136
  return $EVENT(ctx, state, "Reset", Reset$0);
12068
12137
  }
12069
- var Init$0 = $TS($S($E(Shebang), $Q(DirectivePrologue), $EXPECT($L0, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
12070
- var directives = $2;
12138
+ var Init$0 = $TS($S($E(Shebang), $Q(TripleSlashDirective), $Q(DirectivePrologue)), function($skip, $loc, $0, $1, $2, $3) {
12139
+ var directives = $3;
12071
12140
  directives.forEach((directive) => {
12072
12141
  if (directive.type === "CivetPrologue") {
12073
12142
  Object.assign(module.config, directive.config);
@@ -12078,7 +12147,7 @@ ${input.slice(result.pos)}
12078
12147
  function Init(ctx, state) {
12079
12148
  return $EVENT(ctx, state, "Init", Init$0);
12080
12149
  }
12081
- var Indent$0 = $TR($EXPECT($R66, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12150
+ var Indent$0 = $TR($EXPECT($R67, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12082
12151
  let level;
12083
12152
  if (module.config.tab) {
12084
12153
  const tabs = $0.match(/\t/g);
@@ -12290,8 +12359,10 @@ ${input.slice(result.pos)}
12290
12359
  exports.NonNullAssertion = NonNullAssertion;
12291
12360
  exports.MemberExpression = MemberExpression;
12292
12361
  exports.MemberExpressionRest = MemberExpressionRest;
12362
+ exports.MemberExpressionRestBody = MemberExpressionRestBody;
12293
12363
  exports.MemberBracketContent = MemberBracketContent;
12294
12364
  exports.SliceParameters = SliceParameters;
12365
+ exports.AccessStart = AccessStart;
12295
12366
  exports.PropertyAccess = PropertyAccess;
12296
12367
  exports.PropertyGlob = PropertyGlob;
12297
12368
  exports.PropertyBind = PropertyBind;
@@ -12404,6 +12475,7 @@ ${input.slice(result.pos)}
12404
12475
  exports.AssignmentOpSymbol = AssignmentOpSymbol;
12405
12476
  exports.CoffeeWordAssignmentOp = CoffeeWordAssignmentOp;
12406
12477
  exports.NotDedentedBinaryOp = NotDedentedBinaryOp;
12478
+ exports.IdentifierBinaryOp = IdentifierBinaryOp;
12407
12479
  exports.BinaryOp = BinaryOp;
12408
12480
  exports.BinaryOpSymbol = BinaryOpSymbol;
12409
12481
  exports.Xor = Xor;
@@ -12806,7 +12878,9 @@ ${input.slice(result.pos)}
12806
12878
  exports.CivetPrologueContent = CivetPrologueContent;
12807
12879
  exports.CivetOption = CivetOption;
12808
12880
  exports.UnknownPrologue = UnknownPrologue;
12881
+ exports.TripleSlashDirective = TripleSlashDirective;
12809
12882
  exports.DirectivePrologue = DirectivePrologue;
12883
+ exports.PrologueString = PrologueString;
12810
12884
  exports.EOS = EOS;
12811
12885
  exports.EOL = EOL;
12812
12886
  exports.DebugHere = DebugHere;
@@ -12909,9 +12983,7 @@ ${input.slice(result.pos)}
12909
12983
  var import_parser = __toESM(require_parser());
12910
12984
 
12911
12985
  // source/generate.civet
12912
- var gen;
12913
- var generate_default = gen = function(node, options) {
12914
- var token, $loc;
12986
+ function gen(node, options) {
12915
12987
  if (node === null || node === void 0) {
12916
12988
  return "";
12917
12989
  }
@@ -12937,7 +13009,7 @@ ${input.slice(result.pos)}
12937
13009
  return "";
12938
13010
  }
12939
13011
  if (node.$loc != null) {
12940
- ({ token, $loc } = node);
13012
+ const { token, $loc } = node;
12941
13013
  options?.updateSourceMap?.(token, $loc.pos);
12942
13014
  return token;
12943
13015
  }
@@ -12955,9 +13027,9 @@ ${input.slice(result.pos)}
12955
13027
  }
12956
13028
  debugger;
12957
13029
  throw new Error(`Unknown node ${JSON.stringify(node)}`);
12958
- };
12959
- var prune = function(node) {
12960
- var a;
13030
+ }
13031
+ var generate_default = gen;
13032
+ function prune(node) {
12961
13033
  if (node === null || node === void 0) {
12962
13034
  return;
12963
13035
  }
@@ -12968,11 +13040,9 @@ ${input.slice(result.pos)}
12968
13040
  delete node.parent;
12969
13041
  }
12970
13042
  if (Array.isArray(node)) {
12971
- a = node.map(function(n) {
13043
+ const a = node.map(function(n) {
12972
13044
  return prune(n);
12973
- }).filter(function(n) {
12974
- return !!n;
12975
- });
13045
+ }).filter(($) => !!$);
12976
13046
  if (a.length > 1) {
12977
13047
  return a;
12978
13048
  }
@@ -12986,7 +13056,7 @@ ${input.slice(result.pos)}
12986
13056
  return node;
12987
13057
  }
12988
13058
  return node;
12989
- };
13059
+ }
12990
13060
 
12991
13061
  // source/util.civet
12992
13062
  var util_exports = {};
@@ -13363,13 +13433,9 @@ ${input.slice(result.pos)}
13363
13433
  };
13364
13434
 
13365
13435
  // source/main.civet
13366
- var parse;
13367
- var SourceMap2;
13368
- var uncacheable;
13369
- var makeCache;
13370
- ({ parse } = import_parser.default);
13371
- ({ SourceMap: SourceMap2 } = util_exports);
13372
- uncacheable = /* @__PURE__ */ new Set([
13436
+ var { parse } = import_parser.default;
13437
+ var { SourceMap: SourceMap2 } = util_exports;
13438
+ var uncacheable = /* @__PURE__ */ new Set([
13373
13439
  "DebugHere",
13374
13440
  "Init",
13375
13441
  "Program",
@@ -13401,23 +13467,23 @@ ${input.slice(result.pos)}
13401
13467
  "RestoreTrailingMemberProperty",
13402
13468
  "RestoreNewlineBinaryOp"
13403
13469
  ]);
13404
- var compile = function(src, options) {
13405
- var filename, ast, result, events, sm, code;
13470
+ function compile(src, options) {
13406
13471
  if (!options) {
13407
13472
  options = {};
13408
13473
  } else {
13409
13474
  options = { ...options };
13410
13475
  }
13411
13476
  options.parseOptions ?? (options.parseOptions = {});
13412
- filename = options.filename || "unknown";
13477
+ const filename = options.filename || "unknown";
13413
13478
  if (filename.endsWith(".coffee") && !/^(#![^\r\n]*(\r\n|\n|\r))?\s*['"]civet/.test(src)) {
13414
13479
  options.parseOptions.coffeeCompat = true;
13415
13480
  }
13481
+ let events;
13416
13482
  if (!options.noCache) {
13417
13483
  events = makeCache();
13418
13484
  }
13419
13485
  parse.config = options.parseOptions || {};
13420
- ast = prune(parse(src, {
13486
+ const ast = prune(parse(src, {
13421
13487
  filename,
13422
13488
  events
13423
13489
  }));
@@ -13425,9 +13491,9 @@ ${input.slice(result.pos)}
13425
13491
  return ast;
13426
13492
  }
13427
13493
  if (options.sourceMap || options.inlineMap) {
13428
- sm = SourceMap2(src);
13494
+ const sm = SourceMap2(src);
13429
13495
  options.updateSourceMap = sm.updateSourceMap;
13430
- code = generate_default(ast, options);
13496
+ const code = generate_default(ast, options);
13431
13497
  if (options.inlineMap) {
13432
13498
  return SourceMap2.remap(code, sm, filename, filename + ".tsx");
13433
13499
  } else {
@@ -13437,27 +13503,24 @@ ${input.slice(result.pos)}
13437
13503
  };
13438
13504
  }
13439
13505
  }
13440
- result = generate_default(ast, options);
13506
+ const result = generate_default(ast, options);
13441
13507
  if (options.errors?.length) {
13442
- throw new Error(`Parse errors: ${options.errors.map(function(e) {
13443
- return e.message;
13444
- }).join("\n")} `);
13508
+ throw new Error(`Parse errors: ${options.errors.map(($) => $.message).join("\n")} `);
13445
13509
  }
13446
13510
  return result;
13447
- };
13448
- makeCache = function() {
13449
- var stateCache, getStateKey, events;
13450
- stateCache = new StateCache();
13451
- getStateKey = null;
13452
- events = {
13511
+ }
13512
+ function makeCache() {
13513
+ const stateCache = new StateCache();
13514
+ let getStateKey = null;
13515
+ const events = {
13453
13516
  enter: function(ruleName, state) {
13454
- var key, result;
13455
13517
  if (uncacheable.has(ruleName)) {
13456
13518
  return;
13457
13519
  }
13458
- key = [ruleName, state.pos, ...getStateKey()];
13520
+ ;
13521
+ const key = [ruleName, state.pos, ...getStateKey()];
13459
13522
  if (stateCache.has(key)) {
13460
- result = stateCache.get(key);
13523
+ const result = stateCache.get(key);
13461
13524
  return {
13462
13525
  cache: result ? { ...result } : void 0
13463
13526
  };
@@ -13465,12 +13528,11 @@ ${input.slice(result.pos)}
13465
13528
  return;
13466
13529
  },
13467
13530
  exit: function(ruleName, state, result) {
13468
- var key;
13469
13531
  if (ruleName === "Reset") {
13470
13532
  ({ getStateKey } = result.value);
13471
13533
  }
13472
13534
  if (!uncacheable.has(ruleName)) {
13473
- key = [ruleName, state.pos, ...getStateKey()];
13535
+ const key = [ruleName, state.pos, ...getStateKey()];
13474
13536
  if (result) {
13475
13537
  stateCache.set(key, { ...result });
13476
13538
  } else {
@@ -13484,11 +13546,9 @@ ${input.slice(result.pos)}
13484
13546
  }
13485
13547
  };
13486
13548
  return events;
13487
- };
13549
+ }
13488
13550
  var isCompileError = function(err) {
13489
- return err instanceof Error && [err.message, err.name, err.filename, err.line, err.column, err.offset].every(function(value) {
13490
- return value !== void 0;
13491
- });
13551
+ return err instanceof Error && [err.message, err.name, err.filename, err.line, err.column, err.offset].every(($1) => $1 !== void 0);
13492
13552
  };
13493
13553
  var main_default = { parse, generate: generate_default, util: util_exports, compile, isCompileError };
13494
13554
  return __toCommonJS(main_exports);