@danielx/civet 0.6.70 → 0.6.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.mjs CHANGED
@@ -73,6 +73,7 @@ __export(lib_exports, {
73
73
  isWhitespaceOrEmpty: () => isWhitespaceOrEmpty,
74
74
  lastAccessInCallExpression: () => lastAccessInCallExpression,
75
75
  literalValue: () => literalValue,
76
+ makeAmpersandFunction: () => makeAmpersandFunction,
76
77
  makeAsConst: () => makeAsConst,
77
78
  makeEmptyBlock: () => makeEmptyBlock,
78
79
  makeExpressionStatement: () => makeExpressionStatement,
@@ -144,6 +145,30 @@ function makeNode(node) {
144
145
  updateParentPointers(node);
145
146
  return node;
146
147
  }
148
+ function makeAmpersandFunction(bodyAfterRef = []) {
149
+ const ref = makeRef("$");
150
+ const body = [ref, ...bodyAfterRef];
151
+ const parameters = {
152
+ type: "Parameters",
153
+ children: [ref],
154
+ names: []
155
+ };
156
+ const block = {
157
+ expressions: body
158
+ };
159
+ return {
160
+ type: "ArrowFunction",
161
+ signature: {
162
+ modifier: {}
163
+ },
164
+ children: [parameters, " => ", body],
165
+ ref,
166
+ body,
167
+ ampersandBlock: true,
168
+ block,
169
+ parameters
170
+ };
171
+ }
147
172
  function addPostfixStatement(statement, ws, post) {
148
173
  const expressions = [
149
174
  ...post.blockPrefix || [],
@@ -3362,7 +3387,7 @@ function reorderBindingRestProperty(props) {
3362
3387
  }
3363
3388
  ];
3364
3389
  }
3365
- if (rest.delim?.at(-1)?.token === ",") {
3390
+ if (Array.isArray(rest.delim) && rest.delim.at(-1)?.token === ",") {
3366
3391
  rest.delim.pop();
3367
3392
  }
3368
3393
  const children = [...props, ...after, rest];
@@ -3616,9 +3641,9 @@ var require_machine = __commonJS({
3616
3641
  Validator: () => Validator
3617
3642
  });
3618
3643
  module.exports = __toCommonJS(machine_exports);
3619
- function $EXPECT(parser2, expectation) {
3644
+ function $EXPECT(parser, expectation) {
3620
3645
  return function(ctx, state) {
3621
- const result = parser2(ctx, state);
3646
+ const result = parser(ctx, state);
3622
3647
  if (!result)
3623
3648
  ctx.fail(state.pos, expectation);
3624
3649
  return result;
@@ -3805,9 +3830,9 @@ var require_machine = __commonJS({
3805
3830
  };
3806
3831
  };
3807
3832
  }
3808
- function $T(parser2, fn) {
3833
+ function $T(parser, fn) {
3809
3834
  return function(ctx, state) {
3810
- const result = parser2(ctx, state);
3835
+ const result = parser(ctx, state);
3811
3836
  if (!result)
3812
3837
  return;
3813
3838
  if (ctx.tokenize)
@@ -3818,9 +3843,9 @@ var require_machine = __commonJS({
3818
3843
  return result;
3819
3844
  };
3820
3845
  }
3821
- function $TR(parser2, fn) {
3846
+ function $TR(parser, fn) {
3822
3847
  return function(ctx, state) {
3823
- const result = parser2(ctx, state);
3848
+ const result = parser(ctx, state);
3824
3849
  if (!result)
3825
3850
  return;
3826
3851
  if (ctx.tokenize)
@@ -3834,9 +3859,9 @@ var require_machine = __commonJS({
3834
3859
  return result;
3835
3860
  };
3836
3861
  }
3837
- function $TS(parser2, fn) {
3862
+ function $TS(parser, fn) {
3838
3863
  return function(ctx, state) {
3839
- const result = parser2(ctx, state);
3864
+ const result = parser(ctx, state);
3840
3865
  if (!result)
3841
3866
  return;
3842
3867
  if (ctx.tokenize)
@@ -3850,9 +3875,9 @@ var require_machine = __commonJS({
3850
3875
  return result;
3851
3876
  };
3852
3877
  }
3853
- function $TV(parser2, fn) {
3878
+ function $TV(parser, fn) {
3854
3879
  return function(ctx, state) {
3855
- const result = parser2(ctx, state);
3880
+ const result = parser(ctx, state);
3856
3881
  if (!result)
3857
3882
  return;
3858
3883
  if (ctx.tokenize)
@@ -3866,9 +3891,9 @@ var require_machine = __commonJS({
3866
3891
  return result;
3867
3892
  };
3868
3893
  }
3869
- function $R$0(parser2) {
3894
+ function $R$0(parser) {
3870
3895
  return function(ctx, state) {
3871
- const result = parser2(ctx, state);
3896
+ const result = parser(ctx, state);
3872
3897
  if (!result)
3873
3898
  return;
3874
3899
  const value = result.value[0];
@@ -4095,6 +4120,7 @@ var require_parser = __commonJS({
4095
4120
  UnaryWithoutParenthesizedAssignmentBody,
4096
4121
  UnaryPostfix,
4097
4122
  TypePostfix,
4123
+ NWTypePostfix,
4098
4124
  UpdateExpression,
4099
4125
  UpdateExpressionSymbol,
4100
4126
  AssignmentExpression,
@@ -4207,6 +4233,7 @@ var require_parser = __commonJS({
4207
4233
  OperatorDeclaration,
4208
4234
  OperatorSignature,
4209
4235
  AmpersandBlockRHS,
4236
+ AmpersandTypeSuffix,
4210
4237
  AmpersandBlockRHSBody,
4211
4238
  ThinArrowFunction,
4212
4239
  Arrow,
@@ -4263,8 +4290,10 @@ var require_parser = __commonJS({
4263
4290
  NestedImplicitPropertyDefinition,
4264
4291
  NestedPropertyDefinitions,
4265
4292
  NestedPropertyDefinition,
4293
+ ImplicitObjectLiteral,
4294
+ ImplicitObjectPropertyDelimiter,
4266
4295
  InlineObjectLiteral,
4267
- ImplicitInlineObjectPropertyDelimiter,
4296
+ InlineObjectPropertyDelimiter,
4268
4297
  ObjectPropertyDelimiter,
4269
4298
  PropertyDefinition,
4270
4299
  NamedProperty,
@@ -4537,6 +4566,7 @@ var require_parser = __commonJS({
4537
4566
  If,
4538
4567
  Import,
4539
4568
  In,
4569
+ Infer,
4540
4570
  LetOrConst,
4541
4571
  Const,
4542
4572
  Is,
@@ -4635,6 +4665,9 @@ var require_parser = __commonJS({
4635
4665
  UsingJSModeError,
4636
4666
  TypeDeclaration,
4637
4667
  TypeDeclarationRest,
4668
+ TypeAliasDeclaration,
4669
+ InterfaceDeclaration,
4670
+ NamespaceDeclaration,
4638
4671
  OptionalEquals,
4639
4672
  TypeLexicalDeclaration,
4640
4673
  TypeDeclarationBinding,
@@ -4662,7 +4695,7 @@ var require_parser = __commonJS({
4662
4695
  EnumDeclaration,
4663
4696
  EnumBlock,
4664
4697
  NestedEnumProperties,
4665
- NestedEnumProperty,
4698
+ NestedEnumPropertyLine,
4666
4699
  EnumProperty,
4667
4700
  TypeProperty,
4668
4701
  TypeIndexSignature,
@@ -4871,118 +4904,119 @@ var require_parser = __commonJS({
4871
4904
  var $L100 = $L("\u2209");
4872
4905
  var $L101 = $L("&");
4873
4906
  var $L102 = $L("|");
4874
- var $L103 = $L(";");
4875
- var $L104 = $L("$:");
4907
+ var $L103 = $L("$:");
4908
+ var $L104 = $L(";");
4876
4909
  var $L105 = $L("break");
4877
4910
  var $L106 = $L("continue");
4878
4911
  var $L107 = $L("debugger");
4879
- var $L108 = $L("with");
4880
- var $L109 = $L("assert");
4881
- var $L110 = $L(":=");
4882
- var $L111 = $L("\u2254");
4883
- var $L112 = $L(".=");
4884
- var $L113 = $L("/*");
4885
- var $L114 = $L("*/");
4886
- var $L115 = $L("\\");
4887
- var $L116 = $L(")");
4888
- var $L117 = $L("abstract");
4889
- var $L118 = $L("as");
4890
- var $L119 = $L("@");
4891
- var $L120 = $L("@@");
4892
- var $L121 = $L("async");
4893
- var $L122 = $L("await");
4894
- var $L123 = $L("`");
4895
- var $L124 = $L("by");
4896
- var $L125 = $L("case");
4897
- var $L126 = $L("catch");
4898
- var $L127 = $L("class");
4899
- var $L128 = $L("#{");
4900
- var $L129 = $L("declare");
4901
- var $L130 = $L("default");
4902
- var $L131 = $L("delete");
4903
- var $L132 = $L("do");
4904
- var $L133 = $L("..");
4905
- var $L134 = $L("\u2025");
4906
- var $L135 = $L("...");
4907
- var $L136 = $L("\u2026");
4908
- var $L137 = $L("::");
4909
- var $L138 = $L('"');
4910
- var $L139 = $L("each");
4911
- var $L140 = $L("else");
4912
- var $L141 = $L("export");
4913
- var $L142 = $L("extends");
4914
- var $L143 = $L("finally");
4915
- var $L144 = $L("for");
4916
- var $L145 = $L("from");
4917
- var $L146 = $L("function");
4918
- var $L147 = $L("get");
4919
- var $L148 = $L("set");
4920
- var $L149 = $L("#");
4921
- var $L150 = $L("if");
4922
- var $L151 = $L("in");
4923
- var $L152 = $L("let");
4924
- var $L153 = $L("const");
4925
- var $L154 = $L("is");
4926
- var $L155 = $L("loop");
4927
- var $L156 = $L("new");
4928
- var $L157 = $L("not");
4929
- var $L158 = $L("of");
4930
- var $L159 = $L("[");
4931
- var $L160 = $L("operator");
4932
- var $L161 = $L("own");
4933
- var $L162 = $L("public");
4934
- var $L163 = $L("private");
4935
- var $L164 = $L("protected");
4936
- var $L165 = $L("||>");
4937
- var $L166 = $L("|\u25B7");
4938
- var $L167 = $L("|>=");
4939
- var $L168 = $L("\u25B7=");
4940
- var $L169 = $L("|>");
4941
- var $L170 = $L("\u25B7");
4942
- var $L171 = $L("readonly");
4943
- var $L172 = $L("return");
4944
- var $L173 = $L("satisfies");
4945
- var $L174 = $L("'");
4946
- var $L175 = $L("static");
4947
- var $L176 = $L("${");
4948
- var $L177 = $L("super");
4949
- var $L178 = $L("switch");
4950
- var $L179 = $L("target");
4951
- var $L180 = $L("then");
4952
- var $L181 = $L("this");
4953
- var $L182 = $L("throw");
4954
- var $L183 = $L('"""');
4955
- var $L184 = $L("'''");
4956
- var $L185 = $L("///");
4957
- var $L186 = $L("```");
4958
- var $L187 = $L("try");
4959
- var $L188 = $L("typeof");
4960
- var $L189 = $L("unless");
4961
- var $L190 = $L("until");
4962
- var $L191 = $L("using");
4963
- var $L192 = $L("var");
4964
- var $L193 = $L("void");
4965
- var $L194 = $L("when");
4966
- var $L195 = $L("while");
4967
- var $L196 = $L("yield");
4968
- var $L197 = $L("/>");
4969
- var $L198 = $L("</");
4970
- var $L199 = $L("<>");
4971
- var $L200 = $L("</>");
4972
- var $L201 = $L("<!--");
4973
- var $L202 = $L("-->");
4974
- var $L203 = $L("type");
4975
- var $L204 = $L("enum");
4976
- var $L205 = $L("interface");
4977
- var $L206 = $L("global");
4978
- var $L207 = $L("module");
4979
- var $L208 = $L("namespace");
4980
- var $L209 = $L("asserts");
4981
- var $L210 = $L("keyof");
4982
- var $L211 = $L("infer");
4983
- var $L212 = $L("???");
4984
- var $L213 = $L("[]");
4985
- var $L214 = $L("civet");
4912
+ var $L108 = $L("require");
4913
+ var $L109 = $L("with");
4914
+ var $L110 = $L("assert");
4915
+ var $L111 = $L(":=");
4916
+ var $L112 = $L("\u2254");
4917
+ var $L113 = $L(".=");
4918
+ var $L114 = $L("/*");
4919
+ var $L115 = $L("*/");
4920
+ var $L116 = $L("\\");
4921
+ var $L117 = $L(")");
4922
+ var $L118 = $L("abstract");
4923
+ var $L119 = $L("as");
4924
+ var $L120 = $L("@");
4925
+ var $L121 = $L("@@");
4926
+ var $L122 = $L("async");
4927
+ var $L123 = $L("await");
4928
+ var $L124 = $L("`");
4929
+ var $L125 = $L("by");
4930
+ var $L126 = $L("case");
4931
+ var $L127 = $L("catch");
4932
+ var $L128 = $L("class");
4933
+ var $L129 = $L("#{");
4934
+ var $L130 = $L("declare");
4935
+ var $L131 = $L("default");
4936
+ var $L132 = $L("delete");
4937
+ var $L133 = $L("do");
4938
+ var $L134 = $L("..");
4939
+ var $L135 = $L("\u2025");
4940
+ var $L136 = $L("...");
4941
+ var $L137 = $L("\u2026");
4942
+ var $L138 = $L("::");
4943
+ var $L139 = $L('"');
4944
+ var $L140 = $L("each");
4945
+ var $L141 = $L("else");
4946
+ var $L142 = $L("export");
4947
+ var $L143 = $L("extends");
4948
+ var $L144 = $L("finally");
4949
+ var $L145 = $L("for");
4950
+ var $L146 = $L("from");
4951
+ var $L147 = $L("function");
4952
+ var $L148 = $L("get");
4953
+ var $L149 = $L("set");
4954
+ var $L150 = $L("#");
4955
+ var $L151 = $L("if");
4956
+ var $L152 = $L("in");
4957
+ var $L153 = $L("infer");
4958
+ var $L154 = $L("let");
4959
+ var $L155 = $L("const");
4960
+ var $L156 = $L("is");
4961
+ var $L157 = $L("loop");
4962
+ var $L158 = $L("new");
4963
+ var $L159 = $L("not");
4964
+ var $L160 = $L("of");
4965
+ var $L161 = $L("[");
4966
+ var $L162 = $L("operator");
4967
+ var $L163 = $L("own");
4968
+ var $L164 = $L("public");
4969
+ var $L165 = $L("private");
4970
+ var $L166 = $L("protected");
4971
+ var $L167 = $L("||>");
4972
+ var $L168 = $L("|\u25B7");
4973
+ var $L169 = $L("|>=");
4974
+ var $L170 = $L("\u25B7=");
4975
+ var $L171 = $L("|>");
4976
+ var $L172 = $L("\u25B7");
4977
+ var $L173 = $L("readonly");
4978
+ var $L174 = $L("return");
4979
+ var $L175 = $L("satisfies");
4980
+ var $L176 = $L("'");
4981
+ var $L177 = $L("static");
4982
+ var $L178 = $L("${");
4983
+ var $L179 = $L("super");
4984
+ var $L180 = $L("switch");
4985
+ var $L181 = $L("target");
4986
+ var $L182 = $L("then");
4987
+ var $L183 = $L("this");
4988
+ var $L184 = $L("throw");
4989
+ var $L185 = $L('"""');
4990
+ var $L186 = $L("'''");
4991
+ var $L187 = $L("///");
4992
+ var $L188 = $L("```");
4993
+ var $L189 = $L("try");
4994
+ var $L190 = $L("typeof");
4995
+ var $L191 = $L("unless");
4996
+ var $L192 = $L("until");
4997
+ var $L193 = $L("using");
4998
+ var $L194 = $L("var");
4999
+ var $L195 = $L("void");
5000
+ var $L196 = $L("when");
5001
+ var $L197 = $L("while");
5002
+ var $L198 = $L("yield");
5003
+ var $L199 = $L("/>");
5004
+ var $L200 = $L("</");
5005
+ var $L201 = $L("<>");
5006
+ var $L202 = $L("</>");
5007
+ var $L203 = $L("<!--");
5008
+ var $L204 = $L("-->");
5009
+ var $L205 = $L("type");
5010
+ var $L206 = $L("enum");
5011
+ var $L207 = $L("interface");
5012
+ var $L208 = $L("global");
5013
+ var $L209 = $L("module");
5014
+ var $L210 = $L("namespace");
5015
+ var $L211 = $L("asserts");
5016
+ var $L212 = $L("keyof");
5017
+ var $L213 = $L("???");
5018
+ var $L214 = $L("[]");
5019
+ var $L215 = $L("civet");
4986
5020
  var $R0 = $R(new RegExp("(?=debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
4987
5021
  var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
4988
5022
  var $R2 = $R(new RegExp("[0-9]", "suy"));
@@ -5547,20 +5581,27 @@ var require_parser = __commonJS({
5547
5581
  function UnaryPostfix(ctx, state) {
5548
5582
  return $EVENT_C(ctx, state, "UnaryPostfix", UnaryPostfix$$);
5549
5583
  }
5550
- var TypePostfix$0 = $TS($S(_, As, $E(ExclamationPoint), Type), function($skip, $loc, $0, $1, $2, $3, $4) {
5584
+ var TypePostfix$0 = $TS($S(_, NWTypePostfix), function($skip, $loc, $0, $1, $2) {
5551
5585
  var ws = $1;
5552
- var as = $2;
5553
- var ex = $3;
5554
- var type = $4;
5586
+ var postfix = $2;
5587
+ return [ws, ...postfix];
5588
+ });
5589
+ function TypePostfix(ctx, state) {
5590
+ return $EVENT(ctx, state, "TypePostfix", TypePostfix$0);
5591
+ }
5592
+ var NWTypePostfix$0 = $TS($S(As, $E(ExclamationPoint), Type), function($skip, $loc, $0, $1, $2, $3) {
5593
+ var as = $1;
5594
+ var ex = $2;
5595
+ var type = $3;
5555
5596
  if (ex) {
5556
- return [{ $loc: ex.$loc, token: " as unknown" }, ws, as, type];
5597
+ return [{ $loc: ex.$loc, token: "as unknown " }, as, type];
5557
5598
  }
5558
- return [ws, as, type];
5599
+ return [as, type];
5559
5600
  });
5560
- var TypePostfix$1 = $S(_, Satisfies, Type);
5561
- var TypePostfix$$ = [TypePostfix$0, TypePostfix$1];
5562
- function TypePostfix(ctx, state) {
5563
- return $EVENT_C(ctx, state, "TypePostfix", TypePostfix$$);
5601
+ var NWTypePostfix$1 = $S(Satisfies, Type);
5602
+ var NWTypePostfix$$ = [NWTypePostfix$0, NWTypePostfix$1];
5603
+ function NWTypePostfix(ctx, state) {
5604
+ return $EVENT_C(ctx, state, "NWTypePostfix", NWTypePostfix$$);
5564
5605
  }
5565
5606
  var UpdateExpression$0 = $TS($S(UpdateExpressionSymbol, UnaryWithoutParenthesizedAssignment), function($skip, $loc, $0, $1, $2) {
5566
5607
  return {
@@ -5755,36 +5796,19 @@ var require_parser = __commonJS({
5755
5796
  var head = $2;
5756
5797
  var body = $3;
5757
5798
  if (head.token === "&") {
5758
- const ref = makeRef("$");
5759
- const arrowBody = {
5799
+ head = makeAmpersandFunction();
5800
+ }
5801
+ if (head.type === "ArrowFunction" && head.ampersandBlock) {
5802
+ const expressions = [{
5760
5803
  type: "PipelineExpression",
5761
- children: [ws, ref, body]
5762
- };
5763
- const parameters = {
5764
- type: "Parameters",
5765
- children: [ref],
5766
- names: []
5767
- };
5768
- const expressions = [arrowBody];
5769
- const block = {
5770
- bare: true,
5771
- expressions,
5772
- children: [expressions]
5773
- };
5774
- const children = [parameters, " => ", block];
5804
+ children: [ws, head.block.expressions[0], body]
5805
+ }];
5806
+ const block = { ...head.block, expressions, children: [expressions] };
5775
5807
  return {
5776
- type: "ArrowFunction",
5777
- signature: {
5778
- modifier: {
5779
- children: []
5780
- }
5781
- },
5782
- children,
5783
- ref,
5784
- body: [arrowBody],
5785
- ampersandBlock: true,
5786
- parameters,
5787
- block
5808
+ ...head,
5809
+ block,
5810
+ body: expressions,
5811
+ children: [...head.children.slice(0, -1), block]
5788
5812
  };
5789
5813
  }
5790
5814
  return {
@@ -5807,11 +5831,14 @@ var require_parser = __commonJS({
5807
5831
  var PipelineTailItem$2 = $T($S(Return, $N(AccessStart)), function(value) {
5808
5832
  return value[0];
5809
5833
  });
5810
- var PipelineTailItem$3 = AmpersandFunctionExpression;
5811
- var PipelineTailItem$4 = $T($S($N(Ampersand), PipelineHeadItem), function(value) {
5834
+ var PipelineTailItem$3 = $TS($S(NWTypePostfix, $Q(TypePostfix)), function($skip, $loc, $0, $1, $2) {
5835
+ return makeAmpersandFunction([" ", $1, ...$2]);
5836
+ });
5837
+ var PipelineTailItem$4 = AmpersandFunctionExpression;
5838
+ var PipelineTailItem$5 = $T($S($N(Ampersand), PipelineHeadItem), function(value) {
5812
5839
  return value[1];
5813
5840
  });
5814
- var PipelineTailItem$$ = [PipelineTailItem$0, PipelineTailItem$1, PipelineTailItem$2, PipelineTailItem$3, PipelineTailItem$4];
5841
+ var PipelineTailItem$$ = [PipelineTailItem$0, PipelineTailItem$1, PipelineTailItem$2, PipelineTailItem$3, PipelineTailItem$4, PipelineTailItem$5];
5815
5842
  function PipelineTailItem(ctx, state) {
5816
5843
  return $EVENT_C(ctx, state, "PipelineTailItem", PipelineTailItem$$);
5817
5844
  }
@@ -5858,7 +5885,7 @@ var require_parser = __commonJS({
5858
5885
  return $EVENT(ctx, state, "ParenthesizedExpression", ParenthesizedExpression$0);
5859
5886
  }
5860
5887
  var ClassDeclaration$0 = $TS($S(ClassExpression), function($skip, $loc, $0, $1) {
5861
- if ($1.binding)
5888
+ if ($1.id)
5862
5889
  return $1;
5863
5890
  return makeLeftHandSideExpression($1);
5864
5891
  });
@@ -5875,6 +5902,7 @@ var require_parser = __commonJS({
5875
5902
  decorators,
5876
5903
  abstract,
5877
5904
  binding,
5905
+ id: binding?.[0],
5878
5906
  heritage,
5879
5907
  body,
5880
5908
  children: $0
@@ -6192,7 +6220,8 @@ var require_parser = __commonJS({
6192
6220
  name: id.name,
6193
6221
  children: [".", id]
6194
6222
  }],
6195
- privateShorthand: true
6223
+ privateShorthand: true,
6224
+ privateId: id
6196
6225
  };
6197
6226
  });
6198
6227
  var PrivateThis$$ = [PrivateThis$0, PrivateThis$1];
@@ -7199,27 +7228,7 @@ var require_parser = __commonJS({
7199
7228
  };
7200
7229
  });
7201
7230
  var FunctionExpression$1 = $TV($EXPECT($L26, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
7202
- const ref = makeRef("$"), body = [ref];
7203
- const parameters = {
7204
- type: "Parameters",
7205
- children: [ref],
7206
- names: []
7207
- };
7208
- const block = {
7209
- expressions: [ref]
7210
- };
7211
- return {
7212
- type: "ArrowFunction",
7213
- signature: {
7214
- modifier: {}
7215
- },
7216
- children: [parameters, " => ", body],
7217
- ref,
7218
- body,
7219
- ampersandBlock: true,
7220
- block,
7221
- parameters
7222
- };
7231
+ return makeAmpersandFunction();
7223
7232
  });
7224
7233
  var FunctionExpression$2 = $TS($S(OpenParen, BinaryOp, CloseParen), function($skip, $loc, $0, $1, $2, $3) {
7225
7234
  var open = $1;
@@ -7343,15 +7352,11 @@ var require_parser = __commonJS({
7343
7352
  var rhs = $3;
7344
7353
  if (!prefix.length && !rhs)
7345
7354
  return $skip;
7346
- let body, ref;
7355
+ let body, ref, typeSuffix;
7347
7356
  if (!rhs) {
7348
7357
  body = ref = makeRef("$");
7349
7358
  } else {
7350
- let exp = rhs;
7351
- while (!exp.ref && exp.expression) {
7352
- exp = exp.expression;
7353
- }
7354
- ({ ref } = exp);
7359
+ ({ ref, typeSuffix } = rhs);
7355
7360
  if (!ref) {
7356
7361
  throw new Error("Could not find ref in ampersand shorthand block");
7357
7362
  }
@@ -7365,7 +7370,7 @@ var require_parser = __commonJS({
7365
7370
  }
7366
7371
  const parameters = {
7367
7372
  type: "Parameters",
7368
- children: [ref],
7373
+ children: typeSuffix ? ["(", ref, typeSuffix, ")"] : [ref],
7369
7374
  names: []
7370
7375
  };
7371
7376
  const expressions = [body];
@@ -7402,7 +7407,10 @@ var require_parser = __commonJS({
7402
7407
  var w = $2;
7403
7408
  var decl = $3;
7404
7409
  decl.names.forEach((name) => module.operators.add(name));
7405
- return [insertTrimmingSpace(w, ""), decl];
7410
+ return {
7411
+ ...decl,
7412
+ children: [insertTrimmingSpace(w, ""), ...decl.children]
7413
+ };
7406
7414
  });
7407
7415
  var OperatorDeclaration$1 = $TS($S(OperatorSignature, BracedBlock), function($skip, $loc, $0, $1, $2) {
7408
7416
  var signature = $1;
@@ -7424,7 +7432,10 @@ var require_parser = __commonJS({
7424
7432
  var ids = $4;
7425
7433
  module.operators.add(id.name);
7426
7434
  ids.forEach(([, , id2]) => module.operators.add(id2.name));
7427
- return [];
7435
+ return {
7436
+ id,
7437
+ children: []
7438
+ };
7428
7439
  });
7429
7440
  var OperatorDeclaration$$ = [OperatorDeclaration$0, OperatorDeclaration$1, OperatorDeclaration$2];
7430
7441
  function OperatorDeclaration(ctx, state) {
@@ -7465,12 +7476,19 @@ var require_parser = __commonJS({
7465
7476
  function AmpersandBlockRHS(ctx, state) {
7466
7477
  return $EVENT(ctx, state, "AmpersandBlockRHS", AmpersandBlockRHS$0);
7467
7478
  }
7468
- 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) {
7469
- var callExpRest = $1;
7470
- var unaryPostfix = $2;
7471
- var assign = $3;
7472
- var binopRHS = $4;
7473
- if (!callExpRest && !binopRHS && !unaryPostfix)
7479
+ var AmpersandTypeSuffix$0 = $T($S($Y($S($E(_), $E(QuestionMark), $E(_), Colon)), TypeSuffix), function(value) {
7480
+ return value[1];
7481
+ });
7482
+ function AmpersandTypeSuffix(ctx, state) {
7483
+ return $EVENT(ctx, state, "AmpersandTypeSuffix", AmpersandTypeSuffix$0);
7484
+ }
7485
+ 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) {
7486
+ var typeSuffix = $1;
7487
+ var callExpRest = $2;
7488
+ var unaryPostfix = $3;
7489
+ var assign = $4;
7490
+ var binopRHS = $5;
7491
+ if (!typeSuffix && !callExpRest && !binopRHS && !unaryPostfix)
7474
7492
  return $skip;
7475
7493
  const ref = makeRef("$");
7476
7494
  let exp = {
@@ -7497,16 +7515,16 @@ var require_parser = __commonJS({
7497
7515
  names: null,
7498
7516
  lhs,
7499
7517
  assigned: exp,
7500
- exp: rhs,
7501
- ref
7518
+ exp: rhs
7502
7519
  };
7503
7520
  }
7504
7521
  if (binopRHS) {
7505
7522
  exp = {
7506
- children: processBinaryOpExpression([exp, binopRHS[1]]),
7507
- ref
7523
+ children: processBinaryOpExpression([exp, binopRHS[1]])
7508
7524
  };
7509
7525
  }
7526
+ exp.ref = ref;
7527
+ exp.typeSuffix = typeSuffix;
7510
7528
  return exp;
7511
7529
  });
7512
7530
  function AmpersandBlockRHSBody(ctx, state) {
@@ -7778,13 +7796,12 @@ var require_parser = __commonJS({
7778
7796
  return block;
7779
7797
  });
7780
7798
  var NonSingleBracedBlock$1 = ImplicitNestedBlock;
7781
- var NonSingleBracedBlock$2 = $TS($S(InsertOpenBrace, $Y(EOS), ObjectLiteral, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
7782
- var s = $3;
7799
+ var NonSingleBracedBlock$2 = $TS($S(InsertOpenBrace, NestedImplicitObjectLiteral, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3) {
7800
+ var s = $2;
7783
7801
  return {
7784
7802
  type: "BlockStatement",
7785
7803
  expressions: [s],
7786
- // Remove &EOS assertion
7787
- children: [$1, s, $3]
7804
+ children: $0
7788
7805
  };
7789
7806
  });
7790
7807
  var NonSingleBracedBlock$$ = [NonSingleBracedBlock$0, NonSingleBracedBlock$1, NonSingleBracedBlock$2];
@@ -8182,7 +8199,10 @@ var require_parser = __commonJS({
8182
8199
  return $EVENT(ctx, state, "ElementListRest", ElementListRest$0);
8183
8200
  }
8184
8201
  var ArrayElementExpression$0 = JSXTag;
8185
- var ArrayElementExpression$1 = $TS($S($E(ExtendedExpression), __, DotDotDot, $Y(ArrayElementDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
8202
+ var ArrayElementExpression$1 = $T($S(ImplicitObjectLiteral, $Y(ArrayElementDelimiter)), function(value) {
8203
+ return value[0];
8204
+ });
8205
+ var ArrayElementExpression$2 = $TS($S($E(ExtendedExpression), __, DotDotDot, $Y(ArrayElementDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
8186
8206
  var exp = $1;
8187
8207
  var ws = $2;
8188
8208
  var dots = $3;
@@ -8195,7 +8215,7 @@ var require_parser = __commonJS({
8195
8215
  names: exp.names
8196
8216
  };
8197
8217
  });
8198
- var ArrayElementExpression$2 = $TS($S($E($S($E($S(__, DotDotDot, __)), PostfixedExpression)), $Y(ArrayElementDelimiter)), function($skip, $loc, $0, $1, $2) {
8218
+ var ArrayElementExpression$3 = $TS($S($E($S($E($S(__, DotDotDot, __)), PostfixedExpression)), $Y(ArrayElementDelimiter)), function($skip, $loc, $0, $1, $2) {
8199
8219
  var expMaybeSpread = $1;
8200
8220
  if (expMaybeSpread) {
8201
8221
  const [spread, exp] = expMaybeSpread;
@@ -8218,7 +8238,7 @@ var require_parser = __commonJS({
8218
8238
  children: []
8219
8239
  };
8220
8240
  });
8221
- var ArrayElementExpression$$ = [ArrayElementExpression$0, ArrayElementExpression$1, ArrayElementExpression$2];
8241
+ var ArrayElementExpression$$ = [ArrayElementExpression$0, ArrayElementExpression$1, ArrayElementExpression$2, ArrayElementExpression$3];
8222
8242
  function ArrayElementExpression(ctx, state) {
8223
8243
  return $EVENT_C(ctx, state, "ArrayElementExpression", ArrayElementExpression$$);
8224
8244
  }
@@ -8282,8 +8302,10 @@ var require_parser = __commonJS({
8282
8302
  function BracedObjectLiteralContent(ctx, state) {
8283
8303
  return $EVENT_C(ctx, state, "BracedObjectLiteralContent", BracedObjectLiteralContent$$);
8284
8304
  }
8285
- var NestedImplicitObjectLiteral$0 = $TS($S(InsertOpenBrace, NestedImplicitPropertyDefinitions, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8286
- var properties = $2;
8305
+ var NestedImplicitObjectLiteral$0 = $TS($S(InsertOpenBrace, PushIndent, $E(NestedImplicitPropertyDefinitions), PopIndent, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
8306
+ var properties = $3;
8307
+ if (!properties)
8308
+ return $skip;
8287
8309
  return {
8288
8310
  type: "ObjectExpression",
8289
8311
  properties,
@@ -8293,10 +8315,8 @@ var require_parser = __commonJS({
8293
8315
  function NestedImplicitObjectLiteral(ctx, state) {
8294
8316
  return $EVENT(ctx, state, "NestedImplicitObjectLiteral", NestedImplicitObjectLiteral$0);
8295
8317
  }
8296
- var NestedImplicitPropertyDefinitions$0 = $TS($S(PushIndent, $Q(NestedImplicitPropertyDefinition), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
8297
- var defs = $2;
8298
- if (!defs.length)
8299
- return $skip;
8318
+ var NestedImplicitPropertyDefinitions$0 = $TV($P(NestedImplicitPropertyDefinition), function($skip, $loc, $0, $1) {
8319
+ var defs = $0;
8300
8320
  return defs.flat();
8301
8321
  });
8302
8322
  function NestedImplicitPropertyDefinitions(ctx, state) {
@@ -8348,7 +8368,7 @@ var require_parser = __commonJS({
8348
8368
  function NestedPropertyDefinition(ctx, state) {
8349
8369
  return $EVENT(ctx, state, "NestedPropertyDefinition", NestedPropertyDefinition$0);
8350
8370
  }
8351
- 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) {
8371
+ 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) {
8352
8372
  var open = $1;
8353
8373
  var first = $2;
8354
8374
  var rest = $3;
@@ -8359,16 +8379,34 @@ var require_parser = __commonJS({
8359
8379
  children: [open, first, ...rest, trailing, close]
8360
8380
  };
8361
8381
  });
8362
- function InlineObjectLiteral(ctx, state) {
8363
- return $EVENT(ctx, state, "InlineObjectLiteral", InlineObjectLiteral$0);
8382
+ function ImplicitObjectLiteral(ctx, state) {
8383
+ return $EVENT(ctx, state, "ImplicitObjectLiteral", ImplicitObjectLiteral$0);
8364
8384
  }
8365
- var ImplicitInlineObjectPropertyDelimiter$0 = $S($E(_), Comma, $C(NotDedented, $E(_)));
8366
- var ImplicitInlineObjectPropertyDelimiter$1 = $T($S($Y($S(Nested, NamedProperty)), InsertComma, $C(Nested, $E(_))), function(value) {
8385
+ var ImplicitObjectPropertyDelimiter$0 = $S($E(_), Comma, $C(NotDedented, $E(_)));
8386
+ var ImplicitObjectPropertyDelimiter$1 = $T($S($Y($S(Nested, NamedProperty)), InsertComma, Nested), function(value) {
8367
8387
  return [value[1], value[2]];
8368
8388
  });
8369
- var ImplicitInlineObjectPropertyDelimiter$$ = [ImplicitInlineObjectPropertyDelimiter$0, ImplicitInlineObjectPropertyDelimiter$1];
8370
- function ImplicitInlineObjectPropertyDelimiter(ctx, state) {
8371
- return $EVENT_C(ctx, state, "ImplicitInlineObjectPropertyDelimiter", ImplicitInlineObjectPropertyDelimiter$$);
8389
+ var ImplicitObjectPropertyDelimiter$$ = [ImplicitObjectPropertyDelimiter$0, ImplicitObjectPropertyDelimiter$1];
8390
+ function ImplicitObjectPropertyDelimiter(ctx, state) {
8391
+ return $EVENT_C(ctx, state, "ImplicitObjectPropertyDelimiter", ImplicitObjectPropertyDelimiter$$);
8392
+ }
8393
+ 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) {
8394
+ var open = $1;
8395
+ var first = $2;
8396
+ var rest = $3;
8397
+ var trailing = $4;
8398
+ var close = $5;
8399
+ return {
8400
+ type: "ObjectExpression",
8401
+ children: [open, first, ...rest, trailing, close]
8402
+ };
8403
+ });
8404
+ function InlineObjectLiteral(ctx, state) {
8405
+ return $EVENT(ctx, state, "InlineObjectLiteral", InlineObjectLiteral$0);
8406
+ }
8407
+ var InlineObjectPropertyDelimiter$0 = $S($E(_), Comma, $C(NotDedented, $E(_)));
8408
+ function InlineObjectPropertyDelimiter(ctx, state) {
8409
+ return $EVENT(ctx, state, "InlineObjectPropertyDelimiter", InlineObjectPropertyDelimiter$0);
8372
8410
  }
8373
8411
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
8374
8412
  var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L29, 'ObjectPropertyDelimiter "}"')));
@@ -8689,7 +8727,12 @@ var require_parser = __commonJS({
8689
8727
  v = insertTrimmingSpace(p, "");
8690
8728
  break;
8691
8729
  case "Property":
8692
- v = insertTrimmingSpace(p.value, "");
8730
+ const { value: value2 } = p;
8731
+ if (value2.privateShorthand) {
8732
+ v = value2.privateId;
8733
+ } else {
8734
+ v = insertTrimmingSpace(value2, "");
8735
+ }
8693
8736
  break;
8694
8737
  }
8695
8738
  const exp = processCallMemberExpression({
@@ -9259,8 +9302,11 @@ var require_parser = __commonJS({
9259
9302
  return $EVENT_C(ctx, state, "ModuleItem", ModuleItem$$);
9260
9303
  }
9261
9304
  var StatementListItem$0 = Declaration;
9262
- var StatementListItem$1 = PostfixedStatement;
9263
- var StatementListItem$$ = [StatementListItem$0, StatementListItem$1];
9305
+ var StatementListItem$1 = $TS($S($N($EXPECT($L103, 'StatementListItem "$:"')), ImplicitObjectLiteral), function($skip, $loc, $0, $1, $2) {
9306
+ return makeLeftHandSideExpression($2);
9307
+ });
9308
+ var StatementListItem$2 = PostfixedStatement;
9309
+ var StatementListItem$$ = [StatementListItem$0, StatementListItem$1, StatementListItem$2];
9264
9310
  function StatementListItem(ctx, state) {
9265
9311
  return $EVENT_C(ctx, state, "StatementListItem", StatementListItem$$);
9266
9312
  }
@@ -9366,7 +9412,7 @@ var require_parser = __commonJS({
9366
9412
  function NoCommaStatement(ctx, state) {
9367
9413
  return $EVENT_C(ctx, state, "NoCommaStatement", NoCommaStatement$$);
9368
9414
  }
9369
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L103, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9415
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L104, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9370
9416
  return { type: "EmptyStatement", children: $1 || [] };
9371
9417
  });
9372
9418
  function EmptyStatement(ctx, state) {
@@ -9397,7 +9443,7 @@ var require_parser = __commonJS({
9397
9443
  var w = $3;
9398
9444
  return [id, colon, w];
9399
9445
  });
9400
- var Label$1 = $S($EXPECT($L104, 'Label "$:"'), Whitespace);
9446
+ var Label$1 = $S($EXPECT($L103, 'Label "$:"'), Whitespace);
9401
9447
  var Label$$ = [Label$0, Label$1];
9402
9448
  function Label(ctx, state) {
9403
9449
  return $EVENT_C(ctx, state, "Label", Label$$);
@@ -10555,16 +10601,26 @@ var require_parser = __commonJS({
10555
10601
  function MaybeNestedExpression(ctx, state) {
10556
10602
  return $EVENT_C(ctx, state, "MaybeNestedExpression", MaybeNestedExpression$$);
10557
10603
  }
10558
- var ImportDeclaration$0 = $T($S(Import, __, TypeKeyword, __, ImportClause, __, FromClause, $E(ImportAssertion)), function(value) {
10604
+ 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) {
10605
+ const imp = [
10606
+ { ...$1, ts: true },
10607
+ { ...$1, token: "const", js: true }
10608
+ ];
10609
+ return {
10610
+ type: "ImportDeclaration",
10611
+ children: [imp, $0.slice(1)]
10612
+ };
10613
+ });
10614
+ var ImportDeclaration$1 = $T($S(Import, __, TypeKeyword, __, ImportClause, __, FromClause, $E(ImportAssertion)), function(value) {
10559
10615
  return { "type": "ImportDeclaration", "ts": true, "children": value };
10560
10616
  });
10561
- var ImportDeclaration$1 = $T($S(Import, __, ImportClause, __, FromClause, $E(ImportAssertion)), function(value) {
10617
+ var ImportDeclaration$2 = $T($S(Import, __, ImportClause, __, FromClause, $E(ImportAssertion)), function(value) {
10562
10618
  return { "type": "ImportDeclaration", "children": value };
10563
10619
  });
10564
- var ImportDeclaration$2 = $T($S(Import, __, ModuleSpecifier, $E(ImportAssertion)), function(value) {
10620
+ var ImportDeclaration$3 = $T($S(Import, __, ModuleSpecifier, $E(ImportAssertion)), function(value) {
10565
10621
  return { "type": "ImportDeclaration", "children": value };
10566
10622
  });
10567
- var ImportDeclaration$3 = $TS($S(ImpliedImport, $E($S(TypeKeyword, __)), ImportClause, __, FromClause, $E(ImportAssertion)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10623
+ var ImportDeclaration$4 = $TS($S(ImpliedImport, $E($S(TypeKeyword, __)), ImportClause, __, FromClause, $E(ImportAssertion)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10568
10624
  var i = $1;
10569
10625
  var t = $2;
10570
10626
  var c = $3;
@@ -10580,7 +10636,7 @@ var require_parser = __commonJS({
10580
10636
  return children;
10581
10637
  return { type: "ImportDeclaration", ts: true, children };
10582
10638
  });
10583
- var ImportDeclaration$$ = [ImportDeclaration$0, ImportDeclaration$1, ImportDeclaration$2, ImportDeclaration$3];
10639
+ var ImportDeclaration$$ = [ImportDeclaration$0, ImportDeclaration$1, ImportDeclaration$2, ImportDeclaration$3, ImportDeclaration$4];
10584
10640
  function ImportDeclaration(ctx, state) {
10585
10641
  return $EVENT_C(ctx, state, "ImportDeclaration", ImportDeclaration$$);
10586
10642
  }
@@ -10639,7 +10695,7 @@ var require_parser = __commonJS({
10639
10695
  function FromClause(ctx, state) {
10640
10696
  return $EVENT(ctx, state, "FromClause", FromClause$0);
10641
10697
  }
10642
- var ImportAssertion$0 = $S($E(_), $C($EXPECT($L108, 'ImportAssertion "with"'), $EXPECT($L109, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10698
+ var ImportAssertion$0 = $S($E(_), $C($EXPECT($L109, 'ImportAssertion "with"'), $EXPECT($L110, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10643
10699
  function ImportAssertion(ctx, state) {
10644
10700
  return $EVENT(ctx, state, "ImportAssertion", ImportAssertion$0);
10645
10701
  }
@@ -10713,10 +10769,17 @@ var require_parser = __commonJS({
10713
10769
  return $EVENT_C(ctx, state, "ModuleExportName", ModuleExportName$$);
10714
10770
  }
10715
10771
  var ModuleSpecifier$0 = $TS($S(UnprocessedModuleSpecifier), function($skip, $loc, $0, $1) {
10716
- if (!module.config.rewriteTsImports)
10717
- return $1;
10718
- const { token } = $1;
10719
- return { $loc, token: token.replace(/\.([mc])?ts(['"])$/, ".$1js$2") };
10772
+ let { token } = $1;
10773
+ if (module.config.rewriteTsImports) {
10774
+ token = token.replace(/\.([mc])?ts(['"])$/, ".$1js$2");
10775
+ }
10776
+ if (module.config.rewriteCivetImports) {
10777
+ token = token.replace(
10778
+ /\.civet(['"])$/,
10779
+ `${module.config.rewriteCivetImports.replace(/\$/g, "$$")}$1`
10780
+ );
10781
+ }
10782
+ return { ...$1, token };
10720
10783
  });
10721
10784
  function ModuleSpecifier(ctx, state) {
10722
10785
  return $EVENT(ctx, state, "ModuleSpecifier", ModuleSpecifier$0);
@@ -10738,18 +10801,55 @@ var require_parser = __commonJS({
10738
10801
  function ImportedBinding(ctx, state) {
10739
10802
  return $EVENT(ctx, state, "ImportedBinding", ImportedBinding$0);
10740
10803
  }
10741
- var ExportDeclaration$0 = $TS($S($E(Decorators), Export, __, Default, __, $C(HoistableDeclaration, ClassDeclaration, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10804
+ var ExportDeclaration$0 = $TS($S(Export, $E(_), Equals, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
10805
+ const exp = [
10806
+ { ...$1, ts: true },
10807
+ { ...$1, token: "module.exports", js: true }
10808
+ ];
10809
+ return {
10810
+ type: "ExportDeclaration",
10811
+ children: [exp, $0.slice(1)]
10812
+ };
10813
+ });
10814
+ var ExportDeclaration$1 = $TS($S($E(Decorators), Export, __, Default, __, $N(FunctionDeclaration), $C(LexicalDeclaration, VariableStatement, TypeAliasDeclaration, NamespaceDeclaration, EnumDeclaration, OperatorDeclaration)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
10815
+ var declaration = $7;
10816
+ let id, error;
10817
+ if (declaration.id) {
10818
+ id = declaration.id;
10819
+ } else if (declaration.names) {
10820
+ if (declaration.names.length !== 1) {
10821
+ error = {
10822
+ type: "Error",
10823
+ message: `export default with ${declaration.names.length} variable declaration (should be 1)`
10824
+ };
10825
+ }
10826
+ id = declaration.names[0];
10827
+ } else {
10828
+ throw new Error("Could not find name of declaration in export default");
10829
+ }
10830
+ return [
10831
+ declaration,
10832
+ { children: [";"], ts: declaration.ts },
10833
+ error ?? {
10834
+ type: "ExportDeclaration",
10835
+ declaration: id,
10836
+ ts: declaration.ts,
10837
+ children: [...$0.slice(0, -2), id]
10838
+ }
10839
+ ];
10840
+ });
10841
+ var ExportDeclaration$2 = $TS($S($E(Decorators), Export, __, Default, __, $C(HoistableDeclaration, ClassDeclaration, InterfaceDeclaration, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10742
10842
  var declaration = $6;
10743
- return { type: "ExportDeclaration", declaration, children: $0 };
10843
+ return { type: "ExportDeclaration", declaration, ts: declaration.ts, children: $0 };
10744
10844
  });
10745
- var ExportDeclaration$1 = $TS($S(Export, __, ExportFromClause, __, FromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10845
+ var ExportDeclaration$3 = $TS($S(Export, __, ExportFromClause, __, FromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10746
10846
  return { type: "ExportDeclaration", ts: $3.ts, children: $0 };
10747
10847
  });
10748
- var ExportDeclaration$2 = $TS($S($E(Decorators), Export, __, $C(Declaration, VariableStatement, TypeAndNamedExports, ExportVarDec)), function($skip, $loc, $0, $1, $2, $3, $4) {
10848
+ var ExportDeclaration$4 = $TS($S($E(Decorators), Export, __, $C(Declaration, VariableStatement, TypeAndNamedExports, ExportVarDec)), function($skip, $loc, $0, $1, $2, $3, $4) {
10749
10849
  var declaration = $4;
10750
10850
  return { type: "ExportDeclaration", declaration, ts: declaration.ts, children: $0 };
10751
10851
  });
10752
- var ExportDeclaration$$ = [ExportDeclaration$0, ExportDeclaration$1, ExportDeclaration$2];
10852
+ var ExportDeclaration$$ = [ExportDeclaration$0, ExportDeclaration$1, ExportDeclaration$2, ExportDeclaration$3, ExportDeclaration$4];
10753
10853
  function ExportDeclaration(ctx, state) {
10754
10854
  return $EVENT_C(ctx, state, "ExportDeclaration", ExportDeclaration$$);
10755
10855
  }
@@ -10777,7 +10877,7 @@ var require_parser = __commonJS({
10777
10877
  return $EVENT(ctx, state, "TypeAndNamedExports", TypeAndNamedExports$0);
10778
10878
  }
10779
10879
  var NamedExports$0 = $S(OpenBrace, $Q(ExportSpecifier), $E($S(__, Comma)), __, CloseBrace);
10780
- 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) {
10880
+ 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) {
10781
10881
  var open = $1;
10782
10882
  var first = $2;
10783
10883
  var rest = $3;
@@ -10859,13 +10959,13 @@ var require_parser = __commonJS({
10859
10959
  function LexicalDeclaration(ctx, state) {
10860
10960
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
10861
10961
  }
10862
- var ConstAssignment$0 = $TV($C($EXPECT($L110, 'ConstAssignment ":="'), $EXPECT($L111, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10962
+ var ConstAssignment$0 = $TV($C($EXPECT($L111, 'ConstAssignment ":="'), $EXPECT($L112, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10863
10963
  return { $loc, token: "=" };
10864
10964
  });
10865
10965
  function ConstAssignment(ctx, state) {
10866
10966
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
10867
10967
  }
10868
- var LetAssignment$0 = $TV($EXPECT($L112, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10968
+ var LetAssignment$0 = $TV($EXPECT($L113, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10869
10969
  return { $loc, token: "=" };
10870
10970
  });
10871
10971
  function LetAssignment(ctx, state) {
@@ -10913,6 +11013,7 @@ var require_parser = __commonJS({
10913
11013
  var VariableStatement$0 = $TS($S(Var, __, VariableDeclarationList), function($skip, $loc, $0, $1, $2, $3) {
10914
11014
  return {
10915
11015
  ...$3,
11016
+ names: $3.names,
10916
11017
  children: [$1, ...$2, ...$3.children]
10917
11018
  };
10918
11019
  });
@@ -11271,7 +11372,7 @@ var require_parser = __commonJS({
11271
11372
  function MultiLineComment(ctx, state) {
11272
11373
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
11273
11374
  }
11274
- 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) {
11375
+ 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) {
11275
11376
  return { type: "Comment", $loc, token: $1 };
11276
11377
  });
11277
11378
  function JSMultiLineComment(ctx, state) {
@@ -11317,7 +11418,7 @@ var require_parser = __commonJS({
11317
11418
  var NonNewlineWhitespace$0 = $TR($EXPECT($R65, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11318
11419
  return { $loc, token: $0 };
11319
11420
  });
11320
- var NonNewlineWhitespace$1 = $T($S($EXPECT($L115, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
11421
+ var NonNewlineWhitespace$1 = $T($S($EXPECT($L116, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
11321
11422
  return " ";
11322
11423
  });
11323
11424
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
@@ -11363,7 +11464,7 @@ var require_parser = __commonJS({
11363
11464
  }
11364
11465
  var StatementDelimiter$0 = $Y(EOS);
11365
11466
  var StatementDelimiter$1 = SemicolonDelimiter;
11366
- var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L29, 'StatementDelimiter "}"'), $EXPECT($L116, 'StatementDelimiter ")"'), $EXPECT($L38, 'StatementDelimiter "]"'))));
11467
+ var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L29, 'StatementDelimiter "}"'), $EXPECT($L117, 'StatementDelimiter ")"'), $EXPECT($L38, 'StatementDelimiter "]"'))));
11367
11468
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2];
11368
11469
  function StatementDelimiter(ctx, state) {
11369
11470
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -11387,7 +11488,7 @@ var require_parser = __commonJS({
11387
11488
  function Loc(ctx, state) {
11388
11489
  return $EVENT(ctx, state, "Loc", Loc$0);
11389
11490
  }
11390
- var Abstract$0 = $TV($TEXT($S($EXPECT($L117, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L15, 'Abstract " "')))), function($skip, $loc, $0, $1) {
11491
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L118, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L15, 'Abstract " "')))), function($skip, $loc, $0, $1) {
11391
11492
  return { $loc, token: $1, ts: true };
11392
11493
  });
11393
11494
  function Abstract(ctx, state) {
@@ -11399,43 +11500,43 @@ var require_parser = __commonJS({
11399
11500
  function Ampersand(ctx, state) {
11400
11501
  return $EVENT(ctx, state, "Ampersand", Ampersand$0);
11401
11502
  }
11402
- var As$0 = $TS($S($EXPECT($L118, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11503
+ var As$0 = $TS($S($EXPECT($L119, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11403
11504
  return { $loc, token: $1 };
11404
11505
  });
11405
11506
  function As(ctx, state) {
11406
11507
  return $EVENT(ctx, state, "As", As$0);
11407
11508
  }
11408
- var At$0 = $TV($EXPECT($L119, 'At "@"'), function($skip, $loc, $0, $1) {
11509
+ var At$0 = $TV($EXPECT($L120, 'At "@"'), function($skip, $loc, $0, $1) {
11409
11510
  return { $loc, token: $1 };
11410
11511
  });
11411
11512
  function At(ctx, state) {
11412
11513
  return $EVENT(ctx, state, "At", At$0);
11413
11514
  }
11414
- var AtAt$0 = $TV($EXPECT($L120, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
11515
+ var AtAt$0 = $TV($EXPECT($L121, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
11415
11516
  return { $loc, token: "@" };
11416
11517
  });
11417
11518
  function AtAt(ctx, state) {
11418
11519
  return $EVENT(ctx, state, "AtAt", AtAt$0);
11419
11520
  }
11420
- var Async$0 = $TS($S($EXPECT($L121, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11521
+ var Async$0 = $TS($S($EXPECT($L122, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11421
11522
  return { $loc, token: $1, type: "Async" };
11422
11523
  });
11423
11524
  function Async(ctx, state) {
11424
11525
  return $EVENT(ctx, state, "Async", Async$0);
11425
11526
  }
11426
- var Await$0 = $TS($S($EXPECT($L122, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11527
+ var Await$0 = $TS($S($EXPECT($L123, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11427
11528
  return { $loc, token: $1, type: "Await" };
11428
11529
  });
11429
11530
  function Await(ctx, state) {
11430
11531
  return $EVENT(ctx, state, "Await", Await$0);
11431
11532
  }
11432
- var Backtick$0 = $TV($EXPECT($L123, 'Backtick "`"'), function($skip, $loc, $0, $1) {
11533
+ var Backtick$0 = $TV($EXPECT($L124, 'Backtick "`"'), function($skip, $loc, $0, $1) {
11433
11534
  return { $loc, token: $1 };
11434
11535
  });
11435
11536
  function Backtick(ctx, state) {
11436
11537
  return $EVENT(ctx, state, "Backtick", Backtick$0);
11437
11538
  }
11438
- var By$0 = $TS($S($EXPECT($L124, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11539
+ var By$0 = $TS($S($EXPECT($L125, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11439
11540
  return { $loc, token: $1 };
11440
11541
  });
11441
11542
  function By(ctx, state) {
@@ -11447,19 +11548,19 @@ var require_parser = __commonJS({
11447
11548
  function Caret(ctx, state) {
11448
11549
  return $EVENT(ctx, state, "Caret", Caret$0);
11449
11550
  }
11450
- var Case$0 = $TS($S($EXPECT($L125, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11551
+ var Case$0 = $TS($S($EXPECT($L126, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11451
11552
  return { $loc, token: $1 };
11452
11553
  });
11453
11554
  function Case(ctx, state) {
11454
11555
  return $EVENT(ctx, state, "Case", Case$0);
11455
11556
  }
11456
- var Catch$0 = $TS($S($EXPECT($L126, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11557
+ var Catch$0 = $TS($S($EXPECT($L127, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11457
11558
  return { $loc, token: $1 };
11458
11559
  });
11459
11560
  function Catch(ctx, state) {
11460
11561
  return $EVENT(ctx, state, "Catch", Catch$0);
11461
11562
  }
11462
- var Class$0 = $TS($S($EXPECT($L127, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11563
+ var Class$0 = $TS($S($EXPECT($L128, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11463
11564
  return { $loc, token: $1 };
11464
11565
  });
11465
11566
  function Class(ctx, state) {
@@ -11483,13 +11584,13 @@ var require_parser = __commonJS({
11483
11584
  function CloseBracket(ctx, state) {
11484
11585
  return $EVENT(ctx, state, "CloseBracket", CloseBracket$0);
11485
11586
  }
11486
- var CloseParen$0 = $TV($EXPECT($L116, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11587
+ var CloseParen$0 = $TV($EXPECT($L117, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11487
11588
  return { $loc, token: $1 };
11488
11589
  });
11489
11590
  function CloseParen(ctx, state) {
11490
11591
  return $EVENT(ctx, state, "CloseParen", CloseParen$0);
11491
11592
  }
11492
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L128, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11593
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L129, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11493
11594
  return { $loc, token: "${" };
11494
11595
  });
11495
11596
  function CoffeeSubstitutionStart(ctx, state) {
@@ -11507,31 +11608,31 @@ var require_parser = __commonJS({
11507
11608
  function Comma(ctx, state) {
11508
11609
  return $EVENT(ctx, state, "Comma", Comma$0);
11509
11610
  }
11510
- var ConstructorShorthand$0 = $TV($EXPECT($L119, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11611
+ var ConstructorShorthand$0 = $TV($EXPECT($L120, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11511
11612
  return { $loc, token: "constructor" };
11512
11613
  });
11513
11614
  function ConstructorShorthand(ctx, state) {
11514
11615
  return $EVENT(ctx, state, "ConstructorShorthand", ConstructorShorthand$0);
11515
11616
  }
11516
- var Declare$0 = $TS($S($EXPECT($L129, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11617
+ var Declare$0 = $TS($S($EXPECT($L130, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11517
11618
  return { $loc, token: $1 };
11518
11619
  });
11519
11620
  function Declare(ctx, state) {
11520
11621
  return $EVENT(ctx, state, "Declare", Declare$0);
11521
11622
  }
11522
- var Default$0 = $TS($S($EXPECT($L130, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11623
+ var Default$0 = $TS($S($EXPECT($L131, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11523
11624
  return { $loc, token: $1 };
11524
11625
  });
11525
11626
  function Default(ctx, state) {
11526
11627
  return $EVENT(ctx, state, "Default", Default$0);
11527
11628
  }
11528
- var Delete$0 = $TS($S($EXPECT($L131, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11629
+ var Delete$0 = $TS($S($EXPECT($L132, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11529
11630
  return { $loc, token: $1 };
11530
11631
  });
11531
11632
  function Delete(ctx, state) {
11532
11633
  return $EVENT(ctx, state, "Delete", Delete$0);
11533
11634
  }
11534
- var Do$0 = $TS($S($EXPECT($L132, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11635
+ var Do$0 = $TS($S($EXPECT($L133, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11535
11636
  return { $loc, token: $1 };
11536
11637
  });
11537
11638
  function Do(ctx, state) {
@@ -11551,45 +11652,45 @@ var require_parser = __commonJS({
11551
11652
  function Dot(ctx, state) {
11552
11653
  return $EVENT_C(ctx, state, "Dot", Dot$$);
11553
11654
  }
11554
- var DotDot$0 = $TS($S($EXPECT($L133, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11655
+ var DotDot$0 = $TS($S($EXPECT($L134, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11555
11656
  return { $loc, token: $1 };
11556
11657
  });
11557
- var DotDot$1 = $TV($EXPECT($L134, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11658
+ var DotDot$1 = $TV($EXPECT($L135, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11558
11659
  return { $loc, token: ".." };
11559
11660
  });
11560
11661
  var DotDot$$ = [DotDot$0, DotDot$1];
11561
11662
  function DotDot(ctx, state) {
11562
11663
  return $EVENT_C(ctx, state, "DotDot", DotDot$$);
11563
11664
  }
11564
- var DotDotDot$0 = $TV($EXPECT($L135, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11665
+ var DotDotDot$0 = $TV($EXPECT($L136, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11565
11666
  return { $loc, token: $1 };
11566
11667
  });
11567
- var DotDotDot$1 = $TV($EXPECT($L136, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11668
+ var DotDotDot$1 = $TV($EXPECT($L137, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11568
11669
  return { $loc, token: "..." };
11569
11670
  });
11570
11671
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
11571
11672
  function DotDotDot(ctx, state) {
11572
11673
  return $EVENT_C(ctx, state, "DotDotDot", DotDotDot$$);
11573
11674
  }
11574
- var DoubleColon$0 = $TV($EXPECT($L137, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11675
+ var DoubleColon$0 = $TV($EXPECT($L138, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11575
11676
  return { $loc, token: $1 };
11576
11677
  });
11577
11678
  function DoubleColon(ctx, state) {
11578
11679
  return $EVENT(ctx, state, "DoubleColon", DoubleColon$0);
11579
11680
  }
11580
- var DoubleQuote$0 = $TV($EXPECT($L138, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11681
+ var DoubleQuote$0 = $TV($EXPECT($L139, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11581
11682
  return { $loc, token: $1 };
11582
11683
  });
11583
11684
  function DoubleQuote(ctx, state) {
11584
11685
  return $EVENT(ctx, state, "DoubleQuote", DoubleQuote$0);
11585
11686
  }
11586
- var Each$0 = $TS($S($EXPECT($L139, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11687
+ var Each$0 = $TS($S($EXPECT($L140, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11587
11688
  return { $loc, token: $1 };
11588
11689
  });
11589
11690
  function Each(ctx, state) {
11590
11691
  return $EVENT(ctx, state, "Each", Each$0);
11591
11692
  }
11592
- var Else$0 = $TS($S($EXPECT($L140, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11693
+ var Else$0 = $TS($S($EXPECT($L141, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11593
11694
  return { $loc, token: $1 };
11594
11695
  });
11595
11696
  function Else(ctx, state) {
@@ -11607,55 +11708,55 @@ var require_parser = __commonJS({
11607
11708
  function ExclamationPoint(ctx, state) {
11608
11709
  return $EVENT(ctx, state, "ExclamationPoint", ExclamationPoint$0);
11609
11710
  }
11610
- var Export$0 = $TS($S($EXPECT($L141, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11711
+ var Export$0 = $TS($S($EXPECT($L142, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11611
11712
  return { $loc, token: $1 };
11612
11713
  });
11613
11714
  function Export(ctx, state) {
11614
11715
  return $EVENT(ctx, state, "Export", Export$0);
11615
11716
  }
11616
- var Extends$0 = $TS($S($EXPECT($L142, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11717
+ var Extends$0 = $TS($S($EXPECT($L143, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11617
11718
  return { $loc, token: $1 };
11618
11719
  });
11619
11720
  function Extends(ctx, state) {
11620
11721
  return $EVENT(ctx, state, "Extends", Extends$0);
11621
11722
  }
11622
- var Finally$0 = $TS($S($EXPECT($L143, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11723
+ var Finally$0 = $TS($S($EXPECT($L144, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11623
11724
  return { $loc, token: $1 };
11624
11725
  });
11625
11726
  function Finally(ctx, state) {
11626
11727
  return $EVENT(ctx, state, "Finally", Finally$0);
11627
11728
  }
11628
- var For$0 = $TS($S($EXPECT($L144, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11729
+ var For$0 = $TS($S($EXPECT($L145, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11629
11730
  return { $loc, token: $1 };
11630
11731
  });
11631
11732
  function For(ctx, state) {
11632
11733
  return $EVENT(ctx, state, "For", For$0);
11633
11734
  }
11634
- var From$0 = $TS($S($EXPECT($L145, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11735
+ var From$0 = $TS($S($EXPECT($L146, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11635
11736
  return { $loc, token: $1 };
11636
11737
  });
11637
11738
  function From(ctx, state) {
11638
11739
  return $EVENT(ctx, state, "From", From$0);
11639
11740
  }
11640
- var Function$0 = $TS($S($EXPECT($L146, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11741
+ var Function$0 = $TS($S($EXPECT($L147, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11641
11742
  return { $loc, token: $1 };
11642
11743
  });
11643
11744
  function Function(ctx, state) {
11644
11745
  return $EVENT(ctx, state, "Function", Function$0);
11645
11746
  }
11646
- var GetOrSet$0 = $TS($S($C($EXPECT($L147, 'GetOrSet "get"'), $EXPECT($L148, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11747
+ var GetOrSet$0 = $TS($S($C($EXPECT($L148, 'GetOrSet "get"'), $EXPECT($L149, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11647
11748
  return { $loc, token: $1, type: "GetOrSet" };
11648
11749
  });
11649
11750
  function GetOrSet(ctx, state) {
11650
11751
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
11651
11752
  }
11652
- var Hash$0 = $TV($EXPECT($L149, 'Hash "#"'), function($skip, $loc, $0, $1) {
11753
+ var Hash$0 = $TV($EXPECT($L150, 'Hash "#"'), function($skip, $loc, $0, $1) {
11653
11754
  return { $loc, token: $1 };
11654
11755
  });
11655
11756
  function Hash(ctx, state) {
11656
11757
  return $EVENT(ctx, state, "Hash", Hash$0);
11657
11758
  }
11658
- var If$0 = $TV($TEXT($S($EXPECT($L150, 'If "if"'), NonIdContinue, $E($EXPECT($L15, 'If " "')))), function($skip, $loc, $0, $1) {
11759
+ var If$0 = $TV($TEXT($S($EXPECT($L151, 'If "if"'), NonIdContinue, $E($EXPECT($L15, 'If " "')))), function($skip, $loc, $0, $1) {
11659
11760
  return { $loc, token: $1 };
11660
11761
  });
11661
11762
  function If(ctx, state) {
@@ -11667,25 +11768,31 @@ var require_parser = __commonJS({
11667
11768
  function Import(ctx, state) {
11668
11769
  return $EVENT(ctx, state, "Import", Import$0);
11669
11770
  }
11670
- var In$0 = $TS($S($EXPECT($L151, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11771
+ var In$0 = $TS($S($EXPECT($L152, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11671
11772
  return { $loc, token: $1 };
11672
11773
  });
11673
11774
  function In(ctx, state) {
11674
11775
  return $EVENT(ctx, state, "In", In$0);
11675
11776
  }
11676
- var LetOrConst$0 = $TS($S($C($EXPECT($L152, 'LetOrConst "let"'), $EXPECT($L153, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11777
+ var Infer$0 = $TS($S($EXPECT($L153, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11778
+ return { $loc, token: $1 };
11779
+ });
11780
+ function Infer(ctx, state) {
11781
+ return $EVENT(ctx, state, "Infer", Infer$0);
11782
+ }
11783
+ var LetOrConst$0 = $TS($S($C($EXPECT($L154, 'LetOrConst "let"'), $EXPECT($L155, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11677
11784
  return { $loc, token: $1 };
11678
11785
  });
11679
11786
  function LetOrConst(ctx, state) {
11680
11787
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
11681
11788
  }
11682
- var Const$0 = $TS($S($EXPECT($L153, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11789
+ var Const$0 = $TS($S($EXPECT($L155, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11683
11790
  return { $loc, token: $1 };
11684
11791
  });
11685
11792
  function Const(ctx, state) {
11686
11793
  return $EVENT(ctx, state, "Const", Const$0);
11687
11794
  }
11688
- var Is$0 = $TS($S($EXPECT($L154, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11795
+ var Is$0 = $TS($S($EXPECT($L156, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11689
11796
  return { $loc, token: $1 };
11690
11797
  });
11691
11798
  function Is(ctx, state) {
@@ -11697,25 +11804,25 @@ var require_parser = __commonJS({
11697
11804
  function LetOrConstOrVar(ctx, state) {
11698
11805
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
11699
11806
  }
11700
- var Loop$0 = $TS($S($EXPECT($L155, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11807
+ var Loop$0 = $TS($S($EXPECT($L157, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11701
11808
  return { $loc, token: "while(true)" };
11702
11809
  });
11703
11810
  function Loop(ctx, state) {
11704
11811
  return $EVENT(ctx, state, "Loop", Loop$0);
11705
11812
  }
11706
- var New$0 = $TS($S($EXPECT($L156, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11813
+ var New$0 = $TS($S($EXPECT($L158, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11707
11814
  return { $loc, token: $1 };
11708
11815
  });
11709
11816
  function New(ctx, state) {
11710
11817
  return $EVENT(ctx, state, "New", New$0);
11711
11818
  }
11712
- var Not$0 = $TS($S($EXPECT($L157, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L14, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11819
+ var Not$0 = $TS($S($EXPECT($L159, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L14, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11713
11820
  return { $loc, token: "!" };
11714
11821
  });
11715
11822
  function Not(ctx, state) {
11716
11823
  return $EVENT(ctx, state, "Not", Not$0);
11717
11824
  }
11718
- var Of$0 = $TS($S($EXPECT($L158, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11825
+ var Of$0 = $TS($S($EXPECT($L160, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11719
11826
  return { $loc, token: $1 };
11720
11827
  });
11721
11828
  function Of(ctx, state) {
@@ -11733,7 +11840,7 @@ var require_parser = __commonJS({
11733
11840
  function OpenBrace(ctx, state) {
11734
11841
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
11735
11842
  }
11736
- var OpenBracket$0 = $TV($EXPECT($L159, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11843
+ var OpenBracket$0 = $TV($EXPECT($L161, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11737
11844
  return { $loc, token: $1 };
11738
11845
  });
11739
11846
  function OpenBracket(ctx, state) {
@@ -11745,43 +11852,43 @@ var require_parser = __commonJS({
11745
11852
  function OpenParen(ctx, state) {
11746
11853
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
11747
11854
  }
11748
- var Operator$0 = $TS($S($EXPECT($L160, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11855
+ var Operator$0 = $TS($S($EXPECT($L162, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11749
11856
  return { $loc, token: $1 };
11750
11857
  });
11751
11858
  function Operator(ctx, state) {
11752
11859
  return $EVENT(ctx, state, "Operator", Operator$0);
11753
11860
  }
11754
- var Own$0 = $TS($S($EXPECT($L161, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11861
+ var Own$0 = $TS($S($EXPECT($L163, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11755
11862
  return { $loc, token: $1 };
11756
11863
  });
11757
11864
  function Own(ctx, state) {
11758
11865
  return $EVENT(ctx, state, "Own", Own$0);
11759
11866
  }
11760
- var Public$0 = $TS($S($EXPECT($L162, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11867
+ var Public$0 = $TS($S($EXPECT($L164, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11761
11868
  return { $loc, token: $1 };
11762
11869
  });
11763
11870
  function Public(ctx, state) {
11764
11871
  return $EVENT(ctx, state, "Public", Public$0);
11765
11872
  }
11766
- var Private$0 = $TS($S($EXPECT($L163, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11873
+ var Private$0 = $TS($S($EXPECT($L165, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11767
11874
  return { $loc, token: $1 };
11768
11875
  });
11769
11876
  function Private(ctx, state) {
11770
11877
  return $EVENT(ctx, state, "Private", Private$0);
11771
11878
  }
11772
- var Protected$0 = $TS($S($EXPECT($L164, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11879
+ var Protected$0 = $TS($S($EXPECT($L166, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11773
11880
  return { $loc, token: $1 };
11774
11881
  });
11775
11882
  function Protected(ctx, state) {
11776
11883
  return $EVENT(ctx, state, "Protected", Protected$0);
11777
11884
  }
11778
- var Pipe$0 = $TV($C($EXPECT($L165, 'Pipe "||>"'), $EXPECT($L166, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11885
+ var Pipe$0 = $TV($C($EXPECT($L167, 'Pipe "||>"'), $EXPECT($L168, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11779
11886
  return { $loc, token: "||>" };
11780
11887
  });
11781
- var Pipe$1 = $TV($C($EXPECT($L167, 'Pipe "|>="'), $EXPECT($L168, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11888
+ var Pipe$1 = $TV($C($EXPECT($L169, 'Pipe "|>="'), $EXPECT($L170, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11782
11889
  return { $loc, token: "|>=" };
11783
11890
  });
11784
- var Pipe$2 = $TV($C($EXPECT($L169, 'Pipe "|>"'), $EXPECT($L170, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11891
+ var Pipe$2 = $TV($C($EXPECT($L171, 'Pipe "|>"'), $EXPECT($L172, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11785
11892
  return { $loc, token: "|>" };
11786
11893
  });
11787
11894
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -11794,31 +11901,31 @@ var require_parser = __commonJS({
11794
11901
  function QuestionMark(ctx, state) {
11795
11902
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
11796
11903
  }
11797
- var Readonly$0 = $TS($S($EXPECT($L171, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11904
+ var Readonly$0 = $TS($S($EXPECT($L173, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11798
11905
  return { $loc, token: $1, ts: true };
11799
11906
  });
11800
11907
  function Readonly(ctx, state) {
11801
11908
  return $EVENT(ctx, state, "Readonly", Readonly$0);
11802
11909
  }
11803
- var Return$0 = $TS($S($EXPECT($L172, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11910
+ var Return$0 = $TS($S($EXPECT($L174, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11804
11911
  return { $loc, token: $1 };
11805
11912
  });
11806
11913
  function Return(ctx, state) {
11807
11914
  return $EVENT(ctx, state, "Return", Return$0);
11808
11915
  }
11809
- var Satisfies$0 = $TS($S($EXPECT($L173, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11916
+ var Satisfies$0 = $TS($S($EXPECT($L175, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11810
11917
  return { $loc, token: $1 };
11811
11918
  });
11812
11919
  function Satisfies(ctx, state) {
11813
11920
  return $EVENT(ctx, state, "Satisfies", Satisfies$0);
11814
11921
  }
11815
- var Semicolon$0 = $TV($EXPECT($L103, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11922
+ var Semicolon$0 = $TV($EXPECT($L104, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11816
11923
  return { $loc, token: $1 };
11817
11924
  });
11818
11925
  function Semicolon(ctx, state) {
11819
11926
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
11820
11927
  }
11821
- var SingleQuote$0 = $TV($EXPECT($L174, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11928
+ var SingleQuote$0 = $TV($EXPECT($L176, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11822
11929
  return { $loc, token: $1 };
11823
11930
  });
11824
11931
  function SingleQuote(ctx, state) {
@@ -11830,137 +11937,137 @@ var require_parser = __commonJS({
11830
11937
  function Star(ctx, state) {
11831
11938
  return $EVENT(ctx, state, "Star", Star$0);
11832
11939
  }
11833
- var Static$0 = $TS($S($EXPECT($L175, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11940
+ var Static$0 = $TS($S($EXPECT($L177, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11834
11941
  return { $loc, token: $1 };
11835
11942
  });
11836
- var Static$1 = $TS($S($EXPECT($L119, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L119, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11943
+ var Static$1 = $TS($S($EXPECT($L120, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L120, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11837
11944
  return { $loc, token: "static " };
11838
11945
  });
11839
11946
  var Static$$ = [Static$0, Static$1];
11840
11947
  function Static(ctx, state) {
11841
11948
  return $EVENT_C(ctx, state, "Static", Static$$);
11842
11949
  }
11843
- var SubstitutionStart$0 = $TV($EXPECT($L176, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11950
+ var SubstitutionStart$0 = $TV($EXPECT($L178, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11844
11951
  return { $loc, token: $1 };
11845
11952
  });
11846
11953
  function SubstitutionStart(ctx, state) {
11847
11954
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
11848
11955
  }
11849
- var Super$0 = $TS($S($EXPECT($L177, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11956
+ var Super$0 = $TS($S($EXPECT($L179, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11850
11957
  return { $loc, token: $1 };
11851
11958
  });
11852
11959
  function Super(ctx, state) {
11853
11960
  return $EVENT(ctx, state, "Super", Super$0);
11854
11961
  }
11855
- var Switch$0 = $TS($S($EXPECT($L178, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11962
+ var Switch$0 = $TS($S($EXPECT($L180, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11856
11963
  return { $loc, token: $1 };
11857
11964
  });
11858
11965
  function Switch(ctx, state) {
11859
11966
  return $EVENT(ctx, state, "Switch", Switch$0);
11860
11967
  }
11861
- var Target$0 = $TS($S($EXPECT($L179, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11968
+ var Target$0 = $TS($S($EXPECT($L181, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11862
11969
  return { $loc, token: $1 };
11863
11970
  });
11864
11971
  function Target(ctx, state) {
11865
11972
  return $EVENT(ctx, state, "Target", Target$0);
11866
11973
  }
11867
- var Then$0 = $TS($S(__, $EXPECT($L180, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11974
+ var Then$0 = $TS($S(__, $EXPECT($L182, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11868
11975
  return { $loc, token: "" };
11869
11976
  });
11870
11977
  function Then(ctx, state) {
11871
11978
  return $EVENT(ctx, state, "Then", Then$0);
11872
11979
  }
11873
- var This$0 = $TS($S($EXPECT($L181, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11980
+ var This$0 = $TS($S($EXPECT($L183, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11874
11981
  return { $loc, token: $1 };
11875
11982
  });
11876
11983
  function This(ctx, state) {
11877
11984
  return $EVENT(ctx, state, "This", This$0);
11878
11985
  }
11879
- var Throw$0 = $TS($S($EXPECT($L182, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11986
+ var Throw$0 = $TS($S($EXPECT($L184, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11880
11987
  return { $loc, token: $1 };
11881
11988
  });
11882
11989
  function Throw(ctx, state) {
11883
11990
  return $EVENT(ctx, state, "Throw", Throw$0);
11884
11991
  }
11885
- var TripleDoubleQuote$0 = $TV($EXPECT($L183, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11992
+ var TripleDoubleQuote$0 = $TV($EXPECT($L185, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11886
11993
  return { $loc, token: "`" };
11887
11994
  });
11888
11995
  function TripleDoubleQuote(ctx, state) {
11889
11996
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
11890
11997
  }
11891
- var TripleSingleQuote$0 = $TV($EXPECT($L184, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11998
+ var TripleSingleQuote$0 = $TV($EXPECT($L186, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11892
11999
  return { $loc, token: "`" };
11893
12000
  });
11894
12001
  function TripleSingleQuote(ctx, state) {
11895
12002
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
11896
12003
  }
11897
- var TripleSlash$0 = $TV($EXPECT($L185, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
12004
+ var TripleSlash$0 = $TV($EXPECT($L187, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11898
12005
  return { $loc, token: "/" };
11899
12006
  });
11900
12007
  function TripleSlash(ctx, state) {
11901
12008
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
11902
12009
  }
11903
- var TripleTick$0 = $TV($EXPECT($L186, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
12010
+ var TripleTick$0 = $TV($EXPECT($L188, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11904
12011
  return { $loc, token: "`" };
11905
12012
  });
11906
12013
  function TripleTick(ctx, state) {
11907
12014
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
11908
12015
  }
11909
- var Try$0 = $TS($S($EXPECT($L187, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12016
+ var Try$0 = $TS($S($EXPECT($L189, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11910
12017
  return { $loc, token: $1 };
11911
12018
  });
11912
12019
  function Try(ctx, state) {
11913
12020
  return $EVENT(ctx, state, "Try", Try$0);
11914
12021
  }
11915
- var Typeof$0 = $TS($S($EXPECT($L188, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12022
+ var Typeof$0 = $TS($S($EXPECT($L190, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11916
12023
  return { $loc, token: $1 };
11917
12024
  });
11918
12025
  function Typeof(ctx, state) {
11919
12026
  return $EVENT(ctx, state, "Typeof", Typeof$0);
11920
12027
  }
11921
- var Unless$0 = $TS($S($EXPECT($L189, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12028
+ var Unless$0 = $TS($S($EXPECT($L191, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11922
12029
  return { $loc, token: $1, negated: true };
11923
12030
  });
11924
12031
  function Unless(ctx, state) {
11925
12032
  return $EVENT(ctx, state, "Unless", Unless$0);
11926
12033
  }
11927
- var Until$0 = $TS($S($EXPECT($L190, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12034
+ var Until$0 = $TS($S($EXPECT($L192, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11928
12035
  return { $loc, token: $1 };
11929
12036
  });
11930
12037
  function Until(ctx, state) {
11931
12038
  return $EVENT(ctx, state, "Until", Until$0);
11932
12039
  }
11933
- var Using$0 = $TS($S($EXPECT($L191, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12040
+ var Using$0 = $TS($S($EXPECT($L193, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11934
12041
  return { $loc, token: $1 };
11935
12042
  });
11936
12043
  function Using(ctx, state) {
11937
12044
  return $EVENT(ctx, state, "Using", Using$0);
11938
12045
  }
11939
- var Var$0 = $TS($S($EXPECT($L192, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12046
+ var Var$0 = $TS($S($EXPECT($L194, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11940
12047
  return { $loc, token: $1 };
11941
12048
  });
11942
12049
  function Var(ctx, state) {
11943
12050
  return $EVENT(ctx, state, "Var", Var$0);
11944
12051
  }
11945
- var Void$0 = $TS($S($EXPECT($L193, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12052
+ var Void$0 = $TS($S($EXPECT($L195, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11946
12053
  return { $loc, token: $1 };
11947
12054
  });
11948
12055
  function Void(ctx, state) {
11949
12056
  return $EVENT(ctx, state, "Void", Void$0);
11950
12057
  }
11951
- var When$0 = $TS($S($EXPECT($L194, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12058
+ var When$0 = $TS($S($EXPECT($L196, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11952
12059
  return { $loc, token: "case" };
11953
12060
  });
11954
12061
  function When(ctx, state) {
11955
12062
  return $EVENT(ctx, state, "When", When$0);
11956
12063
  }
11957
- var While$0 = $TS($S($EXPECT($L195, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12064
+ var While$0 = $TS($S($EXPECT($L197, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11958
12065
  return { $loc, token: $1 };
11959
12066
  });
11960
12067
  function While(ctx, state) {
11961
12068
  return $EVENT(ctx, state, "While", While$0);
11962
12069
  }
11963
- var Yield$0 = $TS($S($EXPECT($L196, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12070
+ var Yield$0 = $TS($S($EXPECT($L198, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11964
12071
  return { $loc, token: $1, type: "Yield" };
11965
12072
  });
11966
12073
  function Yield(ctx, state) {
@@ -12039,7 +12146,7 @@ var require_parser = __commonJS({
12039
12146
  function JSXElement(ctx, state) {
12040
12147
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
12041
12148
  }
12042
- 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) {
12149
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L16, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L199, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12043
12150
  return { type: "JSXElement", children: $0, tag: $2 };
12044
12151
  });
12045
12152
  function JSXSelfClosingElement(ctx, state) {
@@ -12073,7 +12180,7 @@ var require_parser = __commonJS({
12073
12180
  function JSXOptionalClosingElement(ctx, state) {
12074
12181
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
12075
12182
  }
12076
- var JSXClosingElement$0 = $S($EXPECT($L198, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L37, 'JSXClosingElement ">"'));
12183
+ var JSXClosingElement$0 = $S($EXPECT($L200, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L37, 'JSXClosingElement ">"'));
12077
12184
  function JSXClosingElement(ctx, state) {
12078
12185
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
12079
12186
  }
@@ -12094,7 +12201,7 @@ var require_parser = __commonJS({
12094
12201
  ];
12095
12202
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
12096
12203
  });
12097
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L199, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12204
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L201, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12098
12205
  var children = $3;
12099
12206
  $0 = $0.slice(1);
12100
12207
  return {
@@ -12107,7 +12214,7 @@ var require_parser = __commonJS({
12107
12214
  function JSXFragment(ctx, state) {
12108
12215
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
12109
12216
  }
12110
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L199, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
12217
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L201, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
12111
12218
  module.JSXTagStack.push("");
12112
12219
  return $1;
12113
12220
  });
@@ -12124,11 +12231,11 @@ var require_parser = __commonJS({
12124
12231
  function JSXOptionalClosingFragment(ctx, state) {
12125
12232
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
12126
12233
  }
12127
- var JSXClosingFragment$0 = $EXPECT($L200, 'JSXClosingFragment "</>"');
12234
+ var JSXClosingFragment$0 = $EXPECT($L202, 'JSXClosingFragment "</>"');
12128
12235
  function JSXClosingFragment(ctx, state) {
12129
12236
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
12130
12237
  }
12131
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L149, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
12238
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L150, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
12132
12239
  return module.config.defaultElement;
12133
12240
  });
12134
12241
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -12306,7 +12413,7 @@ var require_parser = __commonJS({
12306
12413
  }
12307
12414
  return $skip;
12308
12415
  });
12309
- var JSXAttribute$5 = $TS($S($EXPECT($L149, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12416
+ var JSXAttribute$5 = $TS($S($EXPECT($L150, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12310
12417
  return [" ", "id=", $2];
12311
12418
  });
12312
12419
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -12598,7 +12705,7 @@ var require_parser = __commonJS({
12598
12705
  function JSXChild(ctx, state) {
12599
12706
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
12600
12707
  }
12601
- var JSXComment$0 = $TS($S($EXPECT($L201, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L202, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12708
+ var JSXComment$0 = $TS($S($EXPECT($L203, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L204, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12602
12709
  return ["{/*", $2, "*/}"];
12603
12710
  });
12604
12711
  function JSXComment(ctx, state) {
@@ -12685,21 +12792,66 @@ var require_parser = __commonJS({
12685
12792
  var TypeDeclaration$0 = $T($S($E($S(Export, $E(_))), $S(Declare, $E(_)), TypeLexicalDeclaration), function(value) {
12686
12793
  return { "ts": true, "children": value };
12687
12794
  });
12688
- var TypeDeclaration$1 = $T($S($E($S(Export, $E(_))), $E($S(Declare, $E(_))), TypeDeclarationRest), function(value) {
12689
- return { "ts": true, "children": value };
12795
+ var TypeDeclaration$1 = $TS($S($E($S(Export, $E(_))), $E($S(Declare, $E(_))), TypeDeclarationRest), function($skip, $loc, $0, $1, $2, $3) {
12796
+ var export_ = $1;
12797
+ var declare = $2;
12798
+ var t = $3;
12799
+ return {
12800
+ ...t,
12801
+ ts: true,
12802
+ export: export_,
12803
+ declare,
12804
+ children: [export_, declare, ...t.children]
12805
+ };
12690
12806
  });
12691
12807
  var TypeDeclaration$$ = [TypeDeclaration$0, TypeDeclaration$1];
12692
12808
  function TypeDeclaration(ctx, state) {
12693
12809
  return $EVENT_C(ctx, state, "TypeDeclaration", TypeDeclaration$$);
12694
12810
  }
12695
- var TypeDeclarationRest$0 = $S(TypeKeyword, $E(_), IdentifierName, $E(TypeParameters), OptionalEquals, $C($S($E(_), Type), $S(__, Type)));
12696
- var TypeDeclarationRest$1 = $S(Interface, $E(_), IdentifierName, $E(TypeParameters), $E(InterfaceExtendsClause), InterfaceBlock);
12697
- var TypeDeclarationRest$2 = $S(Namespace, $E(_), IdentifierName, ModuleBlock);
12811
+ var TypeDeclarationRest$0 = TypeAliasDeclaration;
12812
+ var TypeDeclarationRest$1 = InterfaceDeclaration;
12813
+ var TypeDeclarationRest$2 = NamespaceDeclaration;
12698
12814
  var TypeDeclarationRest$3 = FunctionSignature;
12699
12815
  var TypeDeclarationRest$$ = [TypeDeclarationRest$0, TypeDeclarationRest$1, TypeDeclarationRest$2, TypeDeclarationRest$3];
12700
12816
  function TypeDeclarationRest(ctx, state) {
12701
12817
  return $EVENT_C(ctx, state, "TypeDeclarationRest", TypeDeclarationRest$$);
12702
12818
  }
12819
+ var TypeAliasDeclaration$0 = $TS($S(TypeKeyword, $E(_), IdentifierName, $E(TypeParameters), OptionalEquals, $C($S($E(_), Type), $S(__, Type))), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12820
+ var id = $3;
12821
+ return {
12822
+ type: "TypeDeclaration",
12823
+ id,
12824
+ children: $0,
12825
+ ts: true
12826
+ };
12827
+ });
12828
+ function TypeAliasDeclaration(ctx, state) {
12829
+ return $EVENT(ctx, state, "TypeAliasDeclaration", TypeAliasDeclaration$0);
12830
+ }
12831
+ var InterfaceDeclaration$0 = $TS($S(Interface, $E(_), IdentifierName, $E(TypeParameters), $E(InterfaceExtendsClause), InterfaceBlock), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12832
+ var id = $3;
12833
+ return {
12834
+ type: "InterfaceDeclaration",
12835
+ id,
12836
+ children: $0,
12837
+ ts: true
12838
+ };
12839
+ });
12840
+ function InterfaceDeclaration(ctx, state) {
12841
+ return $EVENT(ctx, state, "InterfaceDeclaration", InterfaceDeclaration$0);
12842
+ }
12843
+ var NamespaceDeclaration$0 = $TS($S(Namespace, $E(_), IdentifierName, ModuleBlock), function($skip, $loc, $0, $1, $2, $3, $4) {
12844
+ var id = $3;
12845
+ return {
12846
+ type: "NamespaceDeclaration",
12847
+ id,
12848
+ children: $0,
12849
+ ts: true
12850
+ };
12851
+ });
12852
+ function NamespaceDeclaration(ctx, state) {
12853
+ return $EVENT(ctx, state, "NamespaceDeclaration", NamespaceDeclaration$0);
12854
+ }
12703
12855
  var OptionalEquals$0 = $S(__, Equals);
12704
12856
  var OptionalEquals$1 = $T($S($Y(IndentedFurther), InsertSpaceEquals), function(value) {
12705
12857
  return value[1];
@@ -12730,37 +12882,37 @@ var require_parser = __commonJS({
12730
12882
  function InterfaceExtendsTarget(ctx, state) {
12731
12883
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
12732
12884
  }
12733
- var TypeKeyword$0 = $TS($S($EXPECT($L203, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12885
+ var TypeKeyword$0 = $TS($S($EXPECT($L205, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12734
12886
  return { $loc, token: $1 };
12735
12887
  });
12736
12888
  function TypeKeyword(ctx, state) {
12737
12889
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
12738
12890
  }
12739
- var Enum$0 = $TS($S($EXPECT($L204, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12891
+ var Enum$0 = $TS($S($EXPECT($L206, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12740
12892
  return { $loc, token: $1 };
12741
12893
  });
12742
12894
  function Enum(ctx, state) {
12743
12895
  return $EVENT(ctx, state, "Enum", Enum$0);
12744
12896
  }
12745
- var Interface$0 = $TS($S($EXPECT($L205, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12897
+ var Interface$0 = $TS($S($EXPECT($L207, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12746
12898
  return { $loc, token: $1 };
12747
12899
  });
12748
12900
  function Interface(ctx, state) {
12749
12901
  return $EVENT(ctx, state, "Interface", Interface$0);
12750
12902
  }
12751
- var Global$0 = $TS($S($EXPECT($L206, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12903
+ var Global$0 = $TS($S($EXPECT($L208, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12752
12904
  return { $loc, token: $1 };
12753
12905
  });
12754
12906
  function Global(ctx, state) {
12755
12907
  return $EVENT(ctx, state, "Global", Global$0);
12756
12908
  }
12757
- var Module$0 = $TS($S($EXPECT($L207, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12909
+ var Module$0 = $TS($S($EXPECT($L209, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12758
12910
  return { $loc, token: $1 };
12759
12911
  });
12760
12912
  function Module(ctx, state) {
12761
12913
  return $EVENT(ctx, state, "Module", Module$0);
12762
12914
  }
12763
- var Namespace$0 = $TS($S($EXPECT($L208, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12915
+ var Namespace$0 = $TS($S($EXPECT($L210, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12764
12916
  return { $loc, token: $1 };
12765
12917
  });
12766
12918
  function Namespace(ctx, state) {
@@ -12862,9 +13014,10 @@ var require_parser = __commonJS({
12862
13014
  children: $0
12863
13015
  };
12864
13016
  const names = new Set(block.properties.map((p) => p.name.name));
12865
- return [
12866
- ts,
12867
- {
13017
+ return {
13018
+ type: "EnumDeclaration",
13019
+ id,
13020
+ children: [ts, {
12868
13021
  js: true,
12869
13022
  children: [
12870
13023
  ["let ", id, " = {};\n"],
@@ -12906,8 +13059,8 @@ var require_parser = __commonJS({
12906
13059
  }
12907
13060
  })
12908
13061
  ]
12909
- }
12910
- ];
13062
+ }]
13063
+ };
12911
13064
  });
12912
13065
  function EnumDeclaration(ctx, state) {
12913
13066
  return $EVENT(ctx, state, "EnumDeclaration", EnumDeclaration$0);
@@ -12937,26 +13090,26 @@ var require_parser = __commonJS({
12937
13090
  function EnumBlock(ctx, state) {
12938
13091
  return $EVENT_C(ctx, state, "EnumBlock", EnumBlock$$);
12939
13092
  }
12940
- var NestedEnumProperties$0 = $TS($S(PushIndent, $Q(NestedEnumProperty), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
13093
+ var NestedEnumProperties$0 = $TS($S(PushIndent, $Q(NestedEnumPropertyLine), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
12941
13094
  var props = $2;
12942
13095
  if (!props.length)
12943
13096
  return $skip;
12944
13097
  return {
12945
- properties: props.map((p) => p.property),
13098
+ properties: props.flat().map((p) => p.property),
12946
13099
  children: $0
12947
13100
  };
12948
13101
  });
12949
13102
  function NestedEnumProperties(ctx, state) {
12950
13103
  return $EVENT(ctx, state, "NestedEnumProperties", NestedEnumProperties$0);
12951
13104
  }
12952
- var NestedEnumProperty$0 = $TS($S(Nested, EnumProperty), function($skip, $loc, $0, $1, $2) {
12953
- return {
12954
- property: $2,
12955
- children: $0
12956
- };
13105
+ var NestedEnumPropertyLine$0 = $TS($S($S(Nested, EnumProperty), $Q($S($E(_), EnumProperty))), function($skip, $loc, $0, $1, $2) {
13106
+ return [$1, ...$2].map((pair) => ({
13107
+ property: pair[1],
13108
+ children: pair
13109
+ }));
12957
13110
  });
12958
- function NestedEnumProperty(ctx, state) {
12959
- return $EVENT(ctx, state, "NestedEnumProperty", NestedEnumProperty$0);
13111
+ function NestedEnumPropertyLine(ctx, state) {
13112
+ return $EVENT(ctx, state, "NestedEnumPropertyLine", NestedEnumPropertyLine$0);
12960
13113
  }
12961
13114
  var EnumProperty$0 = $TS($S(Identifier, $E($S(__, Equals, ExtendedExpression)), ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3) {
12962
13115
  var name = $1;
@@ -13033,7 +13186,7 @@ var require_parser = __commonJS({
13033
13186
  function ReturnTypeSuffix(ctx, state) {
13034
13187
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
13035
13188
  }
13036
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L209, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
13189
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L211, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
13037
13190
  var asserts = $1;
13038
13191
  var t = $2;
13039
13192
  if (asserts) {
@@ -13054,7 +13207,7 @@ var require_parser = __commonJS({
13054
13207
  function ReturnType(ctx, state) {
13055
13208
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
13056
13209
  }
13057
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L154, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
13210
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L156, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
13058
13211
  var lhs = $1;
13059
13212
  var rhs = $2;
13060
13213
  if (!rhs)
@@ -13088,7 +13241,7 @@ var require_parser = __commonJS({
13088
13241
  function TypeBinary(ctx, state) {
13089
13242
  return $EVENT(ctx, state, "TypeBinary", TypeBinary$0);
13090
13243
  }
13091
- var TypeUnary$0 = $TS($S($Q($S(__, TypeUnaryOp, NonIdContinue)), TypePrimary, $Q(TypeUnarySuffix)), function($skip, $loc, $0, $1, $2, $3) {
13244
+ var TypeUnary$0 = $TS($S($Q($S(__, TypeUnaryOp)), TypePrimary, $Q(TypeUnarySuffix)), function($skip, $loc, $0, $1, $2, $3) {
13092
13245
  var prefix = $1;
13093
13246
  var t = $2;
13094
13247
  var suffix = $3;
@@ -13112,10 +13265,9 @@ var require_parser = __commonJS({
13112
13265
  function TypeUnarySuffix(ctx, state) {
13113
13266
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
13114
13267
  }
13115
- var TypeUnaryOp$0 = $S($EXPECT($L210, 'TypeUnaryOp "keyof"'), NonIdContinue);
13116
- var TypeUnaryOp$1 = $S($EXPECT($L211, 'TypeUnaryOp "infer"'), NonIdContinue);
13117
- var TypeUnaryOp$2 = $S($EXPECT($L171, 'TypeUnaryOp "readonly"'), NonIdContinue);
13118
- var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1, TypeUnaryOp$2];
13268
+ var TypeUnaryOp$0 = $S($EXPECT($L212, 'TypeUnaryOp "keyof"'), NonIdContinue);
13269
+ var TypeUnaryOp$1 = $S($EXPECT($L173, 'TypeUnaryOp "readonly"'), NonIdContinue);
13270
+ var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1];
13119
13271
  function TypeUnaryOp(ctx, state) {
13120
13272
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
13121
13273
  }
@@ -13144,25 +13296,26 @@ var require_parser = __commonJS({
13144
13296
  function TypeIndexedAccess(ctx, state) {
13145
13297
  return $EVENT_C(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$$);
13146
13298
  }
13147
- var UnknownAlias$0 = $TV($EXPECT($L212, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
13299
+ var UnknownAlias$0 = $TV($EXPECT($L213, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
13148
13300
  return { $loc, token: "unknown" };
13149
13301
  });
13150
13302
  function UnknownAlias(ctx, state) {
13151
13303
  return $EVENT(ctx, state, "UnknownAlias", UnknownAlias$0);
13152
13304
  }
13153
- var TypePrimary$0 = $TS($S($E(_), Typeof, $E(_), ConditionalExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
13305
+ var TypePrimary$0 = $S($E(_), Infer, $E(_), IdentifierName, $E($S(NotDedented, ExtendsToken, Type)));
13306
+ var TypePrimary$1 = $TS($S($E(_), Typeof, $E(_), UnaryExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
13154
13307
  return {
13155
13308
  type: "TypeofType",
13156
13309
  children: $0
13157
13310
  };
13158
13311
  });
13159
- var TypePrimary$1 = $TS($S($E(_), TypeTuple), function($skip, $loc, $0, $1, $2) {
13312
+ var TypePrimary$2 = $TS($S($E(_), TypeTuple), function($skip, $loc, $0, $1, $2) {
13160
13313
  return { ...$2, children: [$1, ...$2.children] };
13161
13314
  });
13162
- var TypePrimary$2 = InterfaceBlock;
13163
- var TypePrimary$3 = $S($E(_), FunctionType);
13164
- var TypePrimary$4 = $S($E(_), InlineInterfaceLiteral);
13165
- var TypePrimary$5 = $TS($S($E(_), ImportType), function($skip, $loc, $0, $1, $2) {
13315
+ var TypePrimary$3 = InterfaceBlock;
13316
+ var TypePrimary$4 = $S($E(_), FunctionType);
13317
+ var TypePrimary$5 = $S($E(_), InlineInterfaceLiteral);
13318
+ var TypePrimary$6 = $TS($S($E(_), ImportType), function($skip, $loc, $0, $1, $2) {
13166
13319
  var t = $2;
13167
13320
  return {
13168
13321
  type: "ImportType",
@@ -13170,7 +13323,7 @@ var require_parser = __commonJS({
13170
13323
  children: $0
13171
13324
  };
13172
13325
  });
13173
- var TypePrimary$6 = $TS($S($E(_), TypeLiteral), function($skip, $loc, $0, $1, $2) {
13326
+ var TypePrimary$7 = $TS($S($E(_), TypeLiteral), function($skip, $loc, $0, $1, $2) {
13174
13327
  var t = $2;
13175
13328
  return {
13176
13329
  type: "LiteralType",
@@ -13178,7 +13331,7 @@ var require_parser = __commonJS({
13178
13331
  children: $0
13179
13332
  };
13180
13333
  });
13181
- var TypePrimary$7 = $TS($S($E(_), UnknownAlias), function($skip, $loc, $0, $1, $2) {
13334
+ var TypePrimary$8 = $TS($S($E(_), UnknownAlias), function($skip, $loc, $0, $1, $2) {
13182
13335
  return {
13183
13336
  type: "IdentifierType",
13184
13337
  children: $0,
@@ -13186,7 +13339,7 @@ var require_parser = __commonJS({
13186
13339
  args: void 0
13187
13340
  };
13188
13341
  });
13189
- var TypePrimary$8 = $TS($S($E(_), IdentifierName, $Q($S(Dot, IdentifierName)), $E(TypeArguments)), function($skip, $loc, $0, $1, $2, $3, $4) {
13342
+ var TypePrimary$9 = $TS($S($E(_), IdentifierName, $Q($S(Dot, IdentifierName)), $E(TypeArguments)), function($skip, $loc, $0, $1, $2, $3, $4) {
13190
13343
  var args = $4;
13191
13344
  return {
13192
13345
  type: "IdentifierType",
@@ -13195,13 +13348,13 @@ var require_parser = __commonJS({
13195
13348
  args
13196
13349
  };
13197
13350
  });
13198
- var TypePrimary$9 = $TS($S($E(_), OpenParen, $C(Type, $S(EOS, Type)), __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13351
+ var TypePrimary$10 = $TS($S($E(_), OpenParen, $C(Type, $S(EOS, Type)), __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13199
13352
  return {
13200
13353
  type: "ParenthesizedType",
13201
13354
  children: $0
13202
13355
  };
13203
13356
  });
13204
- var TypePrimary$$ = [TypePrimary$0, TypePrimary$1, TypePrimary$2, TypePrimary$3, TypePrimary$4, TypePrimary$5, TypePrimary$6, TypePrimary$7, TypePrimary$8, TypePrimary$9];
13357
+ var TypePrimary$$ = [TypePrimary$0, TypePrimary$1, TypePrimary$2, TypePrimary$3, TypePrimary$4, TypePrimary$5, TypePrimary$6, TypePrimary$7, TypePrimary$8, TypePrimary$9, TypePrimary$10];
13205
13358
  function TypePrimary(ctx, state) {
13206
13359
  return $EVENT_C(ctx, state, "TypePrimary", TypePrimary$$);
13207
13360
  }
@@ -13277,11 +13430,7 @@ var require_parser = __commonJS({
13277
13430
  return [$1, $2, $3, $7, $5, $6, $4];
13278
13431
  return $0;
13279
13432
  });
13280
- var TypeConditional$2 = $TS($S(TypeBinary, $E($S($E(IndentedFurther), ExtendsToken, Type))), function($skip, $loc, $0, $1, $2) {
13281
- if (!$2)
13282
- return $1;
13283
- return $0;
13284
- });
13433
+ var TypeConditional$2 = TypeBinary;
13285
13434
  var TypeConditional$$ = [TypeConditional$0, TypeConditional$1, TypeConditional$2];
13286
13435
  function TypeConditional(ctx, state) {
13287
13436
  return $EVENT_C(ctx, state, "TypeConditional", TypeConditional$$);
@@ -13353,10 +13502,10 @@ var require_parser = __commonJS({
13353
13502
  }
13354
13503
  var TypeLiteral$0 = TypeTemplateLiteral;
13355
13504
  var TypeLiteral$1 = Literal;
13356
- var TypeLiteral$2 = $TS($S($EXPECT($L193, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13505
+ var TypeLiteral$2 = $TS($S($EXPECT($L195, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13357
13506
  return { type: "VoidType", $loc, token: $1 };
13358
13507
  });
13359
- var TypeLiteral$3 = $TV($EXPECT($L213, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13508
+ var TypeLiteral$3 = $TV($EXPECT($L214, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13360
13509
  return { $loc, token: "[]" };
13361
13510
  });
13362
13511
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3];
@@ -13375,7 +13524,7 @@ var require_parser = __commonJS({
13375
13524
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
13376
13525
  return value[1];
13377
13526
  });
13378
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L14, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L116, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L38, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L29, 'InlineInterfacePropertyDelimiter "}"'))));
13527
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L14, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L117, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L38, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L29, 'InlineInterfacePropertyDelimiter "}"'))));
13379
13528
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
13380
13529
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
13381
13530
  function InlineInterfacePropertyDelimiter(ctx, state) {
@@ -13439,11 +13588,11 @@ var require_parser = __commonJS({
13439
13588
  function TypeParameters(ctx, state) {
13440
13589
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
13441
13590
  }
13442
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L153, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13591
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L155, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13443
13592
  function TypeParameter(ctx, state) {
13444
13593
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
13445
13594
  }
13446
- var TypeConstraint$0 = $S(__, $EXPECT($L142, 'TypeConstraint "extends"'), NonIdContinue, Type);
13595
+ var TypeConstraint$0 = $S(__, $EXPECT($L143, 'TypeConstraint "extends"'), NonIdContinue, Type);
13447
13596
  function TypeConstraint(ctx, state) {
13448
13597
  return $EVENT(ctx, state, "TypeConstraint", TypeConstraint$0);
13449
13598
  }
@@ -13482,7 +13631,7 @@ var require_parser = __commonJS({
13482
13631
  function CivetPrologue(ctx, state) {
13483
13632
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
13484
13633
  }
13485
- var CivetPrologueContent$0 = $TS($S($EXPECT($L214, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R85, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13634
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L215, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R85, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13486
13635
  var options = $3;
13487
13636
  return {
13488
13637
  type: "CivetPrologue",
@@ -13965,9 +14114,9 @@ var require_parser = __commonJS({
13965
14114
  preludeVar,
13966
14115
  ref,
13967
14116
  typeSuffix,
13968
- " = (lhs, rhs) => ((rhs",
14117
+ " = (lhs, rhs) => (((rhs",
13969
14118
  asAny,
13970
- ")?.[Symbol.isConcatSpreadable] ? (lhs",
14119
+ ")?.[Symbol.isConcatSpreadable] ?? Array.isArray(rhs)) ? (lhs",
13971
14120
  asAny,
13972
14121
  ").push.apply(lhs, rhs",
13973
14122
  asAny,
@@ -14169,20 +14318,20 @@ var require_parser = __commonJS({
14169
14318
  function Dedented(ctx, state) {
14170
14319
  return $EVENT(ctx, state, "Dedented", Dedented$0);
14171
14320
  }
14172
- var parser2 = function() {
14321
+ var parser = function() {
14173
14322
  const { fail, validate, reset } = Validator();
14174
14323
  let ctx = { expectation: "", fail };
14175
14324
  return {
14176
14325
  parse: (input, options = {}) => {
14177
14326
  if (typeof input !== "string")
14178
14327
  throw new Error("Input must be a string");
14179
- const parser3 = options.startRule != null ? grammar[options.startRule] : Object.values(grammar)[0];
14180
- if (!parser3)
14328
+ const parser2 = options.startRule != null ? grammar[options.startRule] : Object.values(grammar)[0];
14329
+ if (!parser2)
14181
14330
  throw new Error(`Could not find rule with name '${options.startRule}'`);
14182
14331
  const filename = options.filename || "<anonymous>";
14183
14332
  reset();
14184
14333
  Object.assign(ctx, { ...options.events, tokenize: options.tokenize });
14185
- return validate(input, parser3(ctx, {
14334
+ return validate(input, parser2(ctx, {
14186
14335
  input,
14187
14336
  pos: 0
14188
14337
  }), {
@@ -14191,8 +14340,8 @@ var require_parser = __commonJS({
14191
14340
  }
14192
14341
  };
14193
14342
  }();
14194
- exports.default = parser2;
14195
- exports.parse = parser2.parse;
14343
+ exports.default = parser;
14344
+ exports.parse = parser.parse;
14196
14345
  exports.Program = Program;
14197
14346
  exports.TopLevelStatements = TopLevelStatements;
14198
14347
  exports.NestedTopLevelStatements = NestedTopLevelStatements;
@@ -14238,6 +14387,7 @@ var require_parser = __commonJS({
14238
14387
  exports.UnaryWithoutParenthesizedAssignmentBody = UnaryWithoutParenthesizedAssignmentBody;
14239
14388
  exports.UnaryPostfix = UnaryPostfix;
14240
14389
  exports.TypePostfix = TypePostfix;
14390
+ exports.NWTypePostfix = NWTypePostfix;
14241
14391
  exports.UpdateExpression = UpdateExpression;
14242
14392
  exports.UpdateExpressionSymbol = UpdateExpressionSymbol;
14243
14393
  exports.AssignmentExpression = AssignmentExpression;
@@ -14350,6 +14500,7 @@ var require_parser = __commonJS({
14350
14500
  exports.OperatorDeclaration = OperatorDeclaration;
14351
14501
  exports.OperatorSignature = OperatorSignature;
14352
14502
  exports.AmpersandBlockRHS = AmpersandBlockRHS;
14503
+ exports.AmpersandTypeSuffix = AmpersandTypeSuffix;
14353
14504
  exports.AmpersandBlockRHSBody = AmpersandBlockRHSBody;
14354
14505
  exports.ThinArrowFunction = ThinArrowFunction;
14355
14506
  exports.Arrow = Arrow;
@@ -14406,8 +14557,10 @@ var require_parser = __commonJS({
14406
14557
  exports.NestedImplicitPropertyDefinition = NestedImplicitPropertyDefinition;
14407
14558
  exports.NestedPropertyDefinitions = NestedPropertyDefinitions;
14408
14559
  exports.NestedPropertyDefinition = NestedPropertyDefinition;
14560
+ exports.ImplicitObjectLiteral = ImplicitObjectLiteral;
14561
+ exports.ImplicitObjectPropertyDelimiter = ImplicitObjectPropertyDelimiter;
14409
14562
  exports.InlineObjectLiteral = InlineObjectLiteral;
14410
- exports.ImplicitInlineObjectPropertyDelimiter = ImplicitInlineObjectPropertyDelimiter;
14563
+ exports.InlineObjectPropertyDelimiter = InlineObjectPropertyDelimiter;
14411
14564
  exports.ObjectPropertyDelimiter = ObjectPropertyDelimiter;
14412
14565
  exports.PropertyDefinition = PropertyDefinition;
14413
14566
  exports.NamedProperty = NamedProperty;
@@ -14680,6 +14833,7 @@ var require_parser = __commonJS({
14680
14833
  exports.If = If;
14681
14834
  exports.Import = Import;
14682
14835
  exports.In = In;
14836
+ exports.Infer = Infer;
14683
14837
  exports.LetOrConst = LetOrConst;
14684
14838
  exports.Const = Const;
14685
14839
  exports.Is = Is;
@@ -14778,6 +14932,9 @@ var require_parser = __commonJS({
14778
14932
  exports.UsingJSModeError = UsingJSModeError;
14779
14933
  exports.TypeDeclaration = TypeDeclaration;
14780
14934
  exports.TypeDeclarationRest = TypeDeclarationRest;
14935
+ exports.TypeAliasDeclaration = TypeAliasDeclaration;
14936
+ exports.InterfaceDeclaration = InterfaceDeclaration;
14937
+ exports.NamespaceDeclaration = NamespaceDeclaration;
14781
14938
  exports.OptionalEquals = OptionalEquals;
14782
14939
  exports.TypeLexicalDeclaration = TypeLexicalDeclaration;
14783
14940
  exports.TypeDeclarationBinding = TypeDeclarationBinding;
@@ -14805,7 +14962,7 @@ var require_parser = __commonJS({
14805
14962
  exports.EnumDeclaration = EnumDeclaration;
14806
14963
  exports.EnumBlock = EnumBlock;
14807
14964
  exports.NestedEnumProperties = NestedEnumProperties;
14808
- exports.NestedEnumProperty = NestedEnumProperty;
14965
+ exports.NestedEnumPropertyLine = NestedEnumPropertyLine;
14809
14966
  exports.EnumProperty = EnumProperty;
14810
14967
  exports.TypeProperty = TypeProperty;
14811
14968
  exports.TypeIndexSignature = TypeIndexSignature;
@@ -15375,7 +15532,6 @@ var StateCache = class {
15375
15532
  };
15376
15533
 
15377
15534
  // source/main.civet
15378
- var { parse: parse2 } = import_parser.default;
15379
15535
  var { SourceMap: SourceMap2 } = util_exports;
15380
15536
  var uncacheable = /* @__PURE__ */ new Set([
15381
15537
  // Meta
@@ -15437,8 +15593,8 @@ function compile(src, options) {
15437
15593
  }
15438
15594
  let ast;
15439
15595
  try {
15440
- parse2.config = options.parseOptions || {};
15441
- ast = prune2(parse2(src, {
15596
+ import_parser.parse.config = options.parseOptions || {};
15597
+ ast = prune2((0, import_parser.parse)(src, {
15442
15598
  filename,
15443
15599
  events
15444
15600
  }));
@@ -15547,7 +15703,7 @@ function makeCache({ hits, trace } = {}) {
15547
15703
  const key = [tagKey, stateKey, state.pos, ruleName];
15548
15704
  stateCache.set(key, result);
15549
15705
  }
15550
- if (parse2.config.verbose && result) {
15706
+ if (import_parser.parse.config.verbose && result) {
15551
15707
  console.log(`Parsed ${JSON.stringify(state.input.slice(state.pos, result.pos))} [pos ${state.pos}-${result.pos}] as ${ruleName}`);
15552
15708
  }
15553
15709
  if (trace) {
@@ -15563,14 +15719,15 @@ var isCompileError = function(err) {
15563
15719
  return err instanceof Error && //@ts-ignore
15564
15720
  [err.message, err.name, err.filename, err.line, err.column, err.offset].every(($1) => $1 !== void 0);
15565
15721
  };
15566
- var main_default = { parse: parse2, generate: generate_default, util: util_exports, compile, isCompileError };
15722
+ var main_default = { parse: import_parser.parse, generate: generate_default, util: util_exports, compile, isCompileError };
15723
+ var export_parse = import_parser.parse;
15567
15724
  export {
15568
15725
  compile,
15569
15726
  main_default as default,
15570
15727
  generate_default as generate,
15571
15728
  isCompileError,
15572
15729
  lib_exports as lib,
15573
- parse2 as parse,
15730
+ export_parse as parse,
15574
15731
  prune2 as prune,
15575
15732
  util_exports as util
15576
15733
  };