@danielx/civet 0.6.69 → 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 || [],
@@ -685,7 +710,7 @@ var Civet = (() => {
685
710
  commaCount ? {
686
711
  type: "ParenthesizedExpression",
687
712
  children: ["(", call, ")"]
688
- } : call
713
+ } : { ...call, type: "ParenthesizedExpression" }
689
714
  );
690
715
  }
691
716
  }
@@ -1958,7 +1983,7 @@ var Civet = (() => {
1958
1983
  children
1959
1984
  };
1960
1985
  }
1961
- function makeGetterMethod(name, ws, value, block, kind = { token: "get" }, autoReturn = true) {
1986
+ function makeGetterMethod(name, ws, value, returnType, block, kind = { token: "get" }, autoReturn = true) {
1962
1987
  const { token } = kind;
1963
1988
  ws = insertTrimmingSpace(ws, "");
1964
1989
  let setVal;
@@ -1989,7 +2014,7 @@ var Civet = (() => {
1989
2014
  const finalStatement = token === "get" ? [[expressions[0]?.[0] || "", ws], wrapWithReturn(value)] : [[expressions[0]?.[0] || "", ws], [value, " = ", setVal]];
1990
2015
  expressions.push(finalStatement);
1991
2016
  }
1992
- const children = [kind, " ", name, parameters, block];
2017
+ const children = [kind, " ", name, parameters, returnType, block];
1993
2018
  return {
1994
2019
  type: "MethodDefinition",
1995
2020
  children,
@@ -2002,7 +2027,7 @@ var Civet = (() => {
2002
2027
  async: false
2003
2028
  },
2004
2029
  name,
2005
- returnType: void 0
2030
+ returnType
2006
2031
  },
2007
2032
  block,
2008
2033
  parameters
@@ -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 {
@@ -5814,12 +5834,17 @@ ${input.slice(result.pos)}
5814
5834
  }
5815
5835
  var PipelineTailItem$0 = Await;
5816
5836
  var PipelineTailItem$1 = Yield;
5817
- var PipelineTailItem$2 = Return;
5818
- var PipelineTailItem$3 = AmpersandFunctionExpression;
5819
- var PipelineTailItem$4 = $T($S($N(Ampersand), PipelineHeadItem), function(value) {
5837
+ var PipelineTailItem$2 = $T($S(Return, $N(AccessStart)), function(value) {
5838
+ return value[0];
5839
+ });
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) {
5820
5845
  return value[1];
5821
5846
  });
5822
- 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];
5823
5848
  function PipelineTailItem(ctx, state) {
5824
5849
  return $EVENT_C(ctx, state, "PipelineTailItem", PipelineTailItem$$);
5825
5850
  }
@@ -6048,7 +6073,7 @@ ${input.slice(result.pos)}
6048
6073
  var ClassElement$0 = $TS($S($E(Decorators), $E(AccessModifier), $E($S(Static, $E(_))), ClassElementDefinition), function($skip, $loc, $0, $1, $2, $3, $4) {
6049
6074
  var decorators = $1;
6050
6075
  var definition = $4;
6051
- if (definition.type === "ShorthandMethodDefinition") {
6076
+ if (definition.type === "MultiMethodDefinition") {
6052
6077
  return {
6053
6078
  ...definition,
6054
6079
  children: definition.children.map((c) => {
@@ -7207,27 +7232,7 @@ ${input.slice(result.pos)}
7207
7232
  };
7208
7233
  });
7209
7234
  var FunctionExpression$1 = $TV($EXPECT($L26, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
7210
- const ref = makeRef("$"), body = [ref];
7211
- const parameters = {
7212
- type: "Parameters",
7213
- children: [ref],
7214
- names: []
7215
- };
7216
- const block = {
7217
- expressions: [ref]
7218
- };
7219
- return {
7220
- type: "ArrowFunction",
7221
- signature: {
7222
- modifier: {}
7223
- },
7224
- children: [parameters, " => ", body],
7225
- ref,
7226
- body,
7227
- ampersandBlock: true,
7228
- block,
7229
- parameters
7230
- };
7235
+ return makeAmpersandFunction();
7231
7236
  });
7232
7237
  var FunctionExpression$2 = $TS($S(OpenParen, BinaryOp, CloseParen), function($skip, $loc, $0, $1, $2, $3) {
7233
7238
  var open = $1;
@@ -7351,15 +7356,11 @@ ${input.slice(result.pos)}
7351
7356
  var rhs = $3;
7352
7357
  if (!prefix.length && !rhs)
7353
7358
  return $skip;
7354
- let body, ref;
7359
+ let body, ref, typeSuffix;
7355
7360
  if (!rhs) {
7356
7361
  body = ref = makeRef("$");
7357
7362
  } else {
7358
- let exp = rhs;
7359
- while (!exp.ref && exp.expression) {
7360
- exp = exp.expression;
7361
- }
7362
- ({ ref } = exp);
7363
+ ({ ref, typeSuffix } = rhs);
7363
7364
  if (!ref) {
7364
7365
  throw new Error("Could not find ref in ampersand shorthand block");
7365
7366
  }
@@ -7373,7 +7374,7 @@ ${input.slice(result.pos)}
7373
7374
  }
7374
7375
  const parameters = {
7375
7376
  type: "Parameters",
7376
- children: [ref],
7377
+ children: typeSuffix ? ["(", ref, typeSuffix, ")"] : [ref],
7377
7378
  names: []
7378
7379
  };
7379
7380
  const expressions = [body];
@@ -7473,12 +7474,19 @@ ${input.slice(result.pos)}
7473
7474
  function AmpersandBlockRHS(ctx, state) {
7474
7475
  return $EVENT(ctx, state, "AmpersandBlockRHS", AmpersandBlockRHS$0);
7475
7476
  }
7476
- 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) {
7477
- var callExpRest = $1;
7478
- var unaryPostfix = $2;
7479
- var assign = $3;
7480
- var binopRHS = $4;
7481
- 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)
7482
7490
  return $skip;
7483
7491
  const ref = makeRef("$");
7484
7492
  let exp = {
@@ -7505,16 +7513,16 @@ ${input.slice(result.pos)}
7505
7513
  names: null,
7506
7514
  lhs,
7507
7515
  assigned: exp,
7508
- exp: rhs,
7509
- ref
7516
+ exp: rhs
7510
7517
  };
7511
7518
  }
7512
7519
  if (binopRHS) {
7513
7520
  exp = {
7514
- children: processBinaryOpExpression([exp, binopRHS[1]]),
7515
- ref
7521
+ children: processBinaryOpExpression([exp, binopRHS[1]])
7516
7522
  };
7517
7523
  }
7524
+ exp.ref = ref;
7525
+ exp.typeSuffix = typeSuffix;
7518
7526
  return exp;
7519
7527
  });
7520
7528
  function AmpersandBlockRHSBody(ctx, state) {
@@ -7786,13 +7794,12 @@ ${input.slice(result.pos)}
7786
7794
  return block;
7787
7795
  });
7788
7796
  var NonSingleBracedBlock$1 = ImplicitNestedBlock;
7789
- var NonSingleBracedBlock$2 = $TS($S(InsertOpenBrace, $Y(EOS), ObjectLiteral, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
7790
- var s = $3;
7797
+ var NonSingleBracedBlock$2 = $TS($S(InsertOpenBrace, NestedImplicitObjectLiteral, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3) {
7798
+ var s = $2;
7791
7799
  return {
7792
7800
  type: "BlockStatement",
7793
7801
  expressions: [s],
7794
- // Remove &EOS assertion
7795
- children: [$1, s, $3]
7802
+ children: $0
7796
7803
  };
7797
7804
  });
7798
7805
  var NonSingleBracedBlock$$ = [NonSingleBracedBlock$0, NonSingleBracedBlock$1, NonSingleBracedBlock$2];
@@ -8190,7 +8197,10 @@ ${input.slice(result.pos)}
8190
8197
  return $EVENT(ctx, state, "ElementListRest", ElementListRest$0);
8191
8198
  }
8192
8199
  var ArrayElementExpression$0 = JSXTag;
8193
- 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) {
8194
8204
  var exp = $1;
8195
8205
  var ws = $2;
8196
8206
  var dots = $3;
@@ -8203,7 +8213,7 @@ ${input.slice(result.pos)}
8203
8213
  names: exp.names
8204
8214
  };
8205
8215
  });
8206
- 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) {
8207
8217
  var expMaybeSpread = $1;
8208
8218
  if (expMaybeSpread) {
8209
8219
  const [spread, exp] = expMaybeSpread;
@@ -8226,7 +8236,7 @@ ${input.slice(result.pos)}
8226
8236
  children: []
8227
8237
  };
8228
8238
  });
8229
- var ArrayElementExpression$$ = [ArrayElementExpression$0, ArrayElementExpression$1, ArrayElementExpression$2];
8239
+ var ArrayElementExpression$$ = [ArrayElementExpression$0, ArrayElementExpression$1, ArrayElementExpression$2, ArrayElementExpression$3];
8230
8240
  function ArrayElementExpression(ctx, state) {
8231
8241
  return $EVENT_C(ctx, state, "ArrayElementExpression", ArrayElementExpression$$);
8232
8242
  }
@@ -8290,8 +8300,10 @@ ${input.slice(result.pos)}
8290
8300
  function BracedObjectLiteralContent(ctx, state) {
8291
8301
  return $EVENT_C(ctx, state, "BracedObjectLiteralContent", BracedObjectLiteralContent$$);
8292
8302
  }
8293
- var NestedImplicitObjectLiteral$0 = $TS($S(InsertOpenBrace, NestedImplicitPropertyDefinitions, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8294
- 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;
8295
8307
  return {
8296
8308
  type: "ObjectExpression",
8297
8309
  properties,
@@ -8301,10 +8313,8 @@ ${input.slice(result.pos)}
8301
8313
  function NestedImplicitObjectLiteral(ctx, state) {
8302
8314
  return $EVENT(ctx, state, "NestedImplicitObjectLiteral", NestedImplicitObjectLiteral$0);
8303
8315
  }
8304
- var NestedImplicitPropertyDefinitions$0 = $TS($S(PushIndent, $Q(NestedImplicitPropertyDefinition), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
8305
- var defs = $2;
8306
- if (!defs.length)
8307
- return $skip;
8316
+ var NestedImplicitPropertyDefinitions$0 = $TV($P(NestedImplicitPropertyDefinition), function($skip, $loc, $0, $1) {
8317
+ var defs = $0;
8308
8318
  return defs.flat();
8309
8319
  });
8310
8320
  function NestedImplicitPropertyDefinitions(ctx, state) {
@@ -8356,7 +8366,7 @@ ${input.slice(result.pos)}
8356
8366
  function NestedPropertyDefinition(ctx, state) {
8357
8367
  return $EVENT(ctx, state, "NestedPropertyDefinition", NestedPropertyDefinition$0);
8358
8368
  }
8359
- 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) {
8360
8370
  var open = $1;
8361
8371
  var first = $2;
8362
8372
  var rest = $3;
@@ -8367,16 +8377,34 @@ ${input.slice(result.pos)}
8367
8377
  children: [open, first, ...rest, trailing, close]
8368
8378
  };
8369
8379
  });
8370
- function InlineObjectLiteral(ctx, state) {
8371
- return $EVENT(ctx, state, "InlineObjectLiteral", InlineObjectLiteral$0);
8380
+ function ImplicitObjectLiteral(ctx, state) {
8381
+ return $EVENT(ctx, state, "ImplicitObjectLiteral", ImplicitObjectLiteral$0);
8372
8382
  }
8373
- var ImplicitInlineObjectPropertyDelimiter$0 = $S($E(_), Comma, $C(NotDedented, $E(_)));
8374
- 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) {
8375
8385
  return [value[1], value[2]];
8376
8386
  });
8377
- var ImplicitInlineObjectPropertyDelimiter$$ = [ImplicitInlineObjectPropertyDelimiter$0, ImplicitInlineObjectPropertyDelimiter$1];
8378
- function ImplicitInlineObjectPropertyDelimiter(ctx, state) {
8379
- 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);
8380
8408
  }
8381
8409
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
8382
8410
  var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L29, 'ObjectPropertyDelimiter "}"')));
@@ -8411,6 +8439,11 @@ ${input.slice(result.pos)}
8411
8439
  var PropertyDefinition$2 = $TS($S($E(_), MethodDefinition), function($skip, $loc, $0, $1, $2) {
8412
8440
  var ws = $1;
8413
8441
  var def = $2;
8442
+ if (def.type === "MultiMethodDefinition") {
8443
+ return {
8444
+ children: def.children.flatMap((c, i) => i ? [",", c] : [c])
8445
+ };
8446
+ }
8414
8447
  if (!def.block || def.block.empty)
8415
8448
  return $skip;
8416
8449
  return {
@@ -8645,16 +8678,16 @@ ${input.slice(result.pos)}
8645
8678
  parameters: signature.parameters
8646
8679
  };
8647
8680
  });
8648
- var MethodDefinition$2 = $TS($S(GetOrSet, $E(_), ForbidIndentedApplication, $E($S(MemberBase, $Q(CallExpressionRest))), RestoreIndentedApplication, $E(BracedBlock)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8681
+ var MethodDefinition$2 = $TS($S(GetOrSet, $E(_), ForbidIndentedApplication, $E($S(MemberBase, $Q(CallExpressionRest), $E(ReturnTypeSuffix))), RestoreIndentedApplication, $E(BracedBlock)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8649
8682
  var kind = $1;
8650
8683
  var ws = $2;
8651
- var value = $4;
8684
+ var content = $4;
8652
8685
  var block = $6;
8653
- if (!value)
8686
+ if (!content)
8654
8687
  return $skip;
8655
- const rest = value[1];
8688
+ const [base, rest, returnType] = content;
8689
+ const value = [base, rest];
8656
8690
  if (!rest.length) {
8657
- const base = value[0];
8658
8691
  let name2;
8659
8692
  if (base.type === "MemberExpression") {
8660
8693
  const lastAccess2 = lastAccessInCallExpression(base);
@@ -8669,7 +8702,7 @@ ${input.slice(result.pos)}
8669
8702
  if (name2[0] === "#")
8670
8703
  name2 = name2.slice(1);
8671
8704
  const autoReturn = !block || base.type !== "Identifier";
8672
- return makeGetterMethod(name2, ws, base, block, kind, autoReturn);
8705
+ return makeGetterMethod(name2, ws, base, returnType, block, kind, autoReturn);
8673
8706
  }
8674
8707
  let last = rest[rest.length - 1];
8675
8708
  while (Array.isArray(last)) {
@@ -8680,10 +8713,10 @@ ${input.slice(result.pos)}
8680
8713
  return $skip;
8681
8714
  case "PropertyAccess":
8682
8715
  const { name: name2 } = last;
8683
- return makeGetterMethod(name2, ws, value, block, kind);
8716
+ return makeGetterMethod(name2, ws, value, returnType, block, kind);
8684
8717
  case "PropertyGlob":
8685
8718
  return {
8686
- type: "ShorthandMethodDefinition",
8719
+ type: "MultiMethodDefinition",
8687
8720
  children: last.object.properties.map((p) => {
8688
8721
  const { name: name3, type } = p;
8689
8722
  let v;
@@ -8697,7 +8730,7 @@ ${input.slice(result.pos)}
8697
8730
  }
8698
8731
  const exp = processCallMemberExpression({
8699
8732
  type: "CallExpression",
8700
- children: [value[0], ...value[1].slice(0, -1), {
8733
+ children: [base, ...rest.slice(0, -1), {
8701
8734
  type: "PropertyAccess",
8702
8735
  children: [last.dot, {
8703
8736
  ...v,
@@ -8706,13 +8739,13 @@ ${input.slice(result.pos)}
8706
8739
  }]
8707
8740
  }]
8708
8741
  });
8709
- return makeGetterMethod(name3, ws, exp, block, kind);
8742
+ return makeGetterMethod(name3, ws, exp, returnType, block, kind);
8710
8743
  })
8711
8744
  };
8712
8745
  }
8713
8746
  const lastAccess = lastAccessInCallExpression({ children: rest });
8714
8747
  const { name } = lastAccess;
8715
- return makeGetterMethod(name, ws, value, block, kind);
8748
+ return makeGetterMethod(name, ws, value, returnType, block, kind);
8716
8749
  });
8717
8750
  var MethodDefinition$$ = [MethodDefinition$0, MethodDefinition$1, MethodDefinition$2];
8718
8751
  function MethodDefinition(ctx, state) {
@@ -9262,8 +9295,11 @@ ${input.slice(result.pos)}
9262
9295
  return $EVENT_C(ctx, state, "ModuleItem", ModuleItem$$);
9263
9296
  }
9264
9297
  var StatementListItem$0 = Declaration;
9265
- var StatementListItem$1 = PostfixedStatement;
9266
- 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];
9267
9303
  function StatementListItem(ctx, state) {
9268
9304
  return $EVENT_C(ctx, state, "StatementListItem", StatementListItem$$);
9269
9305
  }
@@ -9369,7 +9405,7 @@ ${input.slice(result.pos)}
9369
9405
  function NoCommaStatement(ctx, state) {
9370
9406
  return $EVENT_C(ctx, state, "NoCommaStatement", NoCommaStatement$$);
9371
9407
  }
9372
- 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) {
9373
9409
  return { type: "EmptyStatement", children: $1 || [] };
9374
9410
  });
9375
9411
  function EmptyStatement(ctx, state) {
@@ -9400,7 +9436,7 @@ ${input.slice(result.pos)}
9400
9436
  var w = $3;
9401
9437
  return [id, colon, w];
9402
9438
  });
9403
- var Label$1 = $S($EXPECT($L104, 'Label "$:"'), Whitespace);
9439
+ var Label$1 = $S($EXPECT($L103, 'Label "$:"'), Whitespace);
9404
9440
  var Label$$ = [Label$0, Label$1];
9405
9441
  function Label(ctx, state) {
9406
9442
  return $EVENT_C(ctx, state, "Label", Label$$);
@@ -10558,16 +10594,26 @@ ${input.slice(result.pos)}
10558
10594
  function MaybeNestedExpression(ctx, state) {
10559
10595
  return $EVENT_C(ctx, state, "MaybeNestedExpression", MaybeNestedExpression$$);
10560
10596
  }
10561
- 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) {
10562
10608
  return { "type": "ImportDeclaration", "ts": true, "children": value };
10563
10609
  });
10564
- 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) {
10565
10611
  return { "type": "ImportDeclaration", "children": value };
10566
10612
  });
10567
- var ImportDeclaration$2 = $T($S(Import, __, ModuleSpecifier, $E(ImportAssertion)), function(value) {
10613
+ var ImportDeclaration$3 = $T($S(Import, __, ModuleSpecifier, $E(ImportAssertion)), function(value) {
10568
10614
  return { "type": "ImportDeclaration", "children": value };
10569
10615
  });
10570
- 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) {
10571
10617
  var i = $1;
10572
10618
  var t = $2;
10573
10619
  var c = $3;
@@ -10583,7 +10629,7 @@ ${input.slice(result.pos)}
10583
10629
  return children;
10584
10630
  return { type: "ImportDeclaration", ts: true, children };
10585
10631
  });
10586
- var ImportDeclaration$$ = [ImportDeclaration$0, ImportDeclaration$1, ImportDeclaration$2, ImportDeclaration$3];
10632
+ var ImportDeclaration$$ = [ImportDeclaration$0, ImportDeclaration$1, ImportDeclaration$2, ImportDeclaration$3, ImportDeclaration$4];
10587
10633
  function ImportDeclaration(ctx, state) {
10588
10634
  return $EVENT_C(ctx, state, "ImportDeclaration", ImportDeclaration$$);
10589
10635
  }
@@ -10642,7 +10688,7 @@ ${input.slice(result.pos)}
10642
10688
  function FromClause(ctx, state) {
10643
10689
  return $EVENT(ctx, state, "FromClause", FromClause$0);
10644
10690
  }
10645
- 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);
10646
10692
  function ImportAssertion(ctx, state) {
10647
10693
  return $EVENT(ctx, state, "ImportAssertion", ImportAssertion$0);
10648
10694
  }
@@ -10716,10 +10762,17 @@ ${input.slice(result.pos)}
10716
10762
  return $EVENT_C(ctx, state, "ModuleExportName", ModuleExportName$$);
10717
10763
  }
10718
10764
  var ModuleSpecifier$0 = $TS($S(UnprocessedModuleSpecifier), function($skip, $loc, $0, $1) {
10719
- if (!module.config.rewriteTsImports)
10720
- return $1;
10721
- const { token } = $1;
10722
- 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 };
10723
10776
  });
10724
10777
  function ModuleSpecifier(ctx, state) {
10725
10778
  return $EVENT(ctx, state, "ModuleSpecifier", ModuleSpecifier$0);
@@ -10741,18 +10794,28 @@ ${input.slice(result.pos)}
10741
10794
  function ImportedBinding(ctx, state) {
10742
10795
  return $EVENT(ctx, state, "ImportedBinding", ImportedBinding$0);
10743
10796
  }
10744
- 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) {
10745
10808
  var declaration = $6;
10746
10809
  return { type: "ExportDeclaration", declaration, children: $0 };
10747
10810
  });
10748
- 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) {
10749
10812
  return { type: "ExportDeclaration", ts: $3.ts, children: $0 };
10750
10813
  });
10751
- 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) {
10752
10815
  var declaration = $4;
10753
10816
  return { type: "ExportDeclaration", declaration, ts: declaration.ts, children: $0 };
10754
10817
  });
10755
- var ExportDeclaration$$ = [ExportDeclaration$0, ExportDeclaration$1, ExportDeclaration$2];
10818
+ var ExportDeclaration$$ = [ExportDeclaration$0, ExportDeclaration$1, ExportDeclaration$2, ExportDeclaration$3];
10756
10819
  function ExportDeclaration(ctx, state) {
10757
10820
  return $EVENT_C(ctx, state, "ExportDeclaration", ExportDeclaration$$);
10758
10821
  }
@@ -10780,7 +10843,7 @@ ${input.slice(result.pos)}
10780
10843
  return $EVENT(ctx, state, "TypeAndNamedExports", TypeAndNamedExports$0);
10781
10844
  }
10782
10845
  var NamedExports$0 = $S(OpenBrace, $Q(ExportSpecifier), $E($S(__, Comma)), __, CloseBrace);
10783
- 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) {
10784
10847
  var open = $1;
10785
10848
  var first = $2;
10786
10849
  var rest = $3;
@@ -10862,13 +10925,13 @@ ${input.slice(result.pos)}
10862
10925
  function LexicalDeclaration(ctx, state) {
10863
10926
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
10864
10927
  }
10865
- 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) {
10866
10929
  return { $loc, token: "=" };
10867
10930
  });
10868
10931
  function ConstAssignment(ctx, state) {
10869
10932
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
10870
10933
  }
10871
- 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) {
10872
10935
  return { $loc, token: "=" };
10873
10936
  });
10874
10937
  function LetAssignment(ctx, state) {
@@ -11274,7 +11337,7 @@ ${input.slice(result.pos)}
11274
11337
  function MultiLineComment(ctx, state) {
11275
11338
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
11276
11339
  }
11277
- 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) {
11278
11341
  return { type: "Comment", $loc, token: $1 };
11279
11342
  });
11280
11343
  function JSMultiLineComment(ctx, state) {
@@ -11320,7 +11383,7 @@ ${input.slice(result.pos)}
11320
11383
  var NonNewlineWhitespace$0 = $TR($EXPECT($R65, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11321
11384
  return { $loc, token: $0 };
11322
11385
  });
11323
- 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) {
11324
11387
  return " ";
11325
11388
  });
11326
11389
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
@@ -11366,7 +11429,7 @@ ${input.slice(result.pos)}
11366
11429
  }
11367
11430
  var StatementDelimiter$0 = $Y(EOS);
11368
11431
  var StatementDelimiter$1 = SemicolonDelimiter;
11369
- 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 "]"'))));
11370
11433
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2];
11371
11434
  function StatementDelimiter(ctx, state) {
11372
11435
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -11390,7 +11453,7 @@ ${input.slice(result.pos)}
11390
11453
  function Loc(ctx, state) {
11391
11454
  return $EVENT(ctx, state, "Loc", Loc$0);
11392
11455
  }
11393
- 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) {
11394
11457
  return { $loc, token: $1, ts: true };
11395
11458
  });
11396
11459
  function Abstract(ctx, state) {
@@ -11402,43 +11465,43 @@ ${input.slice(result.pos)}
11402
11465
  function Ampersand(ctx, state) {
11403
11466
  return $EVENT(ctx, state, "Ampersand", Ampersand$0);
11404
11467
  }
11405
- 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) {
11406
11469
  return { $loc, token: $1 };
11407
11470
  });
11408
11471
  function As(ctx, state) {
11409
11472
  return $EVENT(ctx, state, "As", As$0);
11410
11473
  }
11411
- 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) {
11412
11475
  return { $loc, token: $1 };
11413
11476
  });
11414
11477
  function At(ctx, state) {
11415
11478
  return $EVENT(ctx, state, "At", At$0);
11416
11479
  }
11417
- 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) {
11418
11481
  return { $loc, token: "@" };
11419
11482
  });
11420
11483
  function AtAt(ctx, state) {
11421
11484
  return $EVENT(ctx, state, "AtAt", AtAt$0);
11422
11485
  }
11423
- 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) {
11424
11487
  return { $loc, token: $1, type: "Async" };
11425
11488
  });
11426
11489
  function Async(ctx, state) {
11427
11490
  return $EVENT(ctx, state, "Async", Async$0);
11428
11491
  }
11429
- 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) {
11430
11493
  return { $loc, token: $1, type: "Await" };
11431
11494
  });
11432
11495
  function Await(ctx, state) {
11433
11496
  return $EVENT(ctx, state, "Await", Await$0);
11434
11497
  }
11435
- 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) {
11436
11499
  return { $loc, token: $1 };
11437
11500
  });
11438
11501
  function Backtick(ctx, state) {
11439
11502
  return $EVENT(ctx, state, "Backtick", Backtick$0);
11440
11503
  }
11441
- 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) {
11442
11505
  return { $loc, token: $1 };
11443
11506
  });
11444
11507
  function By(ctx, state) {
@@ -11450,19 +11513,19 @@ ${input.slice(result.pos)}
11450
11513
  function Caret(ctx, state) {
11451
11514
  return $EVENT(ctx, state, "Caret", Caret$0);
11452
11515
  }
11453
- 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) {
11454
11517
  return { $loc, token: $1 };
11455
11518
  });
11456
11519
  function Case(ctx, state) {
11457
11520
  return $EVENT(ctx, state, "Case", Case$0);
11458
11521
  }
11459
- 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) {
11460
11523
  return { $loc, token: $1 };
11461
11524
  });
11462
11525
  function Catch(ctx, state) {
11463
11526
  return $EVENT(ctx, state, "Catch", Catch$0);
11464
11527
  }
11465
- 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) {
11466
11529
  return { $loc, token: $1 };
11467
11530
  });
11468
11531
  function Class(ctx, state) {
@@ -11486,13 +11549,13 @@ ${input.slice(result.pos)}
11486
11549
  function CloseBracket(ctx, state) {
11487
11550
  return $EVENT(ctx, state, "CloseBracket", CloseBracket$0);
11488
11551
  }
11489
- 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) {
11490
11553
  return { $loc, token: $1 };
11491
11554
  });
11492
11555
  function CloseParen(ctx, state) {
11493
11556
  return $EVENT(ctx, state, "CloseParen", CloseParen$0);
11494
11557
  }
11495
- 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) {
11496
11559
  return { $loc, token: "${" };
11497
11560
  });
11498
11561
  function CoffeeSubstitutionStart(ctx, state) {
@@ -11510,31 +11573,31 @@ ${input.slice(result.pos)}
11510
11573
  function Comma(ctx, state) {
11511
11574
  return $EVENT(ctx, state, "Comma", Comma$0);
11512
11575
  }
11513
- 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) {
11514
11577
  return { $loc, token: "constructor" };
11515
11578
  });
11516
11579
  function ConstructorShorthand(ctx, state) {
11517
11580
  return $EVENT(ctx, state, "ConstructorShorthand", ConstructorShorthand$0);
11518
11581
  }
11519
- 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) {
11520
11583
  return { $loc, token: $1 };
11521
11584
  });
11522
11585
  function Declare(ctx, state) {
11523
11586
  return $EVENT(ctx, state, "Declare", Declare$0);
11524
11587
  }
11525
- 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) {
11526
11589
  return { $loc, token: $1 };
11527
11590
  });
11528
11591
  function Default(ctx, state) {
11529
11592
  return $EVENT(ctx, state, "Default", Default$0);
11530
11593
  }
11531
- 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) {
11532
11595
  return { $loc, token: $1 };
11533
11596
  });
11534
11597
  function Delete(ctx, state) {
11535
11598
  return $EVENT(ctx, state, "Delete", Delete$0);
11536
11599
  }
11537
- 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) {
11538
11601
  return { $loc, token: $1 };
11539
11602
  });
11540
11603
  function Do(ctx, state) {
@@ -11554,45 +11617,45 @@ ${input.slice(result.pos)}
11554
11617
  function Dot(ctx, state) {
11555
11618
  return $EVENT_C(ctx, state, "Dot", Dot$$);
11556
11619
  }
11557
- 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) {
11558
11621
  return { $loc, token: $1 };
11559
11622
  });
11560
- 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) {
11561
11624
  return { $loc, token: ".." };
11562
11625
  });
11563
11626
  var DotDot$$ = [DotDot$0, DotDot$1];
11564
11627
  function DotDot(ctx, state) {
11565
11628
  return $EVENT_C(ctx, state, "DotDot", DotDot$$);
11566
11629
  }
11567
- 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) {
11568
11631
  return { $loc, token: $1 };
11569
11632
  });
11570
- 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) {
11571
11634
  return { $loc, token: "..." };
11572
11635
  });
11573
11636
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
11574
11637
  function DotDotDot(ctx, state) {
11575
11638
  return $EVENT_C(ctx, state, "DotDotDot", DotDotDot$$);
11576
11639
  }
11577
- 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) {
11578
11641
  return { $loc, token: $1 };
11579
11642
  });
11580
11643
  function DoubleColon(ctx, state) {
11581
11644
  return $EVENT(ctx, state, "DoubleColon", DoubleColon$0);
11582
11645
  }
11583
- 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) {
11584
11647
  return { $loc, token: $1 };
11585
11648
  });
11586
11649
  function DoubleQuote(ctx, state) {
11587
11650
  return $EVENT(ctx, state, "DoubleQuote", DoubleQuote$0);
11588
11651
  }
11589
- 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) {
11590
11653
  return { $loc, token: $1 };
11591
11654
  });
11592
11655
  function Each(ctx, state) {
11593
11656
  return $EVENT(ctx, state, "Each", Each$0);
11594
11657
  }
11595
- 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) {
11596
11659
  return { $loc, token: $1 };
11597
11660
  });
11598
11661
  function Else(ctx, state) {
@@ -11610,55 +11673,55 @@ ${input.slice(result.pos)}
11610
11673
  function ExclamationPoint(ctx, state) {
11611
11674
  return $EVENT(ctx, state, "ExclamationPoint", ExclamationPoint$0);
11612
11675
  }
11613
- 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) {
11614
11677
  return { $loc, token: $1 };
11615
11678
  });
11616
11679
  function Export(ctx, state) {
11617
11680
  return $EVENT(ctx, state, "Export", Export$0);
11618
11681
  }
11619
- 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) {
11620
11683
  return { $loc, token: $1 };
11621
11684
  });
11622
11685
  function Extends(ctx, state) {
11623
11686
  return $EVENT(ctx, state, "Extends", Extends$0);
11624
11687
  }
11625
- 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) {
11626
11689
  return { $loc, token: $1 };
11627
11690
  });
11628
11691
  function Finally(ctx, state) {
11629
11692
  return $EVENT(ctx, state, "Finally", Finally$0);
11630
11693
  }
11631
- 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) {
11632
11695
  return { $loc, token: $1 };
11633
11696
  });
11634
11697
  function For(ctx, state) {
11635
11698
  return $EVENT(ctx, state, "For", For$0);
11636
11699
  }
11637
- 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) {
11638
11701
  return { $loc, token: $1 };
11639
11702
  });
11640
11703
  function From(ctx, state) {
11641
11704
  return $EVENT(ctx, state, "From", From$0);
11642
11705
  }
11643
- 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) {
11644
11707
  return { $loc, token: $1 };
11645
11708
  });
11646
11709
  function Function(ctx, state) {
11647
11710
  return $EVENT(ctx, state, "Function", Function$0);
11648
11711
  }
11649
- 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) {
11650
11713
  return { $loc, token: $1, type: "GetOrSet" };
11651
11714
  });
11652
11715
  function GetOrSet(ctx, state) {
11653
11716
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
11654
11717
  }
11655
- 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) {
11656
11719
  return { $loc, token: $1 };
11657
11720
  });
11658
11721
  function Hash(ctx, state) {
11659
11722
  return $EVENT(ctx, state, "Hash", Hash$0);
11660
11723
  }
11661
- 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) {
11662
11725
  return { $loc, token: $1 };
11663
11726
  });
11664
11727
  function If(ctx, state) {
@@ -11670,25 +11733,25 @@ ${input.slice(result.pos)}
11670
11733
  function Import(ctx, state) {
11671
11734
  return $EVENT(ctx, state, "Import", Import$0);
11672
11735
  }
11673
- 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) {
11674
11737
  return { $loc, token: $1 };
11675
11738
  });
11676
11739
  function In(ctx, state) {
11677
11740
  return $EVENT(ctx, state, "In", In$0);
11678
11741
  }
11679
- 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) {
11680
11743
  return { $loc, token: $1 };
11681
11744
  });
11682
11745
  function LetOrConst(ctx, state) {
11683
11746
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
11684
11747
  }
11685
- 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) {
11686
11749
  return { $loc, token: $1 };
11687
11750
  });
11688
11751
  function Const(ctx, state) {
11689
11752
  return $EVENT(ctx, state, "Const", Const$0);
11690
11753
  }
11691
- 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) {
11692
11755
  return { $loc, token: $1 };
11693
11756
  });
11694
11757
  function Is(ctx, state) {
@@ -11700,25 +11763,25 @@ ${input.slice(result.pos)}
11700
11763
  function LetOrConstOrVar(ctx, state) {
11701
11764
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
11702
11765
  }
11703
- 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) {
11704
11767
  return { $loc, token: "while(true)" };
11705
11768
  });
11706
11769
  function Loop(ctx, state) {
11707
11770
  return $EVENT(ctx, state, "Loop", Loop$0);
11708
11771
  }
11709
- 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) {
11710
11773
  return { $loc, token: $1 };
11711
11774
  });
11712
11775
  function New(ctx, state) {
11713
11776
  return $EVENT(ctx, state, "New", New$0);
11714
11777
  }
11715
- 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) {
11716
11779
  return { $loc, token: "!" };
11717
11780
  });
11718
11781
  function Not(ctx, state) {
11719
11782
  return $EVENT(ctx, state, "Not", Not$0);
11720
11783
  }
11721
- 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) {
11722
11785
  return { $loc, token: $1 };
11723
11786
  });
11724
11787
  function Of(ctx, state) {
@@ -11736,7 +11799,7 @@ ${input.slice(result.pos)}
11736
11799
  function OpenBrace(ctx, state) {
11737
11800
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
11738
11801
  }
11739
- 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) {
11740
11803
  return { $loc, token: $1 };
11741
11804
  });
11742
11805
  function OpenBracket(ctx, state) {
@@ -11748,43 +11811,43 @@ ${input.slice(result.pos)}
11748
11811
  function OpenParen(ctx, state) {
11749
11812
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
11750
11813
  }
11751
- 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) {
11752
11815
  return { $loc, token: $1 };
11753
11816
  });
11754
11817
  function Operator(ctx, state) {
11755
11818
  return $EVENT(ctx, state, "Operator", Operator$0);
11756
11819
  }
11757
- 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) {
11758
11821
  return { $loc, token: $1 };
11759
11822
  });
11760
11823
  function Own(ctx, state) {
11761
11824
  return $EVENT(ctx, state, "Own", Own$0);
11762
11825
  }
11763
- 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) {
11764
11827
  return { $loc, token: $1 };
11765
11828
  });
11766
11829
  function Public(ctx, state) {
11767
11830
  return $EVENT(ctx, state, "Public", Public$0);
11768
11831
  }
11769
- 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) {
11770
11833
  return { $loc, token: $1 };
11771
11834
  });
11772
11835
  function Private(ctx, state) {
11773
11836
  return $EVENT(ctx, state, "Private", Private$0);
11774
11837
  }
11775
- 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) {
11776
11839
  return { $loc, token: $1 };
11777
11840
  });
11778
11841
  function Protected(ctx, state) {
11779
11842
  return $EVENT(ctx, state, "Protected", Protected$0);
11780
11843
  }
11781
- 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) {
11782
11845
  return { $loc, token: "||>" };
11783
11846
  });
11784
- 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) {
11785
11848
  return { $loc, token: "|>=" };
11786
11849
  });
11787
- 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) {
11788
11851
  return { $loc, token: "|>" };
11789
11852
  });
11790
11853
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -11797,31 +11860,31 @@ ${input.slice(result.pos)}
11797
11860
  function QuestionMark(ctx, state) {
11798
11861
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
11799
11862
  }
11800
- 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) {
11801
11864
  return { $loc, token: $1, ts: true };
11802
11865
  });
11803
11866
  function Readonly(ctx, state) {
11804
11867
  return $EVENT(ctx, state, "Readonly", Readonly$0);
11805
11868
  }
11806
- 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) {
11807
11870
  return { $loc, token: $1 };
11808
11871
  });
11809
11872
  function Return(ctx, state) {
11810
11873
  return $EVENT(ctx, state, "Return", Return$0);
11811
11874
  }
11812
- 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) {
11813
11876
  return { $loc, token: $1 };
11814
11877
  });
11815
11878
  function Satisfies(ctx, state) {
11816
11879
  return $EVENT(ctx, state, "Satisfies", Satisfies$0);
11817
11880
  }
11818
- 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) {
11819
11882
  return { $loc, token: $1 };
11820
11883
  });
11821
11884
  function Semicolon(ctx, state) {
11822
11885
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
11823
11886
  }
11824
- 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) {
11825
11888
  return { $loc, token: $1 };
11826
11889
  });
11827
11890
  function SingleQuote(ctx, state) {
@@ -11833,137 +11896,137 @@ ${input.slice(result.pos)}
11833
11896
  function Star(ctx, state) {
11834
11897
  return $EVENT(ctx, state, "Star", Star$0);
11835
11898
  }
11836
- 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) {
11837
11900
  return { $loc, token: $1 };
11838
11901
  });
11839
- 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) {
11840
11903
  return { $loc, token: "static " };
11841
11904
  });
11842
11905
  var Static$$ = [Static$0, Static$1];
11843
11906
  function Static(ctx, state) {
11844
11907
  return $EVENT_C(ctx, state, "Static", Static$$);
11845
11908
  }
11846
- 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) {
11847
11910
  return { $loc, token: $1 };
11848
11911
  });
11849
11912
  function SubstitutionStart(ctx, state) {
11850
11913
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
11851
11914
  }
11852
- 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) {
11853
11916
  return { $loc, token: $1 };
11854
11917
  });
11855
11918
  function Super(ctx, state) {
11856
11919
  return $EVENT(ctx, state, "Super", Super$0);
11857
11920
  }
11858
- 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) {
11859
11922
  return { $loc, token: $1 };
11860
11923
  });
11861
11924
  function Switch(ctx, state) {
11862
11925
  return $EVENT(ctx, state, "Switch", Switch$0);
11863
11926
  }
11864
- 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) {
11865
11928
  return { $loc, token: $1 };
11866
11929
  });
11867
11930
  function Target(ctx, state) {
11868
11931
  return $EVENT(ctx, state, "Target", Target$0);
11869
11932
  }
11870
- 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) {
11871
11934
  return { $loc, token: "" };
11872
11935
  });
11873
11936
  function Then(ctx, state) {
11874
11937
  return $EVENT(ctx, state, "Then", Then$0);
11875
11938
  }
11876
- 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) {
11877
11940
  return { $loc, token: $1 };
11878
11941
  });
11879
11942
  function This(ctx, state) {
11880
11943
  return $EVENT(ctx, state, "This", This$0);
11881
11944
  }
11882
- 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) {
11883
11946
  return { $loc, token: $1 };
11884
11947
  });
11885
11948
  function Throw(ctx, state) {
11886
11949
  return $EVENT(ctx, state, "Throw", Throw$0);
11887
11950
  }
11888
- 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) {
11889
11952
  return { $loc, token: "`" };
11890
11953
  });
11891
11954
  function TripleDoubleQuote(ctx, state) {
11892
11955
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
11893
11956
  }
11894
- 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) {
11895
11958
  return { $loc, token: "`" };
11896
11959
  });
11897
11960
  function TripleSingleQuote(ctx, state) {
11898
11961
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
11899
11962
  }
11900
- 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) {
11901
11964
  return { $loc, token: "/" };
11902
11965
  });
11903
11966
  function TripleSlash(ctx, state) {
11904
11967
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
11905
11968
  }
11906
- 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) {
11907
11970
  return { $loc, token: "`" };
11908
11971
  });
11909
11972
  function TripleTick(ctx, state) {
11910
11973
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
11911
11974
  }
11912
- 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) {
11913
11976
  return { $loc, token: $1 };
11914
11977
  });
11915
11978
  function Try(ctx, state) {
11916
11979
  return $EVENT(ctx, state, "Try", Try$0);
11917
11980
  }
11918
- 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) {
11919
11982
  return { $loc, token: $1 };
11920
11983
  });
11921
11984
  function Typeof(ctx, state) {
11922
11985
  return $EVENT(ctx, state, "Typeof", Typeof$0);
11923
11986
  }
11924
- 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) {
11925
11988
  return { $loc, token: $1, negated: true };
11926
11989
  });
11927
11990
  function Unless(ctx, state) {
11928
11991
  return $EVENT(ctx, state, "Unless", Unless$0);
11929
11992
  }
11930
- 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) {
11931
11994
  return { $loc, token: $1 };
11932
11995
  });
11933
11996
  function Until(ctx, state) {
11934
11997
  return $EVENT(ctx, state, "Until", Until$0);
11935
11998
  }
11936
- 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) {
11937
12000
  return { $loc, token: $1 };
11938
12001
  });
11939
12002
  function Using(ctx, state) {
11940
12003
  return $EVENT(ctx, state, "Using", Using$0);
11941
12004
  }
11942
- 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) {
11943
12006
  return { $loc, token: $1 };
11944
12007
  });
11945
12008
  function Var(ctx, state) {
11946
12009
  return $EVENT(ctx, state, "Var", Var$0);
11947
12010
  }
11948
- 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) {
11949
12012
  return { $loc, token: $1 };
11950
12013
  });
11951
12014
  function Void(ctx, state) {
11952
12015
  return $EVENT(ctx, state, "Void", Void$0);
11953
12016
  }
11954
- 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) {
11955
12018
  return { $loc, token: "case" };
11956
12019
  });
11957
12020
  function When(ctx, state) {
11958
12021
  return $EVENT(ctx, state, "When", When$0);
11959
12022
  }
11960
- 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) {
11961
12024
  return { $loc, token: $1 };
11962
12025
  });
11963
12026
  function While(ctx, state) {
11964
12027
  return $EVENT(ctx, state, "While", While$0);
11965
12028
  }
11966
- 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) {
11967
12030
  return { $loc, token: $1, type: "Yield" };
11968
12031
  });
11969
12032
  function Yield(ctx, state) {
@@ -12042,7 +12105,7 @@ ${input.slice(result.pos)}
12042
12105
  function JSXElement(ctx, state) {
12043
12106
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
12044
12107
  }
12045
- 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) {
12046
12109
  return { type: "JSXElement", children: $0, tag: $2 };
12047
12110
  });
12048
12111
  function JSXSelfClosingElement(ctx, state) {
@@ -12076,7 +12139,7 @@ ${input.slice(result.pos)}
12076
12139
  function JSXOptionalClosingElement(ctx, state) {
12077
12140
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
12078
12141
  }
12079
- 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 ">"'));
12080
12143
  function JSXClosingElement(ctx, state) {
12081
12144
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
12082
12145
  }
@@ -12097,7 +12160,7 @@ ${input.slice(result.pos)}
12097
12160
  ];
12098
12161
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
12099
12162
  });
12100
- 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) {
12101
12164
  var children = $3;
12102
12165
  $0 = $0.slice(1);
12103
12166
  return {
@@ -12110,7 +12173,7 @@ ${input.slice(result.pos)}
12110
12173
  function JSXFragment(ctx, state) {
12111
12174
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
12112
12175
  }
12113
- 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) {
12114
12177
  module.JSXTagStack.push("");
12115
12178
  return $1;
12116
12179
  });
@@ -12127,11 +12190,11 @@ ${input.slice(result.pos)}
12127
12190
  function JSXOptionalClosingFragment(ctx, state) {
12128
12191
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
12129
12192
  }
12130
- var JSXClosingFragment$0 = $EXPECT($L200, 'JSXClosingFragment "</>"');
12193
+ var JSXClosingFragment$0 = $EXPECT($L201, 'JSXClosingFragment "</>"');
12131
12194
  function JSXClosingFragment(ctx, state) {
12132
12195
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
12133
12196
  }
12134
- 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) {
12135
12198
  return module.config.defaultElement;
12136
12199
  });
12137
12200
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -12309,7 +12372,7 @@ ${input.slice(result.pos)}
12309
12372
  }
12310
12373
  return $skip;
12311
12374
  });
12312
- 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) {
12313
12376
  return [" ", "id=", $2];
12314
12377
  });
12315
12378
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -12601,7 +12664,7 @@ ${input.slice(result.pos)}
12601
12664
  function JSXChild(ctx, state) {
12602
12665
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
12603
12666
  }
12604
- 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) {
12605
12668
  return ["{/*", $2, "*/}"];
12606
12669
  });
12607
12670
  function JSXComment(ctx, state) {
@@ -12733,37 +12796,37 @@ ${input.slice(result.pos)}
12733
12796
  function InterfaceExtendsTarget(ctx, state) {
12734
12797
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
12735
12798
  }
12736
- 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) {
12737
12800
  return { $loc, token: $1 };
12738
12801
  });
12739
12802
  function TypeKeyword(ctx, state) {
12740
12803
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
12741
12804
  }
12742
- 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) {
12743
12806
  return { $loc, token: $1 };
12744
12807
  });
12745
12808
  function Enum(ctx, state) {
12746
12809
  return $EVENT(ctx, state, "Enum", Enum$0);
12747
12810
  }
12748
- 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) {
12749
12812
  return { $loc, token: $1 };
12750
12813
  });
12751
12814
  function Interface(ctx, state) {
12752
12815
  return $EVENT(ctx, state, "Interface", Interface$0);
12753
12816
  }
12754
- 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) {
12755
12818
  return { $loc, token: $1 };
12756
12819
  });
12757
12820
  function Global(ctx, state) {
12758
12821
  return $EVENT(ctx, state, "Global", Global$0);
12759
12822
  }
12760
- 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) {
12761
12824
  return { $loc, token: $1 };
12762
12825
  });
12763
12826
  function Module(ctx, state) {
12764
12827
  return $EVENT(ctx, state, "Module", Module$0);
12765
12828
  }
12766
- 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) {
12767
12830
  return { $loc, token: $1 };
12768
12831
  });
12769
12832
  function Namespace(ctx, state) {
@@ -13036,7 +13099,7 @@ ${input.slice(result.pos)}
13036
13099
  function ReturnTypeSuffix(ctx, state) {
13037
13100
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
13038
13101
  }
13039
- 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) {
13040
13103
  var asserts = $1;
13041
13104
  var t = $2;
13042
13105
  if (asserts) {
@@ -13057,7 +13120,7 @@ ${input.slice(result.pos)}
13057
13120
  function ReturnType(ctx, state) {
13058
13121
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
13059
13122
  }
13060
- 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) {
13061
13124
  var lhs = $1;
13062
13125
  var rhs = $2;
13063
13126
  if (!rhs)
@@ -13115,9 +13178,9 @@ ${input.slice(result.pos)}
13115
13178
  function TypeUnarySuffix(ctx, state) {
13116
13179
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
13117
13180
  }
13118
- var TypeUnaryOp$0 = $S($EXPECT($L210, 'TypeUnaryOp "keyof"'), NonIdContinue);
13119
- var TypeUnaryOp$1 = $S($EXPECT($L211, 'TypeUnaryOp "infer"'), NonIdContinue);
13120
- 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);
13121
13184
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1, TypeUnaryOp$2];
13122
13185
  function TypeUnaryOp(ctx, state) {
13123
13186
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
@@ -13147,7 +13210,7 @@ ${input.slice(result.pos)}
13147
13210
  function TypeIndexedAccess(ctx, state) {
13148
13211
  return $EVENT_C(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$$);
13149
13212
  }
13150
- 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) {
13151
13214
  return { $loc, token: "unknown" };
13152
13215
  });
13153
13216
  function UnknownAlias(ctx, state) {
@@ -13356,10 +13419,10 @@ ${input.slice(result.pos)}
13356
13419
  }
13357
13420
  var TypeLiteral$0 = TypeTemplateLiteral;
13358
13421
  var TypeLiteral$1 = Literal;
13359
- 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) {
13360
13423
  return { type: "VoidType", $loc, token: $1 };
13361
13424
  });
13362
- 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) {
13363
13426
  return { $loc, token: "[]" };
13364
13427
  });
13365
13428
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3];
@@ -13378,7 +13441,7 @@ ${input.slice(result.pos)}
13378
13441
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
13379
13442
  return value[1];
13380
13443
  });
13381
- 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 "}"'))));
13382
13445
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
13383
13446
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
13384
13447
  function InlineInterfacePropertyDelimiter(ctx, state) {
@@ -13442,11 +13505,11 @@ ${input.slice(result.pos)}
13442
13505
  function TypeParameters(ctx, state) {
13443
13506
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
13444
13507
  }
13445
- 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);
13446
13509
  function TypeParameter(ctx, state) {
13447
13510
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
13448
13511
  }
13449
- var TypeConstraint$0 = $S(__, $EXPECT($L142, 'TypeConstraint "extends"'), NonIdContinue, Type);
13512
+ var TypeConstraint$0 = $S(__, $EXPECT($L143, 'TypeConstraint "extends"'), NonIdContinue, Type);
13450
13513
  function TypeConstraint(ctx, state) {
13451
13514
  return $EVENT(ctx, state, "TypeConstraint", TypeConstraint$0);
13452
13515
  }
@@ -13485,7 +13548,7 @@ ${input.slice(result.pos)}
13485
13548
  function CivetPrologue(ctx, state) {
13486
13549
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
13487
13550
  }
13488
- 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) {
13489
13552
  var options = $3;
13490
13553
  return {
13491
13554
  type: "CivetPrologue",
@@ -13968,9 +14031,9 @@ ${input.slice(result.pos)}
13968
14031
  preludeVar,
13969
14032
  ref,
13970
14033
  typeSuffix,
13971
- " = (lhs, rhs) => ((rhs",
14034
+ " = (lhs, rhs) => (((rhs",
13972
14035
  asAny,
13973
- ")?.[Symbol.isConcatSpreadable] ? (lhs",
14036
+ ")?.[Symbol.isConcatSpreadable] ?? Array.isArray(rhs)) ? (lhs",
13974
14037
  asAny,
13975
14038
  ").push.apply(lhs, rhs",
13976
14039
  asAny,
@@ -14172,20 +14235,20 @@ ${input.slice(result.pos)}
14172
14235
  function Dedented(ctx, state) {
14173
14236
  return $EVENT(ctx, state, "Dedented", Dedented$0);
14174
14237
  }
14175
- var parser2 = function() {
14238
+ var parser = function() {
14176
14239
  const { fail, validate, reset } = Validator();
14177
14240
  let ctx = { expectation: "", fail };
14178
14241
  return {
14179
14242
  parse: (input, options = {}) => {
14180
14243
  if (typeof input !== "string")
14181
14244
  throw new Error("Input must be a string");
14182
- const parser3 = options.startRule != null ? grammar[options.startRule] : Object.values(grammar)[0];
14183
- if (!parser3)
14245
+ const parser2 = options.startRule != null ? grammar[options.startRule] : Object.values(grammar)[0];
14246
+ if (!parser2)
14184
14247
  throw new Error(`Could not find rule with name '${options.startRule}'`);
14185
14248
  const filename = options.filename || "<anonymous>";
14186
14249
  reset();
14187
14250
  Object.assign(ctx, { ...options.events, tokenize: options.tokenize });
14188
- return validate(input, parser3(ctx, {
14251
+ return validate(input, parser2(ctx, {
14189
14252
  input,
14190
14253
  pos: 0
14191
14254
  }), {
@@ -14194,8 +14257,8 @@ ${input.slice(result.pos)}
14194
14257
  }
14195
14258
  };
14196
14259
  }();
14197
- exports.default = parser2;
14198
- exports.parse = parser2.parse;
14260
+ exports.default = parser;
14261
+ exports.parse = parser.parse;
14199
14262
  exports.Program = Program;
14200
14263
  exports.TopLevelStatements = TopLevelStatements;
14201
14264
  exports.NestedTopLevelStatements = NestedTopLevelStatements;
@@ -14241,6 +14304,7 @@ ${input.slice(result.pos)}
14241
14304
  exports.UnaryWithoutParenthesizedAssignmentBody = UnaryWithoutParenthesizedAssignmentBody;
14242
14305
  exports.UnaryPostfix = UnaryPostfix;
14243
14306
  exports.TypePostfix = TypePostfix;
14307
+ exports.NWTypePostfix = NWTypePostfix;
14244
14308
  exports.UpdateExpression = UpdateExpression;
14245
14309
  exports.UpdateExpressionSymbol = UpdateExpressionSymbol;
14246
14310
  exports.AssignmentExpression = AssignmentExpression;
@@ -14353,6 +14417,7 @@ ${input.slice(result.pos)}
14353
14417
  exports.OperatorDeclaration = OperatorDeclaration;
14354
14418
  exports.OperatorSignature = OperatorSignature;
14355
14419
  exports.AmpersandBlockRHS = AmpersandBlockRHS;
14420
+ exports.AmpersandTypeSuffix = AmpersandTypeSuffix;
14356
14421
  exports.AmpersandBlockRHSBody = AmpersandBlockRHSBody;
14357
14422
  exports.ThinArrowFunction = ThinArrowFunction;
14358
14423
  exports.Arrow = Arrow;
@@ -14409,8 +14474,10 @@ ${input.slice(result.pos)}
14409
14474
  exports.NestedImplicitPropertyDefinition = NestedImplicitPropertyDefinition;
14410
14475
  exports.NestedPropertyDefinitions = NestedPropertyDefinitions;
14411
14476
  exports.NestedPropertyDefinition = NestedPropertyDefinition;
14477
+ exports.ImplicitObjectLiteral = ImplicitObjectLiteral;
14478
+ exports.ImplicitObjectPropertyDelimiter = ImplicitObjectPropertyDelimiter;
14412
14479
  exports.InlineObjectLiteral = InlineObjectLiteral;
14413
- exports.ImplicitInlineObjectPropertyDelimiter = ImplicitInlineObjectPropertyDelimiter;
14480
+ exports.InlineObjectPropertyDelimiter = InlineObjectPropertyDelimiter;
14414
14481
  exports.ObjectPropertyDelimiter = ObjectPropertyDelimiter;
14415
14482
  exports.PropertyDefinition = PropertyDefinition;
14416
14483
  exports.NamedProperty = NamedProperty;
@@ -14925,7 +14992,7 @@ ${input.slice(result.pos)}
14925
14992
  generate: () => generate_default,
14926
14993
  isCompileError: () => isCompileError,
14927
14994
  lib: () => lib_exports,
14928
- parse: () => parse2,
14995
+ parse: () => import_parser.parse,
14929
14996
  prune: () => prune2,
14930
14997
  util: () => util_exports
14931
14998
  });
@@ -15389,7 +15456,6 @@ ${input.slice(result.pos)}
15389
15456
  };
15390
15457
 
15391
15458
  // source/main.civet
15392
- var { parse: parse2 } = import_parser.default;
15393
15459
  var { SourceMap: SourceMap2 } = util_exports;
15394
15460
  var uncacheable = /* @__PURE__ */ new Set([
15395
15461
  // Meta
@@ -15451,8 +15517,8 @@ ${input.slice(result.pos)}
15451
15517
  }
15452
15518
  let ast;
15453
15519
  try {
15454
- parse2.config = options.parseOptions || {};
15455
- ast = prune2(parse2(src, {
15520
+ import_parser.parse.config = options.parseOptions || {};
15521
+ ast = prune2((0, import_parser.parse)(src, {
15456
15522
  filename,
15457
15523
  events
15458
15524
  }));
@@ -15561,7 +15627,7 @@ ${counts}`;
15561
15627
  const key = [tagKey, stateKey, state.pos, ruleName];
15562
15628
  stateCache.set(key, result);
15563
15629
  }
15564
- if (parse2.config.verbose && result) {
15630
+ if (import_parser.parse.config.verbose && result) {
15565
15631
  console.log(`Parsed ${JSON.stringify(state.input.slice(state.pos, result.pos))} [pos ${state.pos}-${result.pos}] as ${ruleName}`);
15566
15632
  }
15567
15633
  if (trace) {
@@ -15577,6 +15643,6 @@ ${counts}`;
15577
15643
  return err instanceof Error && //@ts-ignore
15578
15644
  [err.message, err.name, err.filename, err.line, err.column, err.offset].every(($1) => $1 !== void 0);
15579
15645
  };
15580
- 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 };
15581
15647
  return __toCommonJS(main_exports);
15582
15648
  })();