@danielx/civet 0.6.70 → 0.6.71

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
@@ -83,6 +83,7 @@ var Civet = (() => {
83
83
  isWhitespaceOrEmpty: () => isWhitespaceOrEmpty,
84
84
  lastAccessInCallExpression: () => lastAccessInCallExpression,
85
85
  literalValue: () => literalValue,
86
+ makeAmpersandFunction: () => makeAmpersandFunction,
86
87
  makeAsConst: () => makeAsConst,
87
88
  makeEmptyBlock: () => makeEmptyBlock,
88
89
  makeExpressionStatement: () => makeExpressionStatement,
@@ -154,6 +155,30 @@ var Civet = (() => {
154
155
  updateParentPointers(node);
155
156
  return node;
156
157
  }
158
+ function makeAmpersandFunction(bodyAfterRef = []) {
159
+ const ref = makeRef("$");
160
+ const body = [ref, ...bodyAfterRef];
161
+ const parameters = {
162
+ type: "Parameters",
163
+ children: [ref],
164
+ names: []
165
+ };
166
+ const block = {
167
+ expressions: body
168
+ };
169
+ return {
170
+ type: "ArrowFunction",
171
+ signature: {
172
+ modifier: {}
173
+ },
174
+ children: [parameters, " => ", body],
175
+ ref,
176
+ body,
177
+ ampersandBlock: true,
178
+ block,
179
+ parameters
180
+ };
181
+ }
157
182
  function addPostfixStatement(statement, ws, post) {
158
183
  const expressions = [
159
184
  ...post.blockPrefix || [],
@@ -3626,9 +3651,9 @@ var Civet = (() => {
3626
3651
  Validator: () => Validator
3627
3652
  });
3628
3653
  module.exports = __toCommonJS2(machine_exports);
3629
- function $EXPECT(parser2, expectation) {
3654
+ function $EXPECT(parser, expectation) {
3630
3655
  return function(ctx, state) {
3631
- const result = parser2(ctx, state);
3656
+ const result = parser(ctx, state);
3632
3657
  if (!result)
3633
3658
  ctx.fail(state.pos, expectation);
3634
3659
  return result;
@@ -3815,9 +3840,9 @@ var Civet = (() => {
3815
3840
  };
3816
3841
  };
3817
3842
  }
3818
- function $T(parser2, fn) {
3843
+ function $T(parser, fn) {
3819
3844
  return function(ctx, state) {
3820
- const result = parser2(ctx, state);
3845
+ const result = parser(ctx, state);
3821
3846
  if (!result)
3822
3847
  return;
3823
3848
  if (ctx.tokenize)
@@ -3828,9 +3853,9 @@ var Civet = (() => {
3828
3853
  return result;
3829
3854
  };
3830
3855
  }
3831
- function $TR(parser2, fn) {
3856
+ function $TR(parser, fn) {
3832
3857
  return function(ctx, state) {
3833
- const result = parser2(ctx, state);
3858
+ const result = parser(ctx, state);
3834
3859
  if (!result)
3835
3860
  return;
3836
3861
  if (ctx.tokenize)
@@ -3844,9 +3869,9 @@ var Civet = (() => {
3844
3869
  return result;
3845
3870
  };
3846
3871
  }
3847
- function $TS(parser2, fn) {
3872
+ function $TS(parser, fn) {
3848
3873
  return function(ctx, state) {
3849
- const result = parser2(ctx, state);
3874
+ const result = parser(ctx, state);
3850
3875
  if (!result)
3851
3876
  return;
3852
3877
  if (ctx.tokenize)
@@ -3860,9 +3885,9 @@ var Civet = (() => {
3860
3885
  return result;
3861
3886
  };
3862
3887
  }
3863
- function $TV(parser2, fn) {
3888
+ function $TV(parser, fn) {
3864
3889
  return function(ctx, state) {
3865
- const result = parser2(ctx, state);
3890
+ const result = parser(ctx, state);
3866
3891
  if (!result)
3867
3892
  return;
3868
3893
  if (ctx.tokenize)
@@ -3876,9 +3901,9 @@ var Civet = (() => {
3876
3901
  return result;
3877
3902
  };
3878
3903
  }
3879
- function $R$0(parser2) {
3904
+ function $R$0(parser) {
3880
3905
  return function(ctx, state) {
3881
- const result = parser2(ctx, state);
3906
+ const result = parser(ctx, state);
3882
3907
  if (!result)
3883
3908
  return;
3884
3909
  const value = result.value[0];
@@ -4105,6 +4130,7 @@ ${input.slice(result.pos)}
4105
4130
  UnaryWithoutParenthesizedAssignmentBody,
4106
4131
  UnaryPostfix,
4107
4132
  TypePostfix,
4133
+ NWTypePostfix,
4108
4134
  UpdateExpression,
4109
4135
  UpdateExpressionSymbol,
4110
4136
  AssignmentExpression,
@@ -4217,6 +4243,7 @@ ${input.slice(result.pos)}
4217
4243
  OperatorDeclaration,
4218
4244
  OperatorSignature,
4219
4245
  AmpersandBlockRHS,
4246
+ AmpersandTypeSuffix,
4220
4247
  AmpersandBlockRHSBody,
4221
4248
  ThinArrowFunction,
4222
4249
  Arrow,
@@ -4273,8 +4300,10 @@ ${input.slice(result.pos)}
4273
4300
  NestedImplicitPropertyDefinition,
4274
4301
  NestedPropertyDefinitions,
4275
4302
  NestedPropertyDefinition,
4303
+ ImplicitObjectLiteral,
4304
+ ImplicitObjectPropertyDelimiter,
4276
4305
  InlineObjectLiteral,
4277
- ImplicitInlineObjectPropertyDelimiter,
4306
+ InlineObjectPropertyDelimiter,
4278
4307
  ObjectPropertyDelimiter,
4279
4308
  PropertyDefinition,
4280
4309
  NamedProperty,
@@ -4881,118 +4910,119 @@ ${input.slice(result.pos)}
4881
4910
  var $L100 = $L("\u2209");
4882
4911
  var $L101 = $L("&");
4883
4912
  var $L102 = $L("|");
4884
- var $L103 = $L(";");
4885
- var $L104 = $L("$:");
4913
+ var $L103 = $L("$:");
4914
+ var $L104 = $L(";");
4886
4915
  var $L105 = $L("break");
4887
4916
  var $L106 = $L("continue");
4888
4917
  var $L107 = $L("debugger");
4889
- var $L108 = $L("with");
4890
- var $L109 = $L("assert");
4891
- var $L110 = $L(":=");
4892
- var $L111 = $L("\u2254");
4893
- var $L112 = $L(".=");
4894
- var $L113 = $L("/*");
4895
- var $L114 = $L("*/");
4896
- var $L115 = $L("\\");
4897
- var $L116 = $L(")");
4898
- var $L117 = $L("abstract");
4899
- var $L118 = $L("as");
4900
- var $L119 = $L("@");
4901
- var $L120 = $L("@@");
4902
- var $L121 = $L("async");
4903
- var $L122 = $L("await");
4904
- var $L123 = $L("`");
4905
- var $L124 = $L("by");
4906
- var $L125 = $L("case");
4907
- var $L126 = $L("catch");
4908
- var $L127 = $L("class");
4909
- var $L128 = $L("#{");
4910
- var $L129 = $L("declare");
4911
- var $L130 = $L("default");
4912
- var $L131 = $L("delete");
4913
- var $L132 = $L("do");
4914
- var $L133 = $L("..");
4915
- var $L134 = $L("\u2025");
4916
- var $L135 = $L("...");
4917
- var $L136 = $L("\u2026");
4918
- var $L137 = $L("::");
4919
- var $L138 = $L('"');
4920
- var $L139 = $L("each");
4921
- var $L140 = $L("else");
4922
- var $L141 = $L("export");
4923
- var $L142 = $L("extends");
4924
- var $L143 = $L("finally");
4925
- var $L144 = $L("for");
4926
- var $L145 = $L("from");
4927
- var $L146 = $L("function");
4928
- var $L147 = $L("get");
4929
- var $L148 = $L("set");
4930
- var $L149 = $L("#");
4931
- var $L150 = $L("if");
4932
- var $L151 = $L("in");
4933
- var $L152 = $L("let");
4934
- var $L153 = $L("const");
4935
- var $L154 = $L("is");
4936
- var $L155 = $L("loop");
4937
- var $L156 = $L("new");
4938
- var $L157 = $L("not");
4939
- var $L158 = $L("of");
4940
- var $L159 = $L("[");
4941
- var $L160 = $L("operator");
4942
- var $L161 = $L("own");
4943
- var $L162 = $L("public");
4944
- var $L163 = $L("private");
4945
- var $L164 = $L("protected");
4946
- var $L165 = $L("||>");
4947
- var $L166 = $L("|\u25B7");
4948
- var $L167 = $L("|>=");
4949
- var $L168 = $L("\u25B7=");
4950
- var $L169 = $L("|>");
4951
- var $L170 = $L("\u25B7");
4952
- var $L171 = $L("readonly");
4953
- var $L172 = $L("return");
4954
- var $L173 = $L("satisfies");
4955
- var $L174 = $L("'");
4956
- var $L175 = $L("static");
4957
- var $L176 = $L("${");
4958
- var $L177 = $L("super");
4959
- var $L178 = $L("switch");
4960
- var $L179 = $L("target");
4961
- var $L180 = $L("then");
4962
- var $L181 = $L("this");
4963
- var $L182 = $L("throw");
4964
- var $L183 = $L('"""');
4965
- var $L184 = $L("'''");
4966
- var $L185 = $L("///");
4967
- var $L186 = $L("```");
4968
- var $L187 = $L("try");
4969
- var $L188 = $L("typeof");
4970
- var $L189 = $L("unless");
4971
- var $L190 = $L("until");
4972
- var $L191 = $L("using");
4973
- var $L192 = $L("var");
4974
- var $L193 = $L("void");
4975
- var $L194 = $L("when");
4976
- var $L195 = $L("while");
4977
- var $L196 = $L("yield");
4978
- var $L197 = $L("/>");
4979
- var $L198 = $L("</");
4980
- var $L199 = $L("<>");
4981
- var $L200 = $L("</>");
4982
- var $L201 = $L("<!--");
4983
- var $L202 = $L("-->");
4984
- var $L203 = $L("type");
4985
- var $L204 = $L("enum");
4986
- var $L205 = $L("interface");
4987
- var $L206 = $L("global");
4988
- var $L207 = $L("module");
4989
- var $L208 = $L("namespace");
4990
- var $L209 = $L("asserts");
4991
- var $L210 = $L("keyof");
4992
- var $L211 = $L("infer");
4993
- var $L212 = $L("???");
4994
- var $L213 = $L("[]");
4995
- var $L214 = $L("civet");
4918
+ var $L108 = $L("require");
4919
+ var $L109 = $L("with");
4920
+ var $L110 = $L("assert");
4921
+ var $L111 = $L(":=");
4922
+ var $L112 = $L("\u2254");
4923
+ var $L113 = $L(".=");
4924
+ var $L114 = $L("/*");
4925
+ var $L115 = $L("*/");
4926
+ var $L116 = $L("\\");
4927
+ var $L117 = $L(")");
4928
+ var $L118 = $L("abstract");
4929
+ var $L119 = $L("as");
4930
+ var $L120 = $L("@");
4931
+ var $L121 = $L("@@");
4932
+ var $L122 = $L("async");
4933
+ var $L123 = $L("await");
4934
+ var $L124 = $L("`");
4935
+ var $L125 = $L("by");
4936
+ var $L126 = $L("case");
4937
+ var $L127 = $L("catch");
4938
+ var $L128 = $L("class");
4939
+ var $L129 = $L("#{");
4940
+ var $L130 = $L("declare");
4941
+ var $L131 = $L("default");
4942
+ var $L132 = $L("delete");
4943
+ var $L133 = $L("do");
4944
+ var $L134 = $L("..");
4945
+ var $L135 = $L("\u2025");
4946
+ var $L136 = $L("...");
4947
+ var $L137 = $L("\u2026");
4948
+ var $L138 = $L("::");
4949
+ var $L139 = $L('"');
4950
+ var $L140 = $L("each");
4951
+ var $L141 = $L("else");
4952
+ var $L142 = $L("export");
4953
+ var $L143 = $L("extends");
4954
+ var $L144 = $L("finally");
4955
+ var $L145 = $L("for");
4956
+ var $L146 = $L("from");
4957
+ var $L147 = $L("function");
4958
+ var $L148 = $L("get");
4959
+ var $L149 = $L("set");
4960
+ var $L150 = $L("#");
4961
+ var $L151 = $L("if");
4962
+ var $L152 = $L("in");
4963
+ var $L153 = $L("let");
4964
+ var $L154 = $L("const");
4965
+ var $L155 = $L("is");
4966
+ var $L156 = $L("loop");
4967
+ var $L157 = $L("new");
4968
+ var $L158 = $L("not");
4969
+ var $L159 = $L("of");
4970
+ var $L160 = $L("[");
4971
+ var $L161 = $L("operator");
4972
+ var $L162 = $L("own");
4973
+ var $L163 = $L("public");
4974
+ var $L164 = $L("private");
4975
+ var $L165 = $L("protected");
4976
+ var $L166 = $L("||>");
4977
+ var $L167 = $L("|\u25B7");
4978
+ var $L168 = $L("|>=");
4979
+ var $L169 = $L("\u25B7=");
4980
+ var $L170 = $L("|>");
4981
+ var $L171 = $L("\u25B7");
4982
+ var $L172 = $L("readonly");
4983
+ var $L173 = $L("return");
4984
+ var $L174 = $L("satisfies");
4985
+ var $L175 = $L("'");
4986
+ var $L176 = $L("static");
4987
+ var $L177 = $L("${");
4988
+ var $L178 = $L("super");
4989
+ var $L179 = $L("switch");
4990
+ var $L180 = $L("target");
4991
+ var $L181 = $L("then");
4992
+ var $L182 = $L("this");
4993
+ var $L183 = $L("throw");
4994
+ var $L184 = $L('"""');
4995
+ var $L185 = $L("'''");
4996
+ var $L186 = $L("///");
4997
+ var $L187 = $L("```");
4998
+ var $L188 = $L("try");
4999
+ var $L189 = $L("typeof");
5000
+ var $L190 = $L("unless");
5001
+ var $L191 = $L("until");
5002
+ var $L192 = $L("using");
5003
+ var $L193 = $L("var");
5004
+ var $L194 = $L("void");
5005
+ var $L195 = $L("when");
5006
+ var $L196 = $L("while");
5007
+ var $L197 = $L("yield");
5008
+ var $L198 = $L("/>");
5009
+ var $L199 = $L("</");
5010
+ var $L200 = $L("<>");
5011
+ var $L201 = $L("</>");
5012
+ var $L202 = $L("<!--");
5013
+ var $L203 = $L("-->");
5014
+ var $L204 = $L("type");
5015
+ var $L205 = $L("enum");
5016
+ var $L206 = $L("interface");
5017
+ var $L207 = $L("global");
5018
+ var $L208 = $L("module");
5019
+ var $L209 = $L("namespace");
5020
+ var $L210 = $L("asserts");
5021
+ var $L211 = $L("keyof");
5022
+ var $L212 = $L("infer");
5023
+ var $L213 = $L("???");
5024
+ var $L214 = $L("[]");
5025
+ var $L215 = $L("civet");
4996
5026
  var $R0 = $R(new RegExp("(?=debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
4997
5027
  var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
4998
5028
  var $R2 = $R(new RegExp("[0-9]", "suy"));
@@ -5557,20 +5587,27 @@ ${input.slice(result.pos)}
5557
5587
  function UnaryPostfix(ctx, state) {
5558
5588
  return $EVENT_C(ctx, state, "UnaryPostfix", UnaryPostfix$$);
5559
5589
  }
5560
- var TypePostfix$0 = $TS($S(_, As, $E(ExclamationPoint), Type), function($skip, $loc, $0, $1, $2, $3, $4) {
5590
+ var TypePostfix$0 = $TS($S(_, NWTypePostfix), function($skip, $loc, $0, $1, $2) {
5561
5591
  var ws = $1;
5562
- var as = $2;
5563
- var ex = $3;
5564
- var type = $4;
5592
+ var postfix = $2;
5593
+ return [ws, ...postfix];
5594
+ });
5595
+ function TypePostfix(ctx, state) {
5596
+ return $EVENT(ctx, state, "TypePostfix", TypePostfix$0);
5597
+ }
5598
+ var NWTypePostfix$0 = $TS($S(As, $E(ExclamationPoint), Type), function($skip, $loc, $0, $1, $2, $3) {
5599
+ var as = $1;
5600
+ var ex = $2;
5601
+ var type = $3;
5565
5602
  if (ex) {
5566
- return [{ $loc: ex.$loc, token: " as unknown" }, ws, as, type];
5603
+ return [{ $loc: ex.$loc, token: "as unknown " }, as, type];
5567
5604
  }
5568
- return [ws, as, type];
5605
+ return [as, type];
5569
5606
  });
5570
- var TypePostfix$1 = $S(_, Satisfies, Type);
5571
- var TypePostfix$$ = [TypePostfix$0, TypePostfix$1];
5572
- function TypePostfix(ctx, state) {
5573
- return $EVENT_C(ctx, state, "TypePostfix", TypePostfix$$);
5607
+ var NWTypePostfix$1 = $S(Satisfies, Type);
5608
+ var NWTypePostfix$$ = [NWTypePostfix$0, NWTypePostfix$1];
5609
+ function NWTypePostfix(ctx, state) {
5610
+ return $EVENT_C(ctx, state, "NWTypePostfix", NWTypePostfix$$);
5574
5611
  }
5575
5612
  var UpdateExpression$0 = $TS($S(UpdateExpressionSymbol, UnaryWithoutParenthesizedAssignment), function($skip, $loc, $0, $1, $2) {
5576
5613
  return {
@@ -5765,36 +5802,19 @@ ${input.slice(result.pos)}
5765
5802
  var head = $2;
5766
5803
  var body = $3;
5767
5804
  if (head.token === "&") {
5768
- const ref = makeRef("$");
5769
- const arrowBody = {
5805
+ head = makeAmpersandFunction();
5806
+ }
5807
+ if (head.type === "ArrowFunction" && head.ampersandBlock) {
5808
+ const expressions = [{
5770
5809
  type: "PipelineExpression",
5771
- children: [ws, ref, body]
5772
- };
5773
- const parameters = {
5774
- type: "Parameters",
5775
- children: [ref],
5776
- names: []
5777
- };
5778
- const expressions = [arrowBody];
5779
- const block = {
5780
- bare: true,
5781
- expressions,
5782
- children: [expressions]
5783
- };
5784
- const children = [parameters, " => ", block];
5810
+ children: [ws, head.block.expressions[0], body]
5811
+ }];
5812
+ const block = { ...head.block, expressions, children: [expressions] };
5785
5813
  return {
5786
- type: "ArrowFunction",
5787
- signature: {
5788
- modifier: {
5789
- children: []
5790
- }
5791
- },
5792
- children,
5793
- ref,
5794
- body: [arrowBody],
5795
- ampersandBlock: true,
5796
- parameters,
5797
- block
5814
+ ...head,
5815
+ block,
5816
+ body: expressions,
5817
+ children: [...head.children.slice(0, -1), block]
5798
5818
  };
5799
5819
  }
5800
5820
  return {
@@ -5817,11 +5837,14 @@ ${input.slice(result.pos)}
5817
5837
  var PipelineTailItem$2 = $T($S(Return, $N(AccessStart)), function(value) {
5818
5838
  return value[0];
5819
5839
  });
5820
- var PipelineTailItem$3 = AmpersandFunctionExpression;
5821
- var PipelineTailItem$4 = $T($S($N(Ampersand), PipelineHeadItem), function(value) {
5840
+ var PipelineTailItem$3 = $TS($S(NWTypePostfix, $Q(TypePostfix)), function($skip, $loc, $0, $1, $2) {
5841
+ return makeAmpersandFunction([" ", $1, ...$2]);
5842
+ });
5843
+ var PipelineTailItem$4 = AmpersandFunctionExpression;
5844
+ var PipelineTailItem$5 = $T($S($N(Ampersand), PipelineHeadItem), function(value) {
5822
5845
  return value[1];
5823
5846
  });
5824
- var PipelineTailItem$$ = [PipelineTailItem$0, PipelineTailItem$1, PipelineTailItem$2, PipelineTailItem$3, PipelineTailItem$4];
5847
+ var PipelineTailItem$$ = [PipelineTailItem$0, PipelineTailItem$1, PipelineTailItem$2, PipelineTailItem$3, PipelineTailItem$4, PipelineTailItem$5];
5825
5848
  function PipelineTailItem(ctx, state) {
5826
5849
  return $EVENT_C(ctx, state, "PipelineTailItem", PipelineTailItem$$);
5827
5850
  }
@@ -7209,27 +7232,7 @@ ${input.slice(result.pos)}
7209
7232
  };
7210
7233
  });
7211
7234
  var FunctionExpression$1 = $TV($EXPECT($L26, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
7212
- const ref = makeRef("$"), body = [ref];
7213
- const parameters = {
7214
- type: "Parameters",
7215
- children: [ref],
7216
- names: []
7217
- };
7218
- const block = {
7219
- expressions: [ref]
7220
- };
7221
- return {
7222
- type: "ArrowFunction",
7223
- signature: {
7224
- modifier: {}
7225
- },
7226
- children: [parameters, " => ", body],
7227
- ref,
7228
- body,
7229
- ampersandBlock: true,
7230
- block,
7231
- parameters
7232
- };
7235
+ return makeAmpersandFunction();
7233
7236
  });
7234
7237
  var FunctionExpression$2 = $TS($S(OpenParen, BinaryOp, CloseParen), function($skip, $loc, $0, $1, $2, $3) {
7235
7238
  var open = $1;
@@ -7353,15 +7356,11 @@ ${input.slice(result.pos)}
7353
7356
  var rhs = $3;
7354
7357
  if (!prefix.length && !rhs)
7355
7358
  return $skip;
7356
- let body, ref;
7359
+ let body, ref, typeSuffix;
7357
7360
  if (!rhs) {
7358
7361
  body = ref = makeRef("$");
7359
7362
  } else {
7360
- let exp = rhs;
7361
- while (!exp.ref && exp.expression) {
7362
- exp = exp.expression;
7363
- }
7364
- ({ ref } = exp);
7363
+ ({ ref, typeSuffix } = rhs);
7365
7364
  if (!ref) {
7366
7365
  throw new Error("Could not find ref in ampersand shorthand block");
7367
7366
  }
@@ -7375,7 +7374,7 @@ ${input.slice(result.pos)}
7375
7374
  }
7376
7375
  const parameters = {
7377
7376
  type: "Parameters",
7378
- children: [ref],
7377
+ children: typeSuffix ? ["(", ref, typeSuffix, ")"] : [ref],
7379
7378
  names: []
7380
7379
  };
7381
7380
  const expressions = [body];
@@ -7475,12 +7474,19 @@ ${input.slice(result.pos)}
7475
7474
  function AmpersandBlockRHS(ctx, state) {
7476
7475
  return $EVENT(ctx, state, "AmpersandBlockRHS", AmpersandBlockRHS$0);
7477
7476
  }
7478
- var AmpersandBlockRHSBody$0 = $TS($S($E($S($N(_), $P(CallExpressionRest))), $E(QuestionMark), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R10, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4) {
7479
- var callExpRest = $1;
7480
- var unaryPostfix = $2;
7481
- var assign = $3;
7482
- var binopRHS = $4;
7483
- if (!callExpRest && !binopRHS && !unaryPostfix)
7477
+ var AmpersandTypeSuffix$0 = $T($S($Y($S($E(_), $E(QuestionMark), $E(_), Colon)), TypeSuffix), function(value) {
7478
+ return value[1];
7479
+ });
7480
+ function AmpersandTypeSuffix(ctx, state) {
7481
+ return $EVENT(ctx, state, "AmpersandTypeSuffix", AmpersandTypeSuffix$0);
7482
+ }
7483
+ var AmpersandBlockRHSBody$0 = $TS($S($E(AmpersandTypeSuffix), $E($S($N(_), $P(CallExpressionRest))), $E(UnaryPostfix), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R10, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7484
+ var typeSuffix = $1;
7485
+ var callExpRest = $2;
7486
+ var unaryPostfix = $3;
7487
+ var assign = $4;
7488
+ var binopRHS = $5;
7489
+ if (!typeSuffix && !callExpRest && !binopRHS && !unaryPostfix)
7484
7490
  return $skip;
7485
7491
  const ref = makeRef("$");
7486
7492
  let exp = {
@@ -7507,16 +7513,16 @@ ${input.slice(result.pos)}
7507
7513
  names: null,
7508
7514
  lhs,
7509
7515
  assigned: exp,
7510
- exp: rhs,
7511
- ref
7516
+ exp: rhs
7512
7517
  };
7513
7518
  }
7514
7519
  if (binopRHS) {
7515
7520
  exp = {
7516
- children: processBinaryOpExpression([exp, binopRHS[1]]),
7517
- ref
7521
+ children: processBinaryOpExpression([exp, binopRHS[1]])
7518
7522
  };
7519
7523
  }
7524
+ exp.ref = ref;
7525
+ exp.typeSuffix = typeSuffix;
7520
7526
  return exp;
7521
7527
  });
7522
7528
  function AmpersandBlockRHSBody(ctx, state) {
@@ -7788,13 +7794,12 @@ ${input.slice(result.pos)}
7788
7794
  return block;
7789
7795
  });
7790
7796
  var NonSingleBracedBlock$1 = ImplicitNestedBlock;
7791
- var NonSingleBracedBlock$2 = $TS($S(InsertOpenBrace, $Y(EOS), ObjectLiteral, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
7792
- var s = $3;
7797
+ var NonSingleBracedBlock$2 = $TS($S(InsertOpenBrace, NestedImplicitObjectLiteral, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3) {
7798
+ var s = $2;
7793
7799
  return {
7794
7800
  type: "BlockStatement",
7795
7801
  expressions: [s],
7796
- // Remove &EOS assertion
7797
- children: [$1, s, $3]
7802
+ children: $0
7798
7803
  };
7799
7804
  });
7800
7805
  var NonSingleBracedBlock$$ = [NonSingleBracedBlock$0, NonSingleBracedBlock$1, NonSingleBracedBlock$2];
@@ -8192,7 +8197,10 @@ ${input.slice(result.pos)}
8192
8197
  return $EVENT(ctx, state, "ElementListRest", ElementListRest$0);
8193
8198
  }
8194
8199
  var ArrayElementExpression$0 = JSXTag;
8195
- var ArrayElementExpression$1 = $TS($S($E(ExtendedExpression), __, DotDotDot, $Y(ArrayElementDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
8200
+ var ArrayElementExpression$1 = $T($S(ImplicitObjectLiteral, $Y(ArrayElementDelimiter)), function(value) {
8201
+ return value[0];
8202
+ });
8203
+ var ArrayElementExpression$2 = $TS($S($E(ExtendedExpression), __, DotDotDot, $Y(ArrayElementDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
8196
8204
  var exp = $1;
8197
8205
  var ws = $2;
8198
8206
  var dots = $3;
@@ -8205,7 +8213,7 @@ ${input.slice(result.pos)}
8205
8213
  names: exp.names
8206
8214
  };
8207
8215
  });
8208
- var ArrayElementExpression$2 = $TS($S($E($S($E($S(__, DotDotDot, __)), PostfixedExpression)), $Y(ArrayElementDelimiter)), function($skip, $loc, $0, $1, $2) {
8216
+ var ArrayElementExpression$3 = $TS($S($E($S($E($S(__, DotDotDot, __)), PostfixedExpression)), $Y(ArrayElementDelimiter)), function($skip, $loc, $0, $1, $2) {
8209
8217
  var expMaybeSpread = $1;
8210
8218
  if (expMaybeSpread) {
8211
8219
  const [spread, exp] = expMaybeSpread;
@@ -8228,7 +8236,7 @@ ${input.slice(result.pos)}
8228
8236
  children: []
8229
8237
  };
8230
8238
  });
8231
- var ArrayElementExpression$$ = [ArrayElementExpression$0, ArrayElementExpression$1, ArrayElementExpression$2];
8239
+ var ArrayElementExpression$$ = [ArrayElementExpression$0, ArrayElementExpression$1, ArrayElementExpression$2, ArrayElementExpression$3];
8232
8240
  function ArrayElementExpression(ctx, state) {
8233
8241
  return $EVENT_C(ctx, state, "ArrayElementExpression", ArrayElementExpression$$);
8234
8242
  }
@@ -8292,8 +8300,10 @@ ${input.slice(result.pos)}
8292
8300
  function BracedObjectLiteralContent(ctx, state) {
8293
8301
  return $EVENT_C(ctx, state, "BracedObjectLiteralContent", BracedObjectLiteralContent$$);
8294
8302
  }
8295
- var NestedImplicitObjectLiteral$0 = $TS($S(InsertOpenBrace, NestedImplicitPropertyDefinitions, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8296
- var properties = $2;
8303
+ var NestedImplicitObjectLiteral$0 = $TS($S(InsertOpenBrace, PushIndent, $E(NestedImplicitPropertyDefinitions), PopIndent, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
8304
+ var properties = $3;
8305
+ if (!properties)
8306
+ return $skip;
8297
8307
  return {
8298
8308
  type: "ObjectExpression",
8299
8309
  properties,
@@ -8303,10 +8313,8 @@ ${input.slice(result.pos)}
8303
8313
  function NestedImplicitObjectLiteral(ctx, state) {
8304
8314
  return $EVENT(ctx, state, "NestedImplicitObjectLiteral", NestedImplicitObjectLiteral$0);
8305
8315
  }
8306
- var NestedImplicitPropertyDefinitions$0 = $TS($S(PushIndent, $Q(NestedImplicitPropertyDefinition), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
8307
- var defs = $2;
8308
- if (!defs.length)
8309
- return $skip;
8316
+ var NestedImplicitPropertyDefinitions$0 = $TV($P(NestedImplicitPropertyDefinition), function($skip, $loc, $0, $1) {
8317
+ var defs = $0;
8310
8318
  return defs.flat();
8311
8319
  });
8312
8320
  function NestedImplicitPropertyDefinitions(ctx, state) {
@@ -8358,7 +8366,7 @@ ${input.slice(result.pos)}
8358
8366
  function NestedPropertyDefinition(ctx, state) {
8359
8367
  return $EVENT(ctx, state, "NestedPropertyDefinition", NestedPropertyDefinition$0);
8360
8368
  }
8361
- var InlineObjectLiteral$0 = $TS($S(InsertInlineOpenBrace, SnugNamedProperty, $Q($S(ImplicitInlineObjectPropertyDelimiter, NamedProperty)), $E($S($E(_), Comma, $Y(Dedented))), InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8369
+ var ImplicitObjectLiteral$0 = $TS($S(InsertInlineOpenBrace, SnugNamedProperty, $Q($S(ImplicitObjectPropertyDelimiter, NamedProperty)), $E($S($E(_), Comma)), InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8362
8370
  var open = $1;
8363
8371
  var first = $2;
8364
8372
  var rest = $3;
@@ -8369,16 +8377,34 @@ ${input.slice(result.pos)}
8369
8377
  children: [open, first, ...rest, trailing, close]
8370
8378
  };
8371
8379
  });
8372
- function InlineObjectLiteral(ctx, state) {
8373
- return $EVENT(ctx, state, "InlineObjectLiteral", InlineObjectLiteral$0);
8380
+ function ImplicitObjectLiteral(ctx, state) {
8381
+ return $EVENT(ctx, state, "ImplicitObjectLiteral", ImplicitObjectLiteral$0);
8374
8382
  }
8375
- var ImplicitInlineObjectPropertyDelimiter$0 = $S($E(_), Comma, $C(NotDedented, $E(_)));
8376
- var ImplicitInlineObjectPropertyDelimiter$1 = $T($S($Y($S(Nested, NamedProperty)), InsertComma, $C(Nested, $E(_))), function(value) {
8383
+ var ImplicitObjectPropertyDelimiter$0 = $S($E(_), Comma, $C(NotDedented, $E(_)));
8384
+ var ImplicitObjectPropertyDelimiter$1 = $T($S($Y($S(Nested, NamedProperty)), InsertComma, Nested), function(value) {
8377
8385
  return [value[1], value[2]];
8378
8386
  });
8379
- var ImplicitInlineObjectPropertyDelimiter$$ = [ImplicitInlineObjectPropertyDelimiter$0, ImplicitInlineObjectPropertyDelimiter$1];
8380
- function ImplicitInlineObjectPropertyDelimiter(ctx, state) {
8381
- return $EVENT_C(ctx, state, "ImplicitInlineObjectPropertyDelimiter", ImplicitInlineObjectPropertyDelimiter$$);
8387
+ var ImplicitObjectPropertyDelimiter$$ = [ImplicitObjectPropertyDelimiter$0, ImplicitObjectPropertyDelimiter$1];
8388
+ function ImplicitObjectPropertyDelimiter(ctx, state) {
8389
+ return $EVENT_C(ctx, state, "ImplicitObjectPropertyDelimiter", ImplicitObjectPropertyDelimiter$$);
8390
+ }
8391
+ var InlineObjectLiteral$0 = $TS($S(InsertInlineOpenBrace, SnugNamedProperty, $Q($S(InlineObjectPropertyDelimiter, NamedProperty)), $E($S($E(_), Comma, $Y(Dedented))), InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8392
+ var open = $1;
8393
+ var first = $2;
8394
+ var rest = $3;
8395
+ var trailing = $4;
8396
+ var close = $5;
8397
+ return {
8398
+ type: "ObjectExpression",
8399
+ children: [open, first, ...rest, trailing, close]
8400
+ };
8401
+ });
8402
+ function InlineObjectLiteral(ctx, state) {
8403
+ return $EVENT(ctx, state, "InlineObjectLiteral", InlineObjectLiteral$0);
8404
+ }
8405
+ var InlineObjectPropertyDelimiter$0 = $S($E(_), Comma, $C(NotDedented, $E(_)));
8406
+ function InlineObjectPropertyDelimiter(ctx, state) {
8407
+ return $EVENT(ctx, state, "InlineObjectPropertyDelimiter", InlineObjectPropertyDelimiter$0);
8382
8408
  }
8383
8409
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
8384
8410
  var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L29, 'ObjectPropertyDelimiter "}"')));
@@ -9269,8 +9295,11 @@ ${input.slice(result.pos)}
9269
9295
  return $EVENT_C(ctx, state, "ModuleItem", ModuleItem$$);
9270
9296
  }
9271
9297
  var StatementListItem$0 = Declaration;
9272
- var StatementListItem$1 = PostfixedStatement;
9273
- var StatementListItem$$ = [StatementListItem$0, StatementListItem$1];
9298
+ var StatementListItem$1 = $TS($S($N($EXPECT($L103, 'StatementListItem "$:"')), ImplicitObjectLiteral), function($skip, $loc, $0, $1, $2) {
9299
+ return makeLeftHandSideExpression($2);
9300
+ });
9301
+ var StatementListItem$2 = PostfixedStatement;
9302
+ var StatementListItem$$ = [StatementListItem$0, StatementListItem$1, StatementListItem$2];
9274
9303
  function StatementListItem(ctx, state) {
9275
9304
  return $EVENT_C(ctx, state, "StatementListItem", StatementListItem$$);
9276
9305
  }
@@ -9376,7 +9405,7 @@ ${input.slice(result.pos)}
9376
9405
  function NoCommaStatement(ctx, state) {
9377
9406
  return $EVENT_C(ctx, state, "NoCommaStatement", NoCommaStatement$$);
9378
9407
  }
9379
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L103, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9408
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L104, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9380
9409
  return { type: "EmptyStatement", children: $1 || [] };
9381
9410
  });
9382
9411
  function EmptyStatement(ctx, state) {
@@ -9407,7 +9436,7 @@ ${input.slice(result.pos)}
9407
9436
  var w = $3;
9408
9437
  return [id, colon, w];
9409
9438
  });
9410
- var Label$1 = $S($EXPECT($L104, 'Label "$:"'), Whitespace);
9439
+ var Label$1 = $S($EXPECT($L103, 'Label "$:"'), Whitespace);
9411
9440
  var Label$$ = [Label$0, Label$1];
9412
9441
  function Label(ctx, state) {
9413
9442
  return $EVENT_C(ctx, state, "Label", Label$$);
@@ -10565,16 +10594,26 @@ ${input.slice(result.pos)}
10565
10594
  function MaybeNestedExpression(ctx, state) {
10566
10595
  return $EVENT_C(ctx, state, "MaybeNestedExpression", MaybeNestedExpression$$);
10567
10596
  }
10568
- var ImportDeclaration$0 = $T($S(Import, __, TypeKeyword, __, ImportClause, __, FromClause, $E(ImportAssertion)), function(value) {
10597
+ var ImportDeclaration$0 = $TS($S(Import, _, Identifier, $E(_), Equals, __, $EXPECT($L108, 'ImportDeclaration "require"'), NonIdContinue, Arguments), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10598
+ const imp = [
10599
+ { ...$1, ts: true },
10600
+ { ...$1, token: "const", js: true }
10601
+ ];
10602
+ return {
10603
+ type: "ImportDeclaration",
10604
+ children: [imp, $0.slice(1)]
10605
+ };
10606
+ });
10607
+ var ImportDeclaration$1 = $T($S(Import, __, TypeKeyword, __, ImportClause, __, FromClause, $E(ImportAssertion)), function(value) {
10569
10608
  return { "type": "ImportDeclaration", "ts": true, "children": value };
10570
10609
  });
10571
- var ImportDeclaration$1 = $T($S(Import, __, ImportClause, __, FromClause, $E(ImportAssertion)), function(value) {
10610
+ var ImportDeclaration$2 = $T($S(Import, __, ImportClause, __, FromClause, $E(ImportAssertion)), function(value) {
10572
10611
  return { "type": "ImportDeclaration", "children": value };
10573
10612
  });
10574
- var ImportDeclaration$2 = $T($S(Import, __, ModuleSpecifier, $E(ImportAssertion)), function(value) {
10613
+ var ImportDeclaration$3 = $T($S(Import, __, ModuleSpecifier, $E(ImportAssertion)), function(value) {
10575
10614
  return { "type": "ImportDeclaration", "children": value };
10576
10615
  });
10577
- var ImportDeclaration$3 = $TS($S(ImpliedImport, $E($S(TypeKeyword, __)), ImportClause, __, FromClause, $E(ImportAssertion)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10616
+ var ImportDeclaration$4 = $TS($S(ImpliedImport, $E($S(TypeKeyword, __)), ImportClause, __, FromClause, $E(ImportAssertion)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10578
10617
  var i = $1;
10579
10618
  var t = $2;
10580
10619
  var c = $3;
@@ -10590,7 +10629,7 @@ ${input.slice(result.pos)}
10590
10629
  return children;
10591
10630
  return { type: "ImportDeclaration", ts: true, children };
10592
10631
  });
10593
- var ImportDeclaration$$ = [ImportDeclaration$0, ImportDeclaration$1, ImportDeclaration$2, ImportDeclaration$3];
10632
+ var ImportDeclaration$$ = [ImportDeclaration$0, ImportDeclaration$1, ImportDeclaration$2, ImportDeclaration$3, ImportDeclaration$4];
10594
10633
  function ImportDeclaration(ctx, state) {
10595
10634
  return $EVENT_C(ctx, state, "ImportDeclaration", ImportDeclaration$$);
10596
10635
  }
@@ -10649,7 +10688,7 @@ ${input.slice(result.pos)}
10649
10688
  function FromClause(ctx, state) {
10650
10689
  return $EVENT(ctx, state, "FromClause", FromClause$0);
10651
10690
  }
10652
- var ImportAssertion$0 = $S($E(_), $C($EXPECT($L108, 'ImportAssertion "with"'), $EXPECT($L109, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10691
+ var ImportAssertion$0 = $S($E(_), $C($EXPECT($L109, 'ImportAssertion "with"'), $EXPECT($L110, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10653
10692
  function ImportAssertion(ctx, state) {
10654
10693
  return $EVENT(ctx, state, "ImportAssertion", ImportAssertion$0);
10655
10694
  }
@@ -10723,10 +10762,17 @@ ${input.slice(result.pos)}
10723
10762
  return $EVENT_C(ctx, state, "ModuleExportName", ModuleExportName$$);
10724
10763
  }
10725
10764
  var ModuleSpecifier$0 = $TS($S(UnprocessedModuleSpecifier), function($skip, $loc, $0, $1) {
10726
- if (!module.config.rewriteTsImports)
10727
- return $1;
10728
- const { token } = $1;
10729
- return { $loc, token: token.replace(/\.([mc])?ts(['"])$/, ".$1js$2") };
10765
+ let { token } = $1;
10766
+ if (module.config.rewriteTsImports) {
10767
+ token = token.replace(/\.([mc])?ts(['"])$/, ".$1js$2");
10768
+ }
10769
+ if (module.config.rewriteCivetImports) {
10770
+ token = token.replace(
10771
+ /\.civet(['"])$/,
10772
+ `${module.config.rewriteCivetImports.replace(/\$/g, "$$")}$1`
10773
+ );
10774
+ }
10775
+ return { ...$1, token };
10730
10776
  });
10731
10777
  function ModuleSpecifier(ctx, state) {
10732
10778
  return $EVENT(ctx, state, "ModuleSpecifier", ModuleSpecifier$0);
@@ -10748,18 +10794,28 @@ ${input.slice(result.pos)}
10748
10794
  function ImportedBinding(ctx, state) {
10749
10795
  return $EVENT(ctx, state, "ImportedBinding", ImportedBinding$0);
10750
10796
  }
10751
- var ExportDeclaration$0 = $TS($S($E(Decorators), Export, __, Default, __, $C(HoistableDeclaration, ClassDeclaration, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10797
+ var ExportDeclaration$0 = $TS($S(Export, $E(_), Equals, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
10798
+ const exp = [
10799
+ { ...$1, ts: true },
10800
+ { ...$1, token: "module.exports", js: true }
10801
+ ];
10802
+ return {
10803
+ type: "ExportDeclaration",
10804
+ children: [exp, $0.slice(1)]
10805
+ };
10806
+ });
10807
+ var ExportDeclaration$1 = $TS($S($E(Decorators), Export, __, Default, __, $C(HoistableDeclaration, ClassDeclaration, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10752
10808
  var declaration = $6;
10753
10809
  return { type: "ExportDeclaration", declaration, children: $0 };
10754
10810
  });
10755
- var ExportDeclaration$1 = $TS($S(Export, __, ExportFromClause, __, FromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10811
+ var ExportDeclaration$2 = $TS($S(Export, __, ExportFromClause, __, FromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10756
10812
  return { type: "ExportDeclaration", ts: $3.ts, children: $0 };
10757
10813
  });
10758
- var ExportDeclaration$2 = $TS($S($E(Decorators), Export, __, $C(Declaration, VariableStatement, TypeAndNamedExports, ExportVarDec)), function($skip, $loc, $0, $1, $2, $3, $4) {
10814
+ var ExportDeclaration$3 = $TS($S($E(Decorators), Export, __, $C(Declaration, VariableStatement, TypeAndNamedExports, ExportVarDec)), function($skip, $loc, $0, $1, $2, $3, $4) {
10759
10815
  var declaration = $4;
10760
10816
  return { type: "ExportDeclaration", declaration, ts: declaration.ts, children: $0 };
10761
10817
  });
10762
- var ExportDeclaration$$ = [ExportDeclaration$0, ExportDeclaration$1, ExportDeclaration$2];
10818
+ var ExportDeclaration$$ = [ExportDeclaration$0, ExportDeclaration$1, ExportDeclaration$2, ExportDeclaration$3];
10763
10819
  function ExportDeclaration(ctx, state) {
10764
10820
  return $EVENT_C(ctx, state, "ExportDeclaration", ExportDeclaration$$);
10765
10821
  }
@@ -10787,7 +10843,7 @@ ${input.slice(result.pos)}
10787
10843
  return $EVENT(ctx, state, "TypeAndNamedExports", TypeAndNamedExports$0);
10788
10844
  }
10789
10845
  var NamedExports$0 = $S(OpenBrace, $Q(ExportSpecifier), $E($S(__, Comma)), __, CloseBrace);
10790
- var NamedExports$1 = $TS($S(InsertInlineOpenBrace, ImplicitExportSpecifier, $Q($S(ImplicitInlineObjectPropertyDelimiter, ImplicitExportSpecifier)), InsertCloseBrace, $Y($C(StatementDelimiter, $S(__, From)))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10846
+ var NamedExports$1 = $TS($S(InsertInlineOpenBrace, ImplicitExportSpecifier, $Q($S(ImplicitObjectPropertyDelimiter, ImplicitExportSpecifier)), InsertCloseBrace, $Y($C(StatementDelimiter, $S(__, From)))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10791
10847
  var open = $1;
10792
10848
  var first = $2;
10793
10849
  var rest = $3;
@@ -10869,13 +10925,13 @@ ${input.slice(result.pos)}
10869
10925
  function LexicalDeclaration(ctx, state) {
10870
10926
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
10871
10927
  }
10872
- var ConstAssignment$0 = $TV($C($EXPECT($L110, 'ConstAssignment ":="'), $EXPECT($L111, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10928
+ var ConstAssignment$0 = $TV($C($EXPECT($L111, 'ConstAssignment ":="'), $EXPECT($L112, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10873
10929
  return { $loc, token: "=" };
10874
10930
  });
10875
10931
  function ConstAssignment(ctx, state) {
10876
10932
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
10877
10933
  }
10878
- var LetAssignment$0 = $TV($EXPECT($L112, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10934
+ var LetAssignment$0 = $TV($EXPECT($L113, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10879
10935
  return { $loc, token: "=" };
10880
10936
  });
10881
10937
  function LetAssignment(ctx, state) {
@@ -11281,7 +11337,7 @@ ${input.slice(result.pos)}
11281
11337
  function MultiLineComment(ctx, state) {
11282
11338
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
11283
11339
  }
11284
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L113, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L114, 'JSMultiLineComment "*/"')), $EXPECT($R59, "JSMultiLineComment /./"))), $EXPECT($L114, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
11340
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L114, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L115, 'JSMultiLineComment "*/"')), $EXPECT($R59, "JSMultiLineComment /./"))), $EXPECT($L115, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
11285
11341
  return { type: "Comment", $loc, token: $1 };
11286
11342
  });
11287
11343
  function JSMultiLineComment(ctx, state) {
@@ -11327,7 +11383,7 @@ ${input.slice(result.pos)}
11327
11383
  var NonNewlineWhitespace$0 = $TR($EXPECT($R65, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11328
11384
  return { $loc, token: $0 };
11329
11385
  });
11330
- var NonNewlineWhitespace$1 = $T($S($EXPECT($L115, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
11386
+ var NonNewlineWhitespace$1 = $T($S($EXPECT($L116, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
11331
11387
  return " ";
11332
11388
  });
11333
11389
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
@@ -11373,7 +11429,7 @@ ${input.slice(result.pos)}
11373
11429
  }
11374
11430
  var StatementDelimiter$0 = $Y(EOS);
11375
11431
  var StatementDelimiter$1 = SemicolonDelimiter;
11376
- var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L29, 'StatementDelimiter "}"'), $EXPECT($L116, 'StatementDelimiter ")"'), $EXPECT($L38, 'StatementDelimiter "]"'))));
11432
+ var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L29, 'StatementDelimiter "}"'), $EXPECT($L117, 'StatementDelimiter ")"'), $EXPECT($L38, 'StatementDelimiter "]"'))));
11377
11433
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2];
11378
11434
  function StatementDelimiter(ctx, state) {
11379
11435
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -11397,7 +11453,7 @@ ${input.slice(result.pos)}
11397
11453
  function Loc(ctx, state) {
11398
11454
  return $EVENT(ctx, state, "Loc", Loc$0);
11399
11455
  }
11400
- var Abstract$0 = $TV($TEXT($S($EXPECT($L117, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L15, 'Abstract " "')))), function($skip, $loc, $0, $1) {
11456
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L118, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L15, 'Abstract " "')))), function($skip, $loc, $0, $1) {
11401
11457
  return { $loc, token: $1, ts: true };
11402
11458
  });
11403
11459
  function Abstract(ctx, state) {
@@ -11409,43 +11465,43 @@ ${input.slice(result.pos)}
11409
11465
  function Ampersand(ctx, state) {
11410
11466
  return $EVENT(ctx, state, "Ampersand", Ampersand$0);
11411
11467
  }
11412
- var As$0 = $TS($S($EXPECT($L118, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11468
+ var As$0 = $TS($S($EXPECT($L119, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11413
11469
  return { $loc, token: $1 };
11414
11470
  });
11415
11471
  function As(ctx, state) {
11416
11472
  return $EVENT(ctx, state, "As", As$0);
11417
11473
  }
11418
- var At$0 = $TV($EXPECT($L119, 'At "@"'), function($skip, $loc, $0, $1) {
11474
+ var At$0 = $TV($EXPECT($L120, 'At "@"'), function($skip, $loc, $0, $1) {
11419
11475
  return { $loc, token: $1 };
11420
11476
  });
11421
11477
  function At(ctx, state) {
11422
11478
  return $EVENT(ctx, state, "At", At$0);
11423
11479
  }
11424
- var AtAt$0 = $TV($EXPECT($L120, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
11480
+ var AtAt$0 = $TV($EXPECT($L121, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
11425
11481
  return { $loc, token: "@" };
11426
11482
  });
11427
11483
  function AtAt(ctx, state) {
11428
11484
  return $EVENT(ctx, state, "AtAt", AtAt$0);
11429
11485
  }
11430
- var Async$0 = $TS($S($EXPECT($L121, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11486
+ var Async$0 = $TS($S($EXPECT($L122, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11431
11487
  return { $loc, token: $1, type: "Async" };
11432
11488
  });
11433
11489
  function Async(ctx, state) {
11434
11490
  return $EVENT(ctx, state, "Async", Async$0);
11435
11491
  }
11436
- var Await$0 = $TS($S($EXPECT($L122, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11492
+ var Await$0 = $TS($S($EXPECT($L123, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11437
11493
  return { $loc, token: $1, type: "Await" };
11438
11494
  });
11439
11495
  function Await(ctx, state) {
11440
11496
  return $EVENT(ctx, state, "Await", Await$0);
11441
11497
  }
11442
- var Backtick$0 = $TV($EXPECT($L123, 'Backtick "`"'), function($skip, $loc, $0, $1) {
11498
+ var Backtick$0 = $TV($EXPECT($L124, 'Backtick "`"'), function($skip, $loc, $0, $1) {
11443
11499
  return { $loc, token: $1 };
11444
11500
  });
11445
11501
  function Backtick(ctx, state) {
11446
11502
  return $EVENT(ctx, state, "Backtick", Backtick$0);
11447
11503
  }
11448
- var By$0 = $TS($S($EXPECT($L124, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11504
+ var By$0 = $TS($S($EXPECT($L125, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11449
11505
  return { $loc, token: $1 };
11450
11506
  });
11451
11507
  function By(ctx, state) {
@@ -11457,19 +11513,19 @@ ${input.slice(result.pos)}
11457
11513
  function Caret(ctx, state) {
11458
11514
  return $EVENT(ctx, state, "Caret", Caret$0);
11459
11515
  }
11460
- var Case$0 = $TS($S($EXPECT($L125, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11516
+ var Case$0 = $TS($S($EXPECT($L126, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11461
11517
  return { $loc, token: $1 };
11462
11518
  });
11463
11519
  function Case(ctx, state) {
11464
11520
  return $EVENT(ctx, state, "Case", Case$0);
11465
11521
  }
11466
- var Catch$0 = $TS($S($EXPECT($L126, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11522
+ var Catch$0 = $TS($S($EXPECT($L127, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11467
11523
  return { $loc, token: $1 };
11468
11524
  });
11469
11525
  function Catch(ctx, state) {
11470
11526
  return $EVENT(ctx, state, "Catch", Catch$0);
11471
11527
  }
11472
- var Class$0 = $TS($S($EXPECT($L127, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11528
+ var Class$0 = $TS($S($EXPECT($L128, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11473
11529
  return { $loc, token: $1 };
11474
11530
  });
11475
11531
  function Class(ctx, state) {
@@ -11493,13 +11549,13 @@ ${input.slice(result.pos)}
11493
11549
  function CloseBracket(ctx, state) {
11494
11550
  return $EVENT(ctx, state, "CloseBracket", CloseBracket$0);
11495
11551
  }
11496
- var CloseParen$0 = $TV($EXPECT($L116, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11552
+ var CloseParen$0 = $TV($EXPECT($L117, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11497
11553
  return { $loc, token: $1 };
11498
11554
  });
11499
11555
  function CloseParen(ctx, state) {
11500
11556
  return $EVENT(ctx, state, "CloseParen", CloseParen$0);
11501
11557
  }
11502
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L128, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11558
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L129, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11503
11559
  return { $loc, token: "${" };
11504
11560
  });
11505
11561
  function CoffeeSubstitutionStart(ctx, state) {
@@ -11517,31 +11573,31 @@ ${input.slice(result.pos)}
11517
11573
  function Comma(ctx, state) {
11518
11574
  return $EVENT(ctx, state, "Comma", Comma$0);
11519
11575
  }
11520
- var ConstructorShorthand$0 = $TV($EXPECT($L119, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11576
+ var ConstructorShorthand$0 = $TV($EXPECT($L120, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11521
11577
  return { $loc, token: "constructor" };
11522
11578
  });
11523
11579
  function ConstructorShorthand(ctx, state) {
11524
11580
  return $EVENT(ctx, state, "ConstructorShorthand", ConstructorShorthand$0);
11525
11581
  }
11526
- var Declare$0 = $TS($S($EXPECT($L129, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11582
+ var Declare$0 = $TS($S($EXPECT($L130, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11527
11583
  return { $loc, token: $1 };
11528
11584
  });
11529
11585
  function Declare(ctx, state) {
11530
11586
  return $EVENT(ctx, state, "Declare", Declare$0);
11531
11587
  }
11532
- var Default$0 = $TS($S($EXPECT($L130, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11588
+ var Default$0 = $TS($S($EXPECT($L131, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11533
11589
  return { $loc, token: $1 };
11534
11590
  });
11535
11591
  function Default(ctx, state) {
11536
11592
  return $EVENT(ctx, state, "Default", Default$0);
11537
11593
  }
11538
- var Delete$0 = $TS($S($EXPECT($L131, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11594
+ var Delete$0 = $TS($S($EXPECT($L132, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11539
11595
  return { $loc, token: $1 };
11540
11596
  });
11541
11597
  function Delete(ctx, state) {
11542
11598
  return $EVENT(ctx, state, "Delete", Delete$0);
11543
11599
  }
11544
- var Do$0 = $TS($S($EXPECT($L132, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11600
+ var Do$0 = $TS($S($EXPECT($L133, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11545
11601
  return { $loc, token: $1 };
11546
11602
  });
11547
11603
  function Do(ctx, state) {
@@ -11561,45 +11617,45 @@ ${input.slice(result.pos)}
11561
11617
  function Dot(ctx, state) {
11562
11618
  return $EVENT_C(ctx, state, "Dot", Dot$$);
11563
11619
  }
11564
- var DotDot$0 = $TS($S($EXPECT($L133, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11620
+ var DotDot$0 = $TS($S($EXPECT($L134, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11565
11621
  return { $loc, token: $1 };
11566
11622
  });
11567
- var DotDot$1 = $TV($EXPECT($L134, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11623
+ var DotDot$1 = $TV($EXPECT($L135, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11568
11624
  return { $loc, token: ".." };
11569
11625
  });
11570
11626
  var DotDot$$ = [DotDot$0, DotDot$1];
11571
11627
  function DotDot(ctx, state) {
11572
11628
  return $EVENT_C(ctx, state, "DotDot", DotDot$$);
11573
11629
  }
11574
- var DotDotDot$0 = $TV($EXPECT($L135, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11630
+ var DotDotDot$0 = $TV($EXPECT($L136, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11575
11631
  return { $loc, token: $1 };
11576
11632
  });
11577
- var DotDotDot$1 = $TV($EXPECT($L136, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11633
+ var DotDotDot$1 = $TV($EXPECT($L137, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11578
11634
  return { $loc, token: "..." };
11579
11635
  });
11580
11636
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
11581
11637
  function DotDotDot(ctx, state) {
11582
11638
  return $EVENT_C(ctx, state, "DotDotDot", DotDotDot$$);
11583
11639
  }
11584
- var DoubleColon$0 = $TV($EXPECT($L137, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11640
+ var DoubleColon$0 = $TV($EXPECT($L138, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11585
11641
  return { $loc, token: $1 };
11586
11642
  });
11587
11643
  function DoubleColon(ctx, state) {
11588
11644
  return $EVENT(ctx, state, "DoubleColon", DoubleColon$0);
11589
11645
  }
11590
- var DoubleQuote$0 = $TV($EXPECT($L138, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11646
+ var DoubleQuote$0 = $TV($EXPECT($L139, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11591
11647
  return { $loc, token: $1 };
11592
11648
  });
11593
11649
  function DoubleQuote(ctx, state) {
11594
11650
  return $EVENT(ctx, state, "DoubleQuote", DoubleQuote$0);
11595
11651
  }
11596
- var Each$0 = $TS($S($EXPECT($L139, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11652
+ var Each$0 = $TS($S($EXPECT($L140, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11597
11653
  return { $loc, token: $1 };
11598
11654
  });
11599
11655
  function Each(ctx, state) {
11600
11656
  return $EVENT(ctx, state, "Each", Each$0);
11601
11657
  }
11602
- var Else$0 = $TS($S($EXPECT($L140, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11658
+ var Else$0 = $TS($S($EXPECT($L141, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11603
11659
  return { $loc, token: $1 };
11604
11660
  });
11605
11661
  function Else(ctx, state) {
@@ -11617,55 +11673,55 @@ ${input.slice(result.pos)}
11617
11673
  function ExclamationPoint(ctx, state) {
11618
11674
  return $EVENT(ctx, state, "ExclamationPoint", ExclamationPoint$0);
11619
11675
  }
11620
- var Export$0 = $TS($S($EXPECT($L141, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11676
+ var Export$0 = $TS($S($EXPECT($L142, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11621
11677
  return { $loc, token: $1 };
11622
11678
  });
11623
11679
  function Export(ctx, state) {
11624
11680
  return $EVENT(ctx, state, "Export", Export$0);
11625
11681
  }
11626
- var Extends$0 = $TS($S($EXPECT($L142, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11682
+ var Extends$0 = $TS($S($EXPECT($L143, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11627
11683
  return { $loc, token: $1 };
11628
11684
  });
11629
11685
  function Extends(ctx, state) {
11630
11686
  return $EVENT(ctx, state, "Extends", Extends$0);
11631
11687
  }
11632
- var Finally$0 = $TS($S($EXPECT($L143, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11688
+ var Finally$0 = $TS($S($EXPECT($L144, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11633
11689
  return { $loc, token: $1 };
11634
11690
  });
11635
11691
  function Finally(ctx, state) {
11636
11692
  return $EVENT(ctx, state, "Finally", Finally$0);
11637
11693
  }
11638
- var For$0 = $TS($S($EXPECT($L144, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11694
+ var For$0 = $TS($S($EXPECT($L145, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11639
11695
  return { $loc, token: $1 };
11640
11696
  });
11641
11697
  function For(ctx, state) {
11642
11698
  return $EVENT(ctx, state, "For", For$0);
11643
11699
  }
11644
- var From$0 = $TS($S($EXPECT($L145, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11700
+ var From$0 = $TS($S($EXPECT($L146, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11645
11701
  return { $loc, token: $1 };
11646
11702
  });
11647
11703
  function From(ctx, state) {
11648
11704
  return $EVENT(ctx, state, "From", From$0);
11649
11705
  }
11650
- var Function$0 = $TS($S($EXPECT($L146, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11706
+ var Function$0 = $TS($S($EXPECT($L147, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11651
11707
  return { $loc, token: $1 };
11652
11708
  });
11653
11709
  function Function(ctx, state) {
11654
11710
  return $EVENT(ctx, state, "Function", Function$0);
11655
11711
  }
11656
- var GetOrSet$0 = $TS($S($C($EXPECT($L147, 'GetOrSet "get"'), $EXPECT($L148, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11712
+ var GetOrSet$0 = $TS($S($C($EXPECT($L148, 'GetOrSet "get"'), $EXPECT($L149, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11657
11713
  return { $loc, token: $1, type: "GetOrSet" };
11658
11714
  });
11659
11715
  function GetOrSet(ctx, state) {
11660
11716
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
11661
11717
  }
11662
- var Hash$0 = $TV($EXPECT($L149, 'Hash "#"'), function($skip, $loc, $0, $1) {
11718
+ var Hash$0 = $TV($EXPECT($L150, 'Hash "#"'), function($skip, $loc, $0, $1) {
11663
11719
  return { $loc, token: $1 };
11664
11720
  });
11665
11721
  function Hash(ctx, state) {
11666
11722
  return $EVENT(ctx, state, "Hash", Hash$0);
11667
11723
  }
11668
- var If$0 = $TV($TEXT($S($EXPECT($L150, 'If "if"'), NonIdContinue, $E($EXPECT($L15, 'If " "')))), function($skip, $loc, $0, $1) {
11724
+ var If$0 = $TV($TEXT($S($EXPECT($L151, 'If "if"'), NonIdContinue, $E($EXPECT($L15, 'If " "')))), function($skip, $loc, $0, $1) {
11669
11725
  return { $loc, token: $1 };
11670
11726
  });
11671
11727
  function If(ctx, state) {
@@ -11677,25 +11733,25 @@ ${input.slice(result.pos)}
11677
11733
  function Import(ctx, state) {
11678
11734
  return $EVENT(ctx, state, "Import", Import$0);
11679
11735
  }
11680
- var In$0 = $TS($S($EXPECT($L151, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11736
+ var In$0 = $TS($S($EXPECT($L152, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11681
11737
  return { $loc, token: $1 };
11682
11738
  });
11683
11739
  function In(ctx, state) {
11684
11740
  return $EVENT(ctx, state, "In", In$0);
11685
11741
  }
11686
- var LetOrConst$0 = $TS($S($C($EXPECT($L152, 'LetOrConst "let"'), $EXPECT($L153, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11742
+ var LetOrConst$0 = $TS($S($C($EXPECT($L153, 'LetOrConst "let"'), $EXPECT($L154, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11687
11743
  return { $loc, token: $1 };
11688
11744
  });
11689
11745
  function LetOrConst(ctx, state) {
11690
11746
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
11691
11747
  }
11692
- var Const$0 = $TS($S($EXPECT($L153, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11748
+ var Const$0 = $TS($S($EXPECT($L154, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11693
11749
  return { $loc, token: $1 };
11694
11750
  });
11695
11751
  function Const(ctx, state) {
11696
11752
  return $EVENT(ctx, state, "Const", Const$0);
11697
11753
  }
11698
- var Is$0 = $TS($S($EXPECT($L154, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11754
+ var Is$0 = $TS($S($EXPECT($L155, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11699
11755
  return { $loc, token: $1 };
11700
11756
  });
11701
11757
  function Is(ctx, state) {
@@ -11707,25 +11763,25 @@ ${input.slice(result.pos)}
11707
11763
  function LetOrConstOrVar(ctx, state) {
11708
11764
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
11709
11765
  }
11710
- var Loop$0 = $TS($S($EXPECT($L155, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11766
+ var Loop$0 = $TS($S($EXPECT($L156, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11711
11767
  return { $loc, token: "while(true)" };
11712
11768
  });
11713
11769
  function Loop(ctx, state) {
11714
11770
  return $EVENT(ctx, state, "Loop", Loop$0);
11715
11771
  }
11716
- var New$0 = $TS($S($EXPECT($L156, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11772
+ var New$0 = $TS($S($EXPECT($L157, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11717
11773
  return { $loc, token: $1 };
11718
11774
  });
11719
11775
  function New(ctx, state) {
11720
11776
  return $EVENT(ctx, state, "New", New$0);
11721
11777
  }
11722
- var Not$0 = $TS($S($EXPECT($L157, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L14, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11778
+ var Not$0 = $TS($S($EXPECT($L158, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L14, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11723
11779
  return { $loc, token: "!" };
11724
11780
  });
11725
11781
  function Not(ctx, state) {
11726
11782
  return $EVENT(ctx, state, "Not", Not$0);
11727
11783
  }
11728
- var Of$0 = $TS($S($EXPECT($L158, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11784
+ var Of$0 = $TS($S($EXPECT($L159, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11729
11785
  return { $loc, token: $1 };
11730
11786
  });
11731
11787
  function Of(ctx, state) {
@@ -11743,7 +11799,7 @@ ${input.slice(result.pos)}
11743
11799
  function OpenBrace(ctx, state) {
11744
11800
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
11745
11801
  }
11746
- var OpenBracket$0 = $TV($EXPECT($L159, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11802
+ var OpenBracket$0 = $TV($EXPECT($L160, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11747
11803
  return { $loc, token: $1 };
11748
11804
  });
11749
11805
  function OpenBracket(ctx, state) {
@@ -11755,43 +11811,43 @@ ${input.slice(result.pos)}
11755
11811
  function OpenParen(ctx, state) {
11756
11812
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
11757
11813
  }
11758
- var Operator$0 = $TS($S($EXPECT($L160, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11814
+ var Operator$0 = $TS($S($EXPECT($L161, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11759
11815
  return { $loc, token: $1 };
11760
11816
  });
11761
11817
  function Operator(ctx, state) {
11762
11818
  return $EVENT(ctx, state, "Operator", Operator$0);
11763
11819
  }
11764
- var Own$0 = $TS($S($EXPECT($L161, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11820
+ var Own$0 = $TS($S($EXPECT($L162, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11765
11821
  return { $loc, token: $1 };
11766
11822
  });
11767
11823
  function Own(ctx, state) {
11768
11824
  return $EVENT(ctx, state, "Own", Own$0);
11769
11825
  }
11770
- var Public$0 = $TS($S($EXPECT($L162, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11826
+ var Public$0 = $TS($S($EXPECT($L163, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11771
11827
  return { $loc, token: $1 };
11772
11828
  });
11773
11829
  function Public(ctx, state) {
11774
11830
  return $EVENT(ctx, state, "Public", Public$0);
11775
11831
  }
11776
- var Private$0 = $TS($S($EXPECT($L163, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11832
+ var Private$0 = $TS($S($EXPECT($L164, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11777
11833
  return { $loc, token: $1 };
11778
11834
  });
11779
11835
  function Private(ctx, state) {
11780
11836
  return $EVENT(ctx, state, "Private", Private$0);
11781
11837
  }
11782
- var Protected$0 = $TS($S($EXPECT($L164, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11838
+ var Protected$0 = $TS($S($EXPECT($L165, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11783
11839
  return { $loc, token: $1 };
11784
11840
  });
11785
11841
  function Protected(ctx, state) {
11786
11842
  return $EVENT(ctx, state, "Protected", Protected$0);
11787
11843
  }
11788
- var Pipe$0 = $TV($C($EXPECT($L165, 'Pipe "||>"'), $EXPECT($L166, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11844
+ var Pipe$0 = $TV($C($EXPECT($L166, 'Pipe "||>"'), $EXPECT($L167, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11789
11845
  return { $loc, token: "||>" };
11790
11846
  });
11791
- var Pipe$1 = $TV($C($EXPECT($L167, 'Pipe "|>="'), $EXPECT($L168, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11847
+ var Pipe$1 = $TV($C($EXPECT($L168, 'Pipe "|>="'), $EXPECT($L169, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11792
11848
  return { $loc, token: "|>=" };
11793
11849
  });
11794
- var Pipe$2 = $TV($C($EXPECT($L169, 'Pipe "|>"'), $EXPECT($L170, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11850
+ var Pipe$2 = $TV($C($EXPECT($L170, 'Pipe "|>"'), $EXPECT($L171, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11795
11851
  return { $loc, token: "|>" };
11796
11852
  });
11797
11853
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -11804,31 +11860,31 @@ ${input.slice(result.pos)}
11804
11860
  function QuestionMark(ctx, state) {
11805
11861
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
11806
11862
  }
11807
- var Readonly$0 = $TS($S($EXPECT($L171, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11863
+ var Readonly$0 = $TS($S($EXPECT($L172, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11808
11864
  return { $loc, token: $1, ts: true };
11809
11865
  });
11810
11866
  function Readonly(ctx, state) {
11811
11867
  return $EVENT(ctx, state, "Readonly", Readonly$0);
11812
11868
  }
11813
- var Return$0 = $TS($S($EXPECT($L172, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11869
+ var Return$0 = $TS($S($EXPECT($L173, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11814
11870
  return { $loc, token: $1 };
11815
11871
  });
11816
11872
  function Return(ctx, state) {
11817
11873
  return $EVENT(ctx, state, "Return", Return$0);
11818
11874
  }
11819
- var Satisfies$0 = $TS($S($EXPECT($L173, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11875
+ var Satisfies$0 = $TS($S($EXPECT($L174, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11820
11876
  return { $loc, token: $1 };
11821
11877
  });
11822
11878
  function Satisfies(ctx, state) {
11823
11879
  return $EVENT(ctx, state, "Satisfies", Satisfies$0);
11824
11880
  }
11825
- var Semicolon$0 = $TV($EXPECT($L103, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11881
+ var Semicolon$0 = $TV($EXPECT($L104, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11826
11882
  return { $loc, token: $1 };
11827
11883
  });
11828
11884
  function Semicolon(ctx, state) {
11829
11885
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
11830
11886
  }
11831
- var SingleQuote$0 = $TV($EXPECT($L174, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11887
+ var SingleQuote$0 = $TV($EXPECT($L175, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11832
11888
  return { $loc, token: $1 };
11833
11889
  });
11834
11890
  function SingleQuote(ctx, state) {
@@ -11840,137 +11896,137 @@ ${input.slice(result.pos)}
11840
11896
  function Star(ctx, state) {
11841
11897
  return $EVENT(ctx, state, "Star", Star$0);
11842
11898
  }
11843
- var Static$0 = $TS($S($EXPECT($L175, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11899
+ var Static$0 = $TS($S($EXPECT($L176, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11844
11900
  return { $loc, token: $1 };
11845
11901
  });
11846
- var Static$1 = $TS($S($EXPECT($L119, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L119, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11902
+ var Static$1 = $TS($S($EXPECT($L120, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L120, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11847
11903
  return { $loc, token: "static " };
11848
11904
  });
11849
11905
  var Static$$ = [Static$0, Static$1];
11850
11906
  function Static(ctx, state) {
11851
11907
  return $EVENT_C(ctx, state, "Static", Static$$);
11852
11908
  }
11853
- var SubstitutionStart$0 = $TV($EXPECT($L176, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11909
+ var SubstitutionStart$0 = $TV($EXPECT($L177, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11854
11910
  return { $loc, token: $1 };
11855
11911
  });
11856
11912
  function SubstitutionStart(ctx, state) {
11857
11913
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
11858
11914
  }
11859
- var Super$0 = $TS($S($EXPECT($L177, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11915
+ var Super$0 = $TS($S($EXPECT($L178, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11860
11916
  return { $loc, token: $1 };
11861
11917
  });
11862
11918
  function Super(ctx, state) {
11863
11919
  return $EVENT(ctx, state, "Super", Super$0);
11864
11920
  }
11865
- var Switch$0 = $TS($S($EXPECT($L178, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11921
+ var Switch$0 = $TS($S($EXPECT($L179, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11866
11922
  return { $loc, token: $1 };
11867
11923
  });
11868
11924
  function Switch(ctx, state) {
11869
11925
  return $EVENT(ctx, state, "Switch", Switch$0);
11870
11926
  }
11871
- var Target$0 = $TS($S($EXPECT($L179, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11927
+ var Target$0 = $TS($S($EXPECT($L180, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11872
11928
  return { $loc, token: $1 };
11873
11929
  });
11874
11930
  function Target(ctx, state) {
11875
11931
  return $EVENT(ctx, state, "Target", Target$0);
11876
11932
  }
11877
- var Then$0 = $TS($S(__, $EXPECT($L180, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11933
+ var Then$0 = $TS($S(__, $EXPECT($L181, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11878
11934
  return { $loc, token: "" };
11879
11935
  });
11880
11936
  function Then(ctx, state) {
11881
11937
  return $EVENT(ctx, state, "Then", Then$0);
11882
11938
  }
11883
- var This$0 = $TS($S($EXPECT($L181, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11939
+ var This$0 = $TS($S($EXPECT($L182, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11884
11940
  return { $loc, token: $1 };
11885
11941
  });
11886
11942
  function This(ctx, state) {
11887
11943
  return $EVENT(ctx, state, "This", This$0);
11888
11944
  }
11889
- var Throw$0 = $TS($S($EXPECT($L182, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11945
+ var Throw$0 = $TS($S($EXPECT($L183, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11890
11946
  return { $loc, token: $1 };
11891
11947
  });
11892
11948
  function Throw(ctx, state) {
11893
11949
  return $EVENT(ctx, state, "Throw", Throw$0);
11894
11950
  }
11895
- var TripleDoubleQuote$0 = $TV($EXPECT($L183, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11951
+ var TripleDoubleQuote$0 = $TV($EXPECT($L184, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11896
11952
  return { $loc, token: "`" };
11897
11953
  });
11898
11954
  function TripleDoubleQuote(ctx, state) {
11899
11955
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
11900
11956
  }
11901
- var TripleSingleQuote$0 = $TV($EXPECT($L184, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11957
+ var TripleSingleQuote$0 = $TV($EXPECT($L185, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11902
11958
  return { $loc, token: "`" };
11903
11959
  });
11904
11960
  function TripleSingleQuote(ctx, state) {
11905
11961
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
11906
11962
  }
11907
- var TripleSlash$0 = $TV($EXPECT($L185, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11963
+ var TripleSlash$0 = $TV($EXPECT($L186, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11908
11964
  return { $loc, token: "/" };
11909
11965
  });
11910
11966
  function TripleSlash(ctx, state) {
11911
11967
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
11912
11968
  }
11913
- var TripleTick$0 = $TV($EXPECT($L186, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11969
+ var TripleTick$0 = $TV($EXPECT($L187, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11914
11970
  return { $loc, token: "`" };
11915
11971
  });
11916
11972
  function TripleTick(ctx, state) {
11917
11973
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
11918
11974
  }
11919
- var Try$0 = $TS($S($EXPECT($L187, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11975
+ var Try$0 = $TS($S($EXPECT($L188, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11920
11976
  return { $loc, token: $1 };
11921
11977
  });
11922
11978
  function Try(ctx, state) {
11923
11979
  return $EVENT(ctx, state, "Try", Try$0);
11924
11980
  }
11925
- var Typeof$0 = $TS($S($EXPECT($L188, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11981
+ var Typeof$0 = $TS($S($EXPECT($L189, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11926
11982
  return { $loc, token: $1 };
11927
11983
  });
11928
11984
  function Typeof(ctx, state) {
11929
11985
  return $EVENT(ctx, state, "Typeof", Typeof$0);
11930
11986
  }
11931
- var Unless$0 = $TS($S($EXPECT($L189, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11987
+ var Unless$0 = $TS($S($EXPECT($L190, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11932
11988
  return { $loc, token: $1, negated: true };
11933
11989
  });
11934
11990
  function Unless(ctx, state) {
11935
11991
  return $EVENT(ctx, state, "Unless", Unless$0);
11936
11992
  }
11937
- var Until$0 = $TS($S($EXPECT($L190, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11993
+ var Until$0 = $TS($S($EXPECT($L191, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11938
11994
  return { $loc, token: $1 };
11939
11995
  });
11940
11996
  function Until(ctx, state) {
11941
11997
  return $EVENT(ctx, state, "Until", Until$0);
11942
11998
  }
11943
- var Using$0 = $TS($S($EXPECT($L191, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11999
+ var Using$0 = $TS($S($EXPECT($L192, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11944
12000
  return { $loc, token: $1 };
11945
12001
  });
11946
12002
  function Using(ctx, state) {
11947
12003
  return $EVENT(ctx, state, "Using", Using$0);
11948
12004
  }
11949
- var Var$0 = $TS($S($EXPECT($L192, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12005
+ var Var$0 = $TS($S($EXPECT($L193, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11950
12006
  return { $loc, token: $1 };
11951
12007
  });
11952
12008
  function Var(ctx, state) {
11953
12009
  return $EVENT(ctx, state, "Var", Var$0);
11954
12010
  }
11955
- var Void$0 = $TS($S($EXPECT($L193, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12011
+ var Void$0 = $TS($S($EXPECT($L194, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11956
12012
  return { $loc, token: $1 };
11957
12013
  });
11958
12014
  function Void(ctx, state) {
11959
12015
  return $EVENT(ctx, state, "Void", Void$0);
11960
12016
  }
11961
- var When$0 = $TS($S($EXPECT($L194, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12017
+ var When$0 = $TS($S($EXPECT($L195, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11962
12018
  return { $loc, token: "case" };
11963
12019
  });
11964
12020
  function When(ctx, state) {
11965
12021
  return $EVENT(ctx, state, "When", When$0);
11966
12022
  }
11967
- var While$0 = $TS($S($EXPECT($L195, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12023
+ var While$0 = $TS($S($EXPECT($L196, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11968
12024
  return { $loc, token: $1 };
11969
12025
  });
11970
12026
  function While(ctx, state) {
11971
12027
  return $EVENT(ctx, state, "While", While$0);
11972
12028
  }
11973
- var Yield$0 = $TS($S($EXPECT($L196, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12029
+ var Yield$0 = $TS($S($EXPECT($L197, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11974
12030
  return { $loc, token: $1, type: "Yield" };
11975
12031
  });
11976
12032
  function Yield(ctx, state) {
@@ -12049,7 +12105,7 @@ ${input.slice(result.pos)}
12049
12105
  function JSXElement(ctx, state) {
12050
12106
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
12051
12107
  }
12052
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L16, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L197, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12108
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L16, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L198, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12053
12109
  return { type: "JSXElement", children: $0, tag: $2 };
12054
12110
  });
12055
12111
  function JSXSelfClosingElement(ctx, state) {
@@ -12083,7 +12139,7 @@ ${input.slice(result.pos)}
12083
12139
  function JSXOptionalClosingElement(ctx, state) {
12084
12140
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
12085
12141
  }
12086
- var JSXClosingElement$0 = $S($EXPECT($L198, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L37, 'JSXClosingElement ">"'));
12142
+ var JSXClosingElement$0 = $S($EXPECT($L199, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L37, 'JSXClosingElement ">"'));
12087
12143
  function JSXClosingElement(ctx, state) {
12088
12144
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
12089
12145
  }
@@ -12104,7 +12160,7 @@ ${input.slice(result.pos)}
12104
12160
  ];
12105
12161
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
12106
12162
  });
12107
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L199, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12163
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L200, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12108
12164
  var children = $3;
12109
12165
  $0 = $0.slice(1);
12110
12166
  return {
@@ -12117,7 +12173,7 @@ ${input.slice(result.pos)}
12117
12173
  function JSXFragment(ctx, state) {
12118
12174
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
12119
12175
  }
12120
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L199, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
12176
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L200, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
12121
12177
  module.JSXTagStack.push("");
12122
12178
  return $1;
12123
12179
  });
@@ -12134,11 +12190,11 @@ ${input.slice(result.pos)}
12134
12190
  function JSXOptionalClosingFragment(ctx, state) {
12135
12191
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
12136
12192
  }
12137
- var JSXClosingFragment$0 = $EXPECT($L200, 'JSXClosingFragment "</>"');
12193
+ var JSXClosingFragment$0 = $EXPECT($L201, 'JSXClosingFragment "</>"');
12138
12194
  function JSXClosingFragment(ctx, state) {
12139
12195
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
12140
12196
  }
12141
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L149, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
12197
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L150, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
12142
12198
  return module.config.defaultElement;
12143
12199
  });
12144
12200
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -12316,7 +12372,7 @@ ${input.slice(result.pos)}
12316
12372
  }
12317
12373
  return $skip;
12318
12374
  });
12319
- var JSXAttribute$5 = $TS($S($EXPECT($L149, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12375
+ var JSXAttribute$5 = $TS($S($EXPECT($L150, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12320
12376
  return [" ", "id=", $2];
12321
12377
  });
12322
12378
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -12608,7 +12664,7 @@ ${input.slice(result.pos)}
12608
12664
  function JSXChild(ctx, state) {
12609
12665
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
12610
12666
  }
12611
- var JSXComment$0 = $TS($S($EXPECT($L201, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L202, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12667
+ var JSXComment$0 = $TS($S($EXPECT($L202, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L203, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12612
12668
  return ["{/*", $2, "*/}"];
12613
12669
  });
12614
12670
  function JSXComment(ctx, state) {
@@ -12740,37 +12796,37 @@ ${input.slice(result.pos)}
12740
12796
  function InterfaceExtendsTarget(ctx, state) {
12741
12797
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
12742
12798
  }
12743
- var TypeKeyword$0 = $TS($S($EXPECT($L203, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12799
+ var TypeKeyword$0 = $TS($S($EXPECT($L204, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12744
12800
  return { $loc, token: $1 };
12745
12801
  });
12746
12802
  function TypeKeyword(ctx, state) {
12747
12803
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
12748
12804
  }
12749
- var Enum$0 = $TS($S($EXPECT($L204, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12805
+ var Enum$0 = $TS($S($EXPECT($L205, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12750
12806
  return { $loc, token: $1 };
12751
12807
  });
12752
12808
  function Enum(ctx, state) {
12753
12809
  return $EVENT(ctx, state, "Enum", Enum$0);
12754
12810
  }
12755
- var Interface$0 = $TS($S($EXPECT($L205, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12811
+ var Interface$0 = $TS($S($EXPECT($L206, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12756
12812
  return { $loc, token: $1 };
12757
12813
  });
12758
12814
  function Interface(ctx, state) {
12759
12815
  return $EVENT(ctx, state, "Interface", Interface$0);
12760
12816
  }
12761
- var Global$0 = $TS($S($EXPECT($L206, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12817
+ var Global$0 = $TS($S($EXPECT($L207, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12762
12818
  return { $loc, token: $1 };
12763
12819
  });
12764
12820
  function Global(ctx, state) {
12765
12821
  return $EVENT(ctx, state, "Global", Global$0);
12766
12822
  }
12767
- var Module$0 = $TS($S($EXPECT($L207, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12823
+ var Module$0 = $TS($S($EXPECT($L208, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12768
12824
  return { $loc, token: $1 };
12769
12825
  });
12770
12826
  function Module(ctx, state) {
12771
12827
  return $EVENT(ctx, state, "Module", Module$0);
12772
12828
  }
12773
- var Namespace$0 = $TS($S($EXPECT($L208, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12829
+ var Namespace$0 = $TS($S($EXPECT($L209, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12774
12830
  return { $loc, token: $1 };
12775
12831
  });
12776
12832
  function Namespace(ctx, state) {
@@ -13043,7 +13099,7 @@ ${input.slice(result.pos)}
13043
13099
  function ReturnTypeSuffix(ctx, state) {
13044
13100
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
13045
13101
  }
13046
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L209, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
13102
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L210, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
13047
13103
  var asserts = $1;
13048
13104
  var t = $2;
13049
13105
  if (asserts) {
@@ -13064,7 +13120,7 @@ ${input.slice(result.pos)}
13064
13120
  function ReturnType(ctx, state) {
13065
13121
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
13066
13122
  }
13067
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L154, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
13123
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L155, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
13068
13124
  var lhs = $1;
13069
13125
  var rhs = $2;
13070
13126
  if (!rhs)
@@ -13122,9 +13178,9 @@ ${input.slice(result.pos)}
13122
13178
  function TypeUnarySuffix(ctx, state) {
13123
13179
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
13124
13180
  }
13125
- var TypeUnaryOp$0 = $S($EXPECT($L210, 'TypeUnaryOp "keyof"'), NonIdContinue);
13126
- var TypeUnaryOp$1 = $S($EXPECT($L211, 'TypeUnaryOp "infer"'), NonIdContinue);
13127
- var TypeUnaryOp$2 = $S($EXPECT($L171, 'TypeUnaryOp "readonly"'), NonIdContinue);
13181
+ var TypeUnaryOp$0 = $S($EXPECT($L211, 'TypeUnaryOp "keyof"'), NonIdContinue);
13182
+ var TypeUnaryOp$1 = $S($EXPECT($L212, 'TypeUnaryOp "infer"'), NonIdContinue);
13183
+ var TypeUnaryOp$2 = $S($EXPECT($L172, 'TypeUnaryOp "readonly"'), NonIdContinue);
13128
13184
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1, TypeUnaryOp$2];
13129
13185
  function TypeUnaryOp(ctx, state) {
13130
13186
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
@@ -13154,7 +13210,7 @@ ${input.slice(result.pos)}
13154
13210
  function TypeIndexedAccess(ctx, state) {
13155
13211
  return $EVENT_C(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$$);
13156
13212
  }
13157
- var UnknownAlias$0 = $TV($EXPECT($L212, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
13213
+ var UnknownAlias$0 = $TV($EXPECT($L213, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
13158
13214
  return { $loc, token: "unknown" };
13159
13215
  });
13160
13216
  function UnknownAlias(ctx, state) {
@@ -13363,10 +13419,10 @@ ${input.slice(result.pos)}
13363
13419
  }
13364
13420
  var TypeLiteral$0 = TypeTemplateLiteral;
13365
13421
  var TypeLiteral$1 = Literal;
13366
- var TypeLiteral$2 = $TS($S($EXPECT($L193, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13422
+ var TypeLiteral$2 = $TS($S($EXPECT($L194, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13367
13423
  return { type: "VoidType", $loc, token: $1 };
13368
13424
  });
13369
- var TypeLiteral$3 = $TV($EXPECT($L213, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13425
+ var TypeLiteral$3 = $TV($EXPECT($L214, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13370
13426
  return { $loc, token: "[]" };
13371
13427
  });
13372
13428
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3];
@@ -13385,7 +13441,7 @@ ${input.slice(result.pos)}
13385
13441
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
13386
13442
  return value[1];
13387
13443
  });
13388
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L14, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L116, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L38, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L29, 'InlineInterfacePropertyDelimiter "}"'))));
13444
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L14, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L117, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L38, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L29, 'InlineInterfacePropertyDelimiter "}"'))));
13389
13445
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
13390
13446
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
13391
13447
  function InlineInterfacePropertyDelimiter(ctx, state) {
@@ -13449,11 +13505,11 @@ ${input.slice(result.pos)}
13449
13505
  function TypeParameters(ctx, state) {
13450
13506
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
13451
13507
  }
13452
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L153, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13508
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L154, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13453
13509
  function TypeParameter(ctx, state) {
13454
13510
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
13455
13511
  }
13456
- var TypeConstraint$0 = $S(__, $EXPECT($L142, 'TypeConstraint "extends"'), NonIdContinue, Type);
13512
+ var TypeConstraint$0 = $S(__, $EXPECT($L143, 'TypeConstraint "extends"'), NonIdContinue, Type);
13457
13513
  function TypeConstraint(ctx, state) {
13458
13514
  return $EVENT(ctx, state, "TypeConstraint", TypeConstraint$0);
13459
13515
  }
@@ -13492,7 +13548,7 @@ ${input.slice(result.pos)}
13492
13548
  function CivetPrologue(ctx, state) {
13493
13549
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
13494
13550
  }
13495
- var CivetPrologueContent$0 = $TS($S($EXPECT($L214, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R85, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13551
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L215, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R85, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13496
13552
  var options = $3;
13497
13553
  return {
13498
13554
  type: "CivetPrologue",
@@ -13975,9 +14031,9 @@ ${input.slice(result.pos)}
13975
14031
  preludeVar,
13976
14032
  ref,
13977
14033
  typeSuffix,
13978
- " = (lhs, rhs) => ((rhs",
14034
+ " = (lhs, rhs) => (((rhs",
13979
14035
  asAny,
13980
- ")?.[Symbol.isConcatSpreadable] ? (lhs",
14036
+ ")?.[Symbol.isConcatSpreadable] ?? Array.isArray(rhs)) ? (lhs",
13981
14037
  asAny,
13982
14038
  ").push.apply(lhs, rhs",
13983
14039
  asAny,
@@ -14179,20 +14235,20 @@ ${input.slice(result.pos)}
14179
14235
  function Dedented(ctx, state) {
14180
14236
  return $EVENT(ctx, state, "Dedented", Dedented$0);
14181
14237
  }
14182
- var parser2 = function() {
14238
+ var parser = function() {
14183
14239
  const { fail, validate, reset } = Validator();
14184
14240
  let ctx = { expectation: "", fail };
14185
14241
  return {
14186
14242
  parse: (input, options = {}) => {
14187
14243
  if (typeof input !== "string")
14188
14244
  throw new Error("Input must be a string");
14189
- const parser3 = options.startRule != null ? grammar[options.startRule] : Object.values(grammar)[0];
14190
- if (!parser3)
14245
+ const parser2 = options.startRule != null ? grammar[options.startRule] : Object.values(grammar)[0];
14246
+ if (!parser2)
14191
14247
  throw new Error(`Could not find rule with name '${options.startRule}'`);
14192
14248
  const filename = options.filename || "<anonymous>";
14193
14249
  reset();
14194
14250
  Object.assign(ctx, { ...options.events, tokenize: options.tokenize });
14195
- return validate(input, parser3(ctx, {
14251
+ return validate(input, parser2(ctx, {
14196
14252
  input,
14197
14253
  pos: 0
14198
14254
  }), {
@@ -14201,8 +14257,8 @@ ${input.slice(result.pos)}
14201
14257
  }
14202
14258
  };
14203
14259
  }();
14204
- exports.default = parser2;
14205
- exports.parse = parser2.parse;
14260
+ exports.default = parser;
14261
+ exports.parse = parser.parse;
14206
14262
  exports.Program = Program;
14207
14263
  exports.TopLevelStatements = TopLevelStatements;
14208
14264
  exports.NestedTopLevelStatements = NestedTopLevelStatements;
@@ -14248,6 +14304,7 @@ ${input.slice(result.pos)}
14248
14304
  exports.UnaryWithoutParenthesizedAssignmentBody = UnaryWithoutParenthesizedAssignmentBody;
14249
14305
  exports.UnaryPostfix = UnaryPostfix;
14250
14306
  exports.TypePostfix = TypePostfix;
14307
+ exports.NWTypePostfix = NWTypePostfix;
14251
14308
  exports.UpdateExpression = UpdateExpression;
14252
14309
  exports.UpdateExpressionSymbol = UpdateExpressionSymbol;
14253
14310
  exports.AssignmentExpression = AssignmentExpression;
@@ -14360,6 +14417,7 @@ ${input.slice(result.pos)}
14360
14417
  exports.OperatorDeclaration = OperatorDeclaration;
14361
14418
  exports.OperatorSignature = OperatorSignature;
14362
14419
  exports.AmpersandBlockRHS = AmpersandBlockRHS;
14420
+ exports.AmpersandTypeSuffix = AmpersandTypeSuffix;
14363
14421
  exports.AmpersandBlockRHSBody = AmpersandBlockRHSBody;
14364
14422
  exports.ThinArrowFunction = ThinArrowFunction;
14365
14423
  exports.Arrow = Arrow;
@@ -14416,8 +14474,10 @@ ${input.slice(result.pos)}
14416
14474
  exports.NestedImplicitPropertyDefinition = NestedImplicitPropertyDefinition;
14417
14475
  exports.NestedPropertyDefinitions = NestedPropertyDefinitions;
14418
14476
  exports.NestedPropertyDefinition = NestedPropertyDefinition;
14477
+ exports.ImplicitObjectLiteral = ImplicitObjectLiteral;
14478
+ exports.ImplicitObjectPropertyDelimiter = ImplicitObjectPropertyDelimiter;
14419
14479
  exports.InlineObjectLiteral = InlineObjectLiteral;
14420
- exports.ImplicitInlineObjectPropertyDelimiter = ImplicitInlineObjectPropertyDelimiter;
14480
+ exports.InlineObjectPropertyDelimiter = InlineObjectPropertyDelimiter;
14421
14481
  exports.ObjectPropertyDelimiter = ObjectPropertyDelimiter;
14422
14482
  exports.PropertyDefinition = PropertyDefinition;
14423
14483
  exports.NamedProperty = NamedProperty;
@@ -14932,7 +14992,7 @@ ${input.slice(result.pos)}
14932
14992
  generate: () => generate_default,
14933
14993
  isCompileError: () => isCompileError,
14934
14994
  lib: () => lib_exports,
14935
- parse: () => parse2,
14995
+ parse: () => import_parser.parse,
14936
14996
  prune: () => prune2,
14937
14997
  util: () => util_exports
14938
14998
  });
@@ -15396,7 +15456,6 @@ ${input.slice(result.pos)}
15396
15456
  };
15397
15457
 
15398
15458
  // source/main.civet
15399
- var { parse: parse2 } = import_parser.default;
15400
15459
  var { SourceMap: SourceMap2 } = util_exports;
15401
15460
  var uncacheable = /* @__PURE__ */ new Set([
15402
15461
  // Meta
@@ -15458,8 +15517,8 @@ ${input.slice(result.pos)}
15458
15517
  }
15459
15518
  let ast;
15460
15519
  try {
15461
- parse2.config = options.parseOptions || {};
15462
- ast = prune2(parse2(src, {
15520
+ import_parser.parse.config = options.parseOptions || {};
15521
+ ast = prune2((0, import_parser.parse)(src, {
15463
15522
  filename,
15464
15523
  events
15465
15524
  }));
@@ -15568,7 +15627,7 @@ ${counts}`;
15568
15627
  const key = [tagKey, stateKey, state.pos, ruleName];
15569
15628
  stateCache.set(key, result);
15570
15629
  }
15571
- if (parse2.config.verbose && result) {
15630
+ if (import_parser.parse.config.verbose && result) {
15572
15631
  console.log(`Parsed ${JSON.stringify(state.input.slice(state.pos, result.pos))} [pos ${state.pos}-${result.pos}] as ${ruleName}`);
15573
15632
  }
15574
15633
  if (trace) {
@@ -15584,6 +15643,6 @@ ${counts}`;
15584
15643
  return err instanceof Error && //@ts-ignore
15585
15644
  [err.message, err.name, err.filename, err.line, err.column, err.offset].every(($1) => $1 !== void 0);
15586
15645
  };
15587
- var main_default = { parse: parse2, generate: generate_default, util: util_exports, compile, isCompileError };
15646
+ var main_default = { parse: import_parser.parse, generate: generate_default, util: util_exports, compile, isCompileError };
15588
15647
  return __toCommonJS(main_exports);
15589
15648
  })();