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