@danielx/civet 0.6.71 → 0.6.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.mjs CHANGED
@@ -2252,9 +2252,17 @@ function processReturn(f, implicitReturns) {
2252
2252
  const isMethod = f.type === "MethodDefinition";
2253
2253
  const isConstructor = isMethod && name === "constructor";
2254
2254
  const isVoid = isVoidType(returnType2?.t) || async && isPromiseVoidType(returnType2?.t) || !async && generator && isGeneratorVoidType(returnType2?.t);
2255
- const isBlock = block?.type === "BlockStatement";
2256
- if (!isVoid && !set && !isConstructor && isBlock) {
2257
- insertReturn(block);
2255
+ if (block?.type === "BlockStatement") {
2256
+ if (isVoid || set || isConstructor) {
2257
+ if (block.bare && block.implicitlyReturned) {
2258
+ block.children = [" {", ...block.children, " }"];
2259
+ block.bare = block.implicitlyReturned = false;
2260
+ }
2261
+ } else {
2262
+ if (!block.implicitlyReturned) {
2263
+ insertReturn(block);
2264
+ }
2265
+ }
2258
2266
  }
2259
2267
  }
2260
2268
  }
@@ -2661,8 +2669,8 @@ function nonMatcherBindings(pattern) {
2661
2669
  }
2662
2670
  }
2663
2671
  function aggregateDuplicateBindings(bindings, ReservedWord) {
2664
- const props = gatherRecursiveAll(bindings, (n) => n.type === "BindingProperty");
2665
- const arrayBindings = gatherRecursiveAll(bindings, (n) => n.type === "ArrayBindingPattern");
2672
+ const props = gatherRecursiveAll(bindings, ($3) => $3.type === "BindingProperty");
2673
+ const arrayBindings = gatherRecursiveAll(bindings, ($4) => $4.type === "ArrayBindingPattern");
2666
2674
  arrayBindings.forEach((a) => {
2667
2675
  const { elements } = a;
2668
2676
  return elements.forEach((element) => {
@@ -2692,20 +2700,22 @@ function aggregateDuplicateBindings(bindings, ReservedWord) {
2692
2700
  }
2693
2701
  }
2694
2702
  propsGroupedByName.forEach((shared, key) => {
2695
- if (!key)
2703
+ if (!key) {
2696
2704
  return;
2705
+ }
2697
2706
  if (ReservedWord({ fail() {
2698
2707
  } }, {
2699
2708
  pos: 0,
2700
2709
  input: key
2701
2710
  })) {
2702
- shared.forEach((p) => ({
2703
- aliasBinding: aliasBinding(p, makeRef(`_${key}`, key))
2704
- }));
2711
+ shared.forEach((p) => {
2712
+ return aliasBinding(p, makeRef(`_${key}`, key));
2713
+ });
2705
2714
  return;
2706
2715
  }
2707
- if (shared.length === 1)
2716
+ if (shared.length === 1) {
2708
2717
  return;
2718
+ }
2709
2719
  const refs = shared.map((p) => {
2710
2720
  const ref = makeRef(key);
2711
2721
  aliasBinding(p, ref);
@@ -2718,7 +2728,7 @@ function aggregateDuplicateBindings(bindings, ReservedWord) {
2718
2728
  return declarations;
2719
2729
  }
2720
2730
  function processPatternMatching(statements, ReservedWord) {
2721
- gatherRecursiveAll(statements, (n) => n.type === "SwitchStatement").forEach((s) => {
2731
+ gatherRecursiveAll(statements, ($5) => $5.type === "SwitchStatement").forEach((s) => {
2722
2732
  const { caseBlock } = s;
2723
2733
  const { clauses } = caseBlock;
2724
2734
  for (const c of clauses) {
@@ -2732,7 +2742,7 @@ function processPatternMatching(statements, ReservedWord) {
2732
2742
  }
2733
2743
  let errors = false;
2734
2744
  let isPattern = false;
2735
- if (clauses.some((c) => c.type === "PatternClause")) {
2745
+ if (clauses.some(($6) => $6.type === "PatternClause")) {
2736
2746
  isPattern = true;
2737
2747
  clauses.forEach((c) => {
2738
2748
  if (!(c.type === "PatternClause" || c.type === "DefaultClause")) {
@@ -2746,8 +2756,9 @@ function processPatternMatching(statements, ReservedWord) {
2746
2756
  return;
2747
2757
  });
2748
2758
  }
2749
- if (errors || !isPattern)
2759
+ if (errors || !isPattern) {
2750
2760
  return;
2761
+ }
2751
2762
  let { condition } = s;
2752
2763
  if (condition.type === "ParenthesizedExpression") {
2753
2764
  condition = condition.expression;
@@ -2959,7 +2970,7 @@ function processPipelineExpressions(statements) {
2959
2970
  };
2960
2971
  }
2961
2972
  children.push(arg);
2962
- if (!children.some(($3) => $3?.type === "ReturnStatement") && children.some(($4) => $4 === ",")) {
2973
+ if (!children.some(($7) => $7?.type === "ReturnStatement") && children.some(($8) => $8 === ",")) {
2963
2974
  const { parent } = s;
2964
2975
  const parenthesizedExpression = makeLeftHandSideExpression({ ...s });
2965
2976
  Object.assign(s, parenthesizedExpression, {
@@ -3082,7 +3093,7 @@ function createVarDecs(statements, scopes, pushVar) {
3082
3093
  scopes.push(decs);
3083
3094
  const varIds = [];
3084
3095
  const assignmentStatements = findAssignments(statements, scopes);
3085
- const undeclaredIdentifiers = assignmentStatements.flatMap((a) => a.names);
3096
+ const undeclaredIdentifiers = assignmentStatements.flatMap(($9) => $9?.names || []);
3086
3097
  undeclaredIdentifiers.filter((x, i, a) => {
3087
3098
  if (!hasDec(x))
3088
3099
  return a.indexOf(x) === i;
@@ -3387,8 +3398,9 @@ function reorderBindingRestProperty(props) {
3387
3398
  }
3388
3399
  ];
3389
3400
  }
3390
- if (rest.delim?.at(-1)?.token === ",") {
3391
- rest.delim.pop();
3401
+ if (Array.isArray(rest.delim) && rest.delim.at(-1)?.token === ",") {
3402
+ rest.delim = rest.delim.slice(0, -1);
3403
+ rest.children = [...rest.children.slice(0, -1), rest.delim];
3392
3404
  }
3393
3405
  const children = [...props, ...after, rest];
3394
3406
  return {
@@ -4133,6 +4145,7 @@ var require_parser = __commonJS({
4133
4145
  ArrowFunction,
4134
4146
  FatArrow,
4135
4147
  TrailingDeclaration,
4148
+ TrailingPipe,
4136
4149
  FatArrowBody,
4137
4150
  ConditionalExpression,
4138
4151
  TernaryRest,
@@ -4566,6 +4579,7 @@ var require_parser = __commonJS({
4566
4579
  If,
4567
4580
  Import,
4568
4581
  In,
4582
+ Infer,
4569
4583
  LetOrConst,
4570
4584
  Const,
4571
4585
  Is,
@@ -4664,6 +4678,9 @@ var require_parser = __commonJS({
4664
4678
  UsingJSModeError,
4665
4679
  TypeDeclaration,
4666
4680
  TypeDeclarationRest,
4681
+ TypeAliasDeclaration,
4682
+ InterfaceDeclaration,
4683
+ NamespaceDeclaration,
4667
4684
  OptionalEquals,
4668
4685
  TypeLexicalDeclaration,
4669
4686
  TypeDeclarationBinding,
@@ -4691,7 +4708,7 @@ var require_parser = __commonJS({
4691
4708
  EnumDeclaration,
4692
4709
  EnumBlock,
4693
4710
  NestedEnumProperties,
4694
- NestedEnumProperty,
4711
+ NestedEnumPropertyLine,
4695
4712
  EnumProperty,
4696
4713
  TypeProperty,
4697
4714
  TypeIndexSignature,
@@ -4950,66 +4967,66 @@ var require_parser = __commonJS({
4950
4967
  var $L150 = $L("#");
4951
4968
  var $L151 = $L("if");
4952
4969
  var $L152 = $L("in");
4953
- var $L153 = $L("let");
4954
- var $L154 = $L("const");
4955
- var $L155 = $L("is");
4956
- var $L156 = $L("loop");
4957
- var $L157 = $L("new");
4958
- var $L158 = $L("not");
4959
- var $L159 = $L("of");
4960
- var $L160 = $L("[");
4961
- var $L161 = $L("operator");
4962
- var $L162 = $L("own");
4963
- var $L163 = $L("public");
4964
- var $L164 = $L("private");
4965
- var $L165 = $L("protected");
4966
- var $L166 = $L("||>");
4967
- var $L167 = $L("|\u25B7");
4968
- var $L168 = $L("|>=");
4969
- var $L169 = $L("\u25B7=");
4970
- var $L170 = $L("|>");
4971
- var $L171 = $L("\u25B7");
4972
- var $L172 = $L("readonly");
4973
- var $L173 = $L("return");
4974
- var $L174 = $L("satisfies");
4975
- var $L175 = $L("'");
4976
- var $L176 = $L("static");
4977
- var $L177 = $L("${");
4978
- var $L178 = $L("super");
4979
- var $L179 = $L("switch");
4980
- var $L180 = $L("target");
4981
- var $L181 = $L("then");
4982
- var $L182 = $L("this");
4983
- var $L183 = $L("throw");
4984
- var $L184 = $L('"""');
4985
- var $L185 = $L("'''");
4986
- var $L186 = $L("///");
4987
- var $L187 = $L("```");
4988
- var $L188 = $L("try");
4989
- var $L189 = $L("typeof");
4990
- var $L190 = $L("unless");
4991
- var $L191 = $L("until");
4992
- var $L192 = $L("using");
4993
- var $L193 = $L("var");
4994
- var $L194 = $L("void");
4995
- var $L195 = $L("when");
4996
- var $L196 = $L("while");
4997
- var $L197 = $L("yield");
4998
- var $L198 = $L("/>");
4999
- var $L199 = $L("</");
5000
- var $L200 = $L("<>");
5001
- var $L201 = $L("</>");
5002
- var $L202 = $L("<!--");
5003
- var $L203 = $L("-->");
5004
- var $L204 = $L("type");
5005
- var $L205 = $L("enum");
5006
- var $L206 = $L("interface");
5007
- var $L207 = $L("global");
5008
- var $L208 = $L("module");
5009
- var $L209 = $L("namespace");
5010
- var $L210 = $L("asserts");
5011
- var $L211 = $L("keyof");
5012
- var $L212 = $L("infer");
4970
+ var $L153 = $L("infer");
4971
+ var $L154 = $L("let");
4972
+ var $L155 = $L("const");
4973
+ var $L156 = $L("is");
4974
+ var $L157 = $L("loop");
4975
+ var $L158 = $L("new");
4976
+ var $L159 = $L("not");
4977
+ var $L160 = $L("of");
4978
+ var $L161 = $L("[");
4979
+ var $L162 = $L("operator");
4980
+ var $L163 = $L("own");
4981
+ var $L164 = $L("public");
4982
+ var $L165 = $L("private");
4983
+ var $L166 = $L("protected");
4984
+ var $L167 = $L("||>");
4985
+ var $L168 = $L("|\u25B7");
4986
+ var $L169 = $L("|>=");
4987
+ var $L170 = $L("\u25B7=");
4988
+ var $L171 = $L("|>");
4989
+ var $L172 = $L("\u25B7");
4990
+ var $L173 = $L("readonly");
4991
+ var $L174 = $L("return");
4992
+ var $L175 = $L("satisfies");
4993
+ var $L176 = $L("'");
4994
+ var $L177 = $L("static");
4995
+ var $L178 = $L("${");
4996
+ var $L179 = $L("super");
4997
+ var $L180 = $L("switch");
4998
+ var $L181 = $L("target");
4999
+ var $L182 = $L("then");
5000
+ var $L183 = $L("this");
5001
+ var $L184 = $L("throw");
5002
+ var $L185 = $L('"""');
5003
+ var $L186 = $L("'''");
5004
+ var $L187 = $L("///");
5005
+ var $L188 = $L("```");
5006
+ var $L189 = $L("try");
5007
+ var $L190 = $L("typeof");
5008
+ var $L191 = $L("unless");
5009
+ var $L192 = $L("until");
5010
+ var $L193 = $L("using");
5011
+ var $L194 = $L("var");
5012
+ var $L195 = $L("void");
5013
+ var $L196 = $L("when");
5014
+ var $L197 = $L("while");
5015
+ var $L198 = $L("yield");
5016
+ var $L199 = $L("/>");
5017
+ var $L200 = $L("</");
5018
+ var $L201 = $L("<>");
5019
+ var $L202 = $L("</>");
5020
+ var $L203 = $L("<!--");
5021
+ var $L204 = $L("-->");
5022
+ var $L205 = $L("type");
5023
+ var $L206 = $L("enum");
5024
+ var $L207 = $L("interface");
5025
+ var $L208 = $L("global");
5026
+ var $L209 = $L("module");
5027
+ var $L210 = $L("namespace");
5028
+ var $L211 = $L("asserts");
5029
+ var $L212 = $L("keyof");
5013
5030
  var $L213 = $L("???");
5014
5031
  var $L214 = $L("[]");
5015
5032
  var $L215 = $L("civet");
@@ -5746,12 +5763,23 @@ var require_parser = __commonJS({
5746
5763
  function TrailingDeclaration(ctx, state) {
5747
5764
  return $EVENT(ctx, state, "TrailingDeclaration", TrailingDeclaration$0);
5748
5765
  }
5749
- var FatArrowBody$0 = $TS($S($N(EOS), NonPipelinePostfixedExpression, $N(TrailingDeclaration), $N(SemicolonDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
5766
+ var TrailingPipe$0 = $S($E(_), Pipe);
5767
+ function TrailingPipe(ctx, state) {
5768
+ return $EVENT(ctx, state, "TrailingPipe", TrailingPipe$0);
5769
+ }
5770
+ var FatArrowBody$0 = $TS($S($N(EOS), NonPipelinePostfixedExpression, $N(TrailingDeclaration), $N(TrailingPipe), $N(SemicolonDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
5750
5771
  var exp = $2;
5751
5772
  if (exp.type === "ObjectExpression") {
5752
- return makeLeftHandSideExpression(exp);
5773
+ exp = makeLeftHandSideExpression(exp);
5753
5774
  }
5754
- return exp;
5775
+ const expressions = [exp];
5776
+ return {
5777
+ type: "BlockStatement",
5778
+ bare: true,
5779
+ expressions,
5780
+ children: [expressions],
5781
+ implicitlyReturned: true
5782
+ };
5755
5783
  });
5756
5784
  var FatArrowBody$1 = NoCommaBracedOrEmptyBlock;
5757
5785
  var FatArrowBody$$ = [FatArrowBody$0, FatArrowBody$1];
@@ -5881,7 +5909,7 @@ var require_parser = __commonJS({
5881
5909
  return $EVENT(ctx, state, "ParenthesizedExpression", ParenthesizedExpression$0);
5882
5910
  }
5883
5911
  var ClassDeclaration$0 = $TS($S(ClassExpression), function($skip, $loc, $0, $1) {
5884
- if ($1.binding)
5912
+ if ($1.id)
5885
5913
  return $1;
5886
5914
  return makeLeftHandSideExpression($1);
5887
5915
  });
@@ -5898,6 +5926,7 @@ var require_parser = __commonJS({
5898
5926
  decorators,
5899
5927
  abstract,
5900
5928
  binding,
5929
+ id: binding?.[0],
5901
5930
  heritage,
5902
5931
  body,
5903
5932
  children: $0
@@ -6215,7 +6244,8 @@ var require_parser = __commonJS({
6215
6244
  name: id.name,
6216
6245
  children: [".", id]
6217
6246
  }],
6218
- privateShorthand: true
6247
+ privateShorthand: true,
6248
+ privateId: id
6219
6249
  };
6220
6250
  });
6221
6251
  var PrivateThis$$ = [PrivateThis$0, PrivateThis$1];
@@ -7401,7 +7431,10 @@ var require_parser = __commonJS({
7401
7431
  var w = $2;
7402
7432
  var decl = $3;
7403
7433
  decl.names.forEach((name) => module.operators.add(name));
7404
- return [insertTrimmingSpace(w, ""), decl];
7434
+ return {
7435
+ ...decl,
7436
+ children: [insertTrimmingSpace(w, ""), ...decl.children]
7437
+ };
7405
7438
  });
7406
7439
  var OperatorDeclaration$1 = $TS($S(OperatorSignature, BracedBlock), function($skip, $loc, $0, $1, $2) {
7407
7440
  var signature = $1;
@@ -7423,7 +7456,10 @@ var require_parser = __commonJS({
7423
7456
  var ids = $4;
7424
7457
  module.operators.add(id.name);
7425
7458
  ids.forEach(([, , id2]) => module.operators.add(id2.name));
7426
- return [];
7459
+ return {
7460
+ id,
7461
+ children: []
7462
+ };
7427
7463
  });
7428
7464
  var OperatorDeclaration$$ = [OperatorDeclaration$0, OperatorDeclaration$1, OperatorDeclaration$2];
7429
7465
  function OperatorDeclaration(ctx, state) {
@@ -8310,14 +8346,17 @@ var require_parser = __commonJS({
8310
8346
  function NestedImplicitPropertyDefinitions(ctx, state) {
8311
8347
  return $EVENT(ctx, state, "NestedImplicitPropertyDefinitions", NestedImplicitPropertyDefinitions$0);
8312
8348
  }
8313
- var NestedImplicitPropertyDefinition$0 = $TS($S(Nested, NamedProperty, ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3) {
8314
- var ws = $1;
8315
- var prop = $2;
8316
- var delimiter = $3;
8317
- return {
8349
+ var NestedImplicitPropertyDefinition$0 = $TS($S(Nested, $P($S($E(_), NamedProperty, ObjectPropertyDelimiter))), function($skip, $loc, $0, $1, $2) {
8350
+ var indent = $1;
8351
+ var props = $2;
8352
+ return props.map(([ws, prop, delimiter], i) => ({
8318
8353
  ...prop,
8319
- children: [...ws, ...prop.children, delimiter]
8320
- };
8354
+ children: [
8355
+ ...i === 0 ? [indent, ws] : [ws],
8356
+ ...prop.children,
8357
+ delimiter
8358
+ ]
8359
+ }));
8321
8360
  });
8322
8361
  function NestedImplicitPropertyDefinition(ctx, state) {
8323
8362
  return $EVENT(ctx, state, "NestedImplicitPropertyDefinition", NestedImplicitPropertyDefinition$0);
@@ -8715,7 +8754,12 @@ var require_parser = __commonJS({
8715
8754
  v = insertTrimmingSpace(p, "");
8716
8755
  break;
8717
8756
  case "Property":
8718
- v = insertTrimmingSpace(p.value, "");
8757
+ const { value: value2 } = p;
8758
+ if (value2.privateShorthand) {
8759
+ v = value2.privateId;
8760
+ } else {
8761
+ v = insertTrimmingSpace(value2, "");
8762
+ }
8719
8763
  break;
8720
8764
  }
8721
8765
  const exp = processCallMemberExpression({
@@ -10794,18 +10838,45 @@ var require_parser = __commonJS({
10794
10838
  children: [exp, $0.slice(1)]
10795
10839
  };
10796
10840
  });
10797
- var ExportDeclaration$1 = $TS($S($E(Decorators), Export, __, Default, __, $C(HoistableDeclaration, ClassDeclaration, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10841
+ 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) {
10842
+ var declaration = $7;
10843
+ let id, error;
10844
+ if (declaration.id) {
10845
+ id = declaration.id;
10846
+ } else if (declaration.names) {
10847
+ if (declaration.names.length !== 1) {
10848
+ error = {
10849
+ type: "Error",
10850
+ message: `export default with ${declaration.names.length} variable declaration (should be 1)`
10851
+ };
10852
+ }
10853
+ id = declaration.names[0];
10854
+ } else {
10855
+ throw new Error("Could not find name of declaration in export default");
10856
+ }
10857
+ return [
10858
+ declaration,
10859
+ { children: [";"], ts: declaration.ts },
10860
+ error ?? {
10861
+ type: "ExportDeclaration",
10862
+ declaration: id,
10863
+ ts: declaration.ts,
10864
+ children: [...$0.slice(0, -2), id]
10865
+ }
10866
+ ];
10867
+ });
10868
+ var ExportDeclaration$2 = $TS($S($E(Decorators), Export, __, Default, __, $C(HoistableDeclaration, ClassDeclaration, InterfaceDeclaration, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
10798
10869
  var declaration = $6;
10799
- return { type: "ExportDeclaration", declaration, children: $0 };
10870
+ return { type: "ExportDeclaration", declaration, ts: declaration.ts, children: $0 };
10800
10871
  });
10801
- var ExportDeclaration$2 = $TS($S(Export, __, ExportFromClause, __, FromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10872
+ var ExportDeclaration$3 = $TS($S(Export, __, ExportFromClause, __, FromClause), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10802
10873
  return { type: "ExportDeclaration", ts: $3.ts, children: $0 };
10803
10874
  });
10804
- var ExportDeclaration$3 = $TS($S($E(Decorators), Export, __, $C(Declaration, VariableStatement, TypeAndNamedExports, ExportVarDec)), function($skip, $loc, $0, $1, $2, $3, $4) {
10875
+ var ExportDeclaration$4 = $TS($S($E(Decorators), Export, __, $C(Declaration, VariableStatement, TypeAndNamedExports, ExportVarDec)), function($skip, $loc, $0, $1, $2, $3, $4) {
10805
10876
  var declaration = $4;
10806
10877
  return { type: "ExportDeclaration", declaration, ts: declaration.ts, children: $0 };
10807
10878
  });
10808
- var ExportDeclaration$$ = [ExportDeclaration$0, ExportDeclaration$1, ExportDeclaration$2, ExportDeclaration$3];
10879
+ var ExportDeclaration$$ = [ExportDeclaration$0, ExportDeclaration$1, ExportDeclaration$2, ExportDeclaration$3, ExportDeclaration$4];
10809
10880
  function ExportDeclaration(ctx, state) {
10810
10881
  return $EVENT_C(ctx, state, "ExportDeclaration", ExportDeclaration$$);
10811
10882
  }
@@ -10969,6 +11040,7 @@ var require_parser = __commonJS({
10969
11040
  var VariableStatement$0 = $TS($S(Var, __, VariableDeclarationList), function($skip, $loc, $0, $1, $2, $3) {
10970
11041
  return {
10971
11042
  ...$3,
11043
+ names: $3.names,
10972
11044
  children: [$1, ...$2, ...$3.children]
10973
11045
  };
10974
11046
  });
@@ -11144,7 +11216,7 @@ var require_parser = __commonJS({
11144
11216
  var flags = $4;
11145
11217
  let hasSubstitutions = body.some((part) => part.type === "Substitution");
11146
11218
  if (hasSubstitutions) {
11147
- const result = [
11219
+ const children = [
11148
11220
  { ...open, token: "RegExp(`" },
11149
11221
  // Escape backticks, backslashes, and '$' in the body text
11150
11222
  body.map(
@@ -11156,13 +11228,16 @@ var require_parser = __commonJS({
11156
11228
  "`"
11157
11229
  ];
11158
11230
  if (flags.length) {
11159
- result.push(
11231
+ children.push(
11160
11232
  ", ",
11161
11233
  JSON.stringify(flags)
11162
11234
  );
11163
11235
  }
11164
- result.push({ ...close, token: ")" });
11165
- return result;
11236
+ children.push({ ...close, token: ")" });
11237
+ return {
11238
+ type: "RegularExpressionLiteral",
11239
+ children
11240
+ };
11166
11241
  }
11167
11242
  return {
11168
11243
  type: "RegularExpressionLiteral",
@@ -11729,19 +11804,25 @@ var require_parser = __commonJS({
11729
11804
  function In(ctx, state) {
11730
11805
  return $EVENT(ctx, state, "In", In$0);
11731
11806
  }
11732
- var LetOrConst$0 = $TS($S($C($EXPECT($L153, 'LetOrConst "let"'), $EXPECT($L154, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11807
+ var Infer$0 = $TS($S($EXPECT($L153, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11808
+ return { $loc, token: $1 };
11809
+ });
11810
+ function Infer(ctx, state) {
11811
+ return $EVENT(ctx, state, "Infer", Infer$0);
11812
+ }
11813
+ var LetOrConst$0 = $TS($S($C($EXPECT($L154, 'LetOrConst "let"'), $EXPECT($L155, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11733
11814
  return { $loc, token: $1 };
11734
11815
  });
11735
11816
  function LetOrConst(ctx, state) {
11736
11817
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
11737
11818
  }
11738
- var Const$0 = $TS($S($EXPECT($L154, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11819
+ var Const$0 = $TS($S($EXPECT($L155, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11739
11820
  return { $loc, token: $1 };
11740
11821
  });
11741
11822
  function Const(ctx, state) {
11742
11823
  return $EVENT(ctx, state, "Const", Const$0);
11743
11824
  }
11744
- var Is$0 = $TS($S($EXPECT($L155, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11825
+ var Is$0 = $TS($S($EXPECT($L156, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11745
11826
  return { $loc, token: $1 };
11746
11827
  });
11747
11828
  function Is(ctx, state) {
@@ -11753,25 +11834,25 @@ var require_parser = __commonJS({
11753
11834
  function LetOrConstOrVar(ctx, state) {
11754
11835
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
11755
11836
  }
11756
- var Loop$0 = $TS($S($EXPECT($L156, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11837
+ var Loop$0 = $TS($S($EXPECT($L157, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11757
11838
  return { $loc, token: "while(true)" };
11758
11839
  });
11759
11840
  function Loop(ctx, state) {
11760
11841
  return $EVENT(ctx, state, "Loop", Loop$0);
11761
11842
  }
11762
- var New$0 = $TS($S($EXPECT($L157, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11843
+ var New$0 = $TS($S($EXPECT($L158, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11763
11844
  return { $loc, token: $1 };
11764
11845
  });
11765
11846
  function New(ctx, state) {
11766
11847
  return $EVENT(ctx, state, "New", New$0);
11767
11848
  }
11768
- var Not$0 = $TS($S($EXPECT($L158, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L14, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11849
+ var Not$0 = $TS($S($EXPECT($L159, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L14, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11769
11850
  return { $loc, token: "!" };
11770
11851
  });
11771
11852
  function Not(ctx, state) {
11772
11853
  return $EVENT(ctx, state, "Not", Not$0);
11773
11854
  }
11774
- var Of$0 = $TS($S($EXPECT($L159, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11855
+ var Of$0 = $TS($S($EXPECT($L160, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11775
11856
  return { $loc, token: $1 };
11776
11857
  });
11777
11858
  function Of(ctx, state) {
@@ -11789,7 +11870,7 @@ var require_parser = __commonJS({
11789
11870
  function OpenBrace(ctx, state) {
11790
11871
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
11791
11872
  }
11792
- var OpenBracket$0 = $TV($EXPECT($L160, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11873
+ var OpenBracket$0 = $TV($EXPECT($L161, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11793
11874
  return { $loc, token: $1 };
11794
11875
  });
11795
11876
  function OpenBracket(ctx, state) {
@@ -11801,43 +11882,43 @@ var require_parser = __commonJS({
11801
11882
  function OpenParen(ctx, state) {
11802
11883
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
11803
11884
  }
11804
- var Operator$0 = $TS($S($EXPECT($L161, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11885
+ var Operator$0 = $TS($S($EXPECT($L162, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11805
11886
  return { $loc, token: $1 };
11806
11887
  });
11807
11888
  function Operator(ctx, state) {
11808
11889
  return $EVENT(ctx, state, "Operator", Operator$0);
11809
11890
  }
11810
- var Own$0 = $TS($S($EXPECT($L162, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11891
+ var Own$0 = $TS($S($EXPECT($L163, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11811
11892
  return { $loc, token: $1 };
11812
11893
  });
11813
11894
  function Own(ctx, state) {
11814
11895
  return $EVENT(ctx, state, "Own", Own$0);
11815
11896
  }
11816
- var Public$0 = $TS($S($EXPECT($L163, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11897
+ var Public$0 = $TS($S($EXPECT($L164, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11817
11898
  return { $loc, token: $1 };
11818
11899
  });
11819
11900
  function Public(ctx, state) {
11820
11901
  return $EVENT(ctx, state, "Public", Public$0);
11821
11902
  }
11822
- var Private$0 = $TS($S($EXPECT($L164, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11903
+ var Private$0 = $TS($S($EXPECT($L165, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11823
11904
  return { $loc, token: $1 };
11824
11905
  });
11825
11906
  function Private(ctx, state) {
11826
11907
  return $EVENT(ctx, state, "Private", Private$0);
11827
11908
  }
11828
- var Protected$0 = $TS($S($EXPECT($L165, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11909
+ var Protected$0 = $TS($S($EXPECT($L166, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11829
11910
  return { $loc, token: $1 };
11830
11911
  });
11831
11912
  function Protected(ctx, state) {
11832
11913
  return $EVENT(ctx, state, "Protected", Protected$0);
11833
11914
  }
11834
- var Pipe$0 = $TV($C($EXPECT($L166, 'Pipe "||>"'), $EXPECT($L167, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11915
+ var Pipe$0 = $TV($C($EXPECT($L167, 'Pipe "||>"'), $EXPECT($L168, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11835
11916
  return { $loc, token: "||>" };
11836
11917
  });
11837
- var Pipe$1 = $TV($C($EXPECT($L168, 'Pipe "|>="'), $EXPECT($L169, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11918
+ var Pipe$1 = $TV($C($EXPECT($L169, 'Pipe "|>="'), $EXPECT($L170, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11838
11919
  return { $loc, token: "|>=" };
11839
11920
  });
11840
- var Pipe$2 = $TV($C($EXPECT($L170, 'Pipe "|>"'), $EXPECT($L171, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11921
+ var Pipe$2 = $TV($C($EXPECT($L171, 'Pipe "|>"'), $EXPECT($L172, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11841
11922
  return { $loc, token: "|>" };
11842
11923
  });
11843
11924
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -11850,19 +11931,19 @@ var require_parser = __commonJS({
11850
11931
  function QuestionMark(ctx, state) {
11851
11932
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
11852
11933
  }
11853
- var Readonly$0 = $TS($S($EXPECT($L172, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11934
+ var Readonly$0 = $TS($S($EXPECT($L173, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11854
11935
  return { $loc, token: $1, ts: true };
11855
11936
  });
11856
11937
  function Readonly(ctx, state) {
11857
11938
  return $EVENT(ctx, state, "Readonly", Readonly$0);
11858
11939
  }
11859
- var Return$0 = $TS($S($EXPECT($L173, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11940
+ var Return$0 = $TS($S($EXPECT($L174, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11860
11941
  return { $loc, token: $1 };
11861
11942
  });
11862
11943
  function Return(ctx, state) {
11863
11944
  return $EVENT(ctx, state, "Return", Return$0);
11864
11945
  }
11865
- var Satisfies$0 = $TS($S($EXPECT($L174, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11946
+ var Satisfies$0 = $TS($S($EXPECT($L175, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11866
11947
  return { $loc, token: $1 };
11867
11948
  });
11868
11949
  function Satisfies(ctx, state) {
@@ -11874,7 +11955,7 @@ var require_parser = __commonJS({
11874
11955
  function Semicolon(ctx, state) {
11875
11956
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
11876
11957
  }
11877
- var SingleQuote$0 = $TV($EXPECT($L175, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11958
+ var SingleQuote$0 = $TV($EXPECT($L176, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11878
11959
  return { $loc, token: $1 };
11879
11960
  });
11880
11961
  function SingleQuote(ctx, state) {
@@ -11886,7 +11967,7 @@ var require_parser = __commonJS({
11886
11967
  function Star(ctx, state) {
11887
11968
  return $EVENT(ctx, state, "Star", Star$0);
11888
11969
  }
11889
- var Static$0 = $TS($S($EXPECT($L176, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11970
+ var Static$0 = $TS($S($EXPECT($L177, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11890
11971
  return { $loc, token: $1 };
11891
11972
  });
11892
11973
  var Static$1 = $TS($S($EXPECT($L120, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L120, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
@@ -11896,127 +11977,127 @@ var require_parser = __commonJS({
11896
11977
  function Static(ctx, state) {
11897
11978
  return $EVENT_C(ctx, state, "Static", Static$$);
11898
11979
  }
11899
- var SubstitutionStart$0 = $TV($EXPECT($L177, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11980
+ var SubstitutionStart$0 = $TV($EXPECT($L178, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11900
11981
  return { $loc, token: $1 };
11901
11982
  });
11902
11983
  function SubstitutionStart(ctx, state) {
11903
11984
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
11904
11985
  }
11905
- var Super$0 = $TS($S($EXPECT($L178, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11986
+ var Super$0 = $TS($S($EXPECT($L179, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11906
11987
  return { $loc, token: $1 };
11907
11988
  });
11908
11989
  function Super(ctx, state) {
11909
11990
  return $EVENT(ctx, state, "Super", Super$0);
11910
11991
  }
11911
- var Switch$0 = $TS($S($EXPECT($L179, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11992
+ var Switch$0 = $TS($S($EXPECT($L180, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11912
11993
  return { $loc, token: $1 };
11913
11994
  });
11914
11995
  function Switch(ctx, state) {
11915
11996
  return $EVENT(ctx, state, "Switch", Switch$0);
11916
11997
  }
11917
- var Target$0 = $TS($S($EXPECT($L180, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11998
+ var Target$0 = $TS($S($EXPECT($L181, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11918
11999
  return { $loc, token: $1 };
11919
12000
  });
11920
12001
  function Target(ctx, state) {
11921
12002
  return $EVENT(ctx, state, "Target", Target$0);
11922
12003
  }
11923
- var Then$0 = $TS($S(__, $EXPECT($L181, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
12004
+ var Then$0 = $TS($S(__, $EXPECT($L182, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11924
12005
  return { $loc, token: "" };
11925
12006
  });
11926
12007
  function Then(ctx, state) {
11927
12008
  return $EVENT(ctx, state, "Then", Then$0);
11928
12009
  }
11929
- var This$0 = $TS($S($EXPECT($L182, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12010
+ var This$0 = $TS($S($EXPECT($L183, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11930
12011
  return { $loc, token: $1 };
11931
12012
  });
11932
12013
  function This(ctx, state) {
11933
12014
  return $EVENT(ctx, state, "This", This$0);
11934
12015
  }
11935
- var Throw$0 = $TS($S($EXPECT($L183, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12016
+ var Throw$0 = $TS($S($EXPECT($L184, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11936
12017
  return { $loc, token: $1 };
11937
12018
  });
11938
12019
  function Throw(ctx, state) {
11939
12020
  return $EVENT(ctx, state, "Throw", Throw$0);
11940
12021
  }
11941
- var TripleDoubleQuote$0 = $TV($EXPECT($L184, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
12022
+ var TripleDoubleQuote$0 = $TV($EXPECT($L185, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11942
12023
  return { $loc, token: "`" };
11943
12024
  });
11944
12025
  function TripleDoubleQuote(ctx, state) {
11945
12026
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
11946
12027
  }
11947
- var TripleSingleQuote$0 = $TV($EXPECT($L185, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
12028
+ var TripleSingleQuote$0 = $TV($EXPECT($L186, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11948
12029
  return { $loc, token: "`" };
11949
12030
  });
11950
12031
  function TripleSingleQuote(ctx, state) {
11951
12032
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
11952
12033
  }
11953
- var TripleSlash$0 = $TV($EXPECT($L186, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
12034
+ var TripleSlash$0 = $TV($EXPECT($L187, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11954
12035
  return { $loc, token: "/" };
11955
12036
  });
11956
12037
  function TripleSlash(ctx, state) {
11957
12038
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
11958
12039
  }
11959
- var TripleTick$0 = $TV($EXPECT($L187, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
12040
+ var TripleTick$0 = $TV($EXPECT($L188, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11960
12041
  return { $loc, token: "`" };
11961
12042
  });
11962
12043
  function TripleTick(ctx, state) {
11963
12044
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
11964
12045
  }
11965
- var Try$0 = $TS($S($EXPECT($L188, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12046
+ var Try$0 = $TS($S($EXPECT($L189, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11966
12047
  return { $loc, token: $1 };
11967
12048
  });
11968
12049
  function Try(ctx, state) {
11969
12050
  return $EVENT(ctx, state, "Try", Try$0);
11970
12051
  }
11971
- var Typeof$0 = $TS($S($EXPECT($L189, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12052
+ var Typeof$0 = $TS($S($EXPECT($L190, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11972
12053
  return { $loc, token: $1 };
11973
12054
  });
11974
12055
  function Typeof(ctx, state) {
11975
12056
  return $EVENT(ctx, state, "Typeof", Typeof$0);
11976
12057
  }
11977
- var Unless$0 = $TS($S($EXPECT($L190, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12058
+ var Unless$0 = $TS($S($EXPECT($L191, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11978
12059
  return { $loc, token: $1, negated: true };
11979
12060
  });
11980
12061
  function Unless(ctx, state) {
11981
12062
  return $EVENT(ctx, state, "Unless", Unless$0);
11982
12063
  }
11983
- var Until$0 = $TS($S($EXPECT($L191, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12064
+ var Until$0 = $TS($S($EXPECT($L192, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11984
12065
  return { $loc, token: $1 };
11985
12066
  });
11986
12067
  function Until(ctx, state) {
11987
12068
  return $EVENT(ctx, state, "Until", Until$0);
11988
12069
  }
11989
- var Using$0 = $TS($S($EXPECT($L192, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12070
+ var Using$0 = $TS($S($EXPECT($L193, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11990
12071
  return { $loc, token: $1 };
11991
12072
  });
11992
12073
  function Using(ctx, state) {
11993
12074
  return $EVENT(ctx, state, "Using", Using$0);
11994
12075
  }
11995
- var Var$0 = $TS($S($EXPECT($L193, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12076
+ var Var$0 = $TS($S($EXPECT($L194, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11996
12077
  return { $loc, token: $1 };
11997
12078
  });
11998
12079
  function Var(ctx, state) {
11999
12080
  return $EVENT(ctx, state, "Var", Var$0);
12000
12081
  }
12001
- var Void$0 = $TS($S($EXPECT($L194, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12082
+ var Void$0 = $TS($S($EXPECT($L195, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12002
12083
  return { $loc, token: $1 };
12003
12084
  });
12004
12085
  function Void(ctx, state) {
12005
12086
  return $EVENT(ctx, state, "Void", Void$0);
12006
12087
  }
12007
- var When$0 = $TS($S($EXPECT($L195, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12088
+ var When$0 = $TS($S($EXPECT($L196, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12008
12089
  return { $loc, token: "case" };
12009
12090
  });
12010
12091
  function When(ctx, state) {
12011
12092
  return $EVENT(ctx, state, "When", When$0);
12012
12093
  }
12013
- var While$0 = $TS($S($EXPECT($L196, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12094
+ var While$0 = $TS($S($EXPECT($L197, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12014
12095
  return { $loc, token: $1 };
12015
12096
  });
12016
12097
  function While(ctx, state) {
12017
12098
  return $EVENT(ctx, state, "While", While$0);
12018
12099
  }
12019
- var Yield$0 = $TS($S($EXPECT($L197, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12100
+ var Yield$0 = $TS($S($EXPECT($L198, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12020
12101
  return { $loc, token: $1, type: "Yield" };
12021
12102
  });
12022
12103
  function Yield(ctx, state) {
@@ -12095,7 +12176,7 @@ var require_parser = __commonJS({
12095
12176
  function JSXElement(ctx, state) {
12096
12177
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
12097
12178
  }
12098
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L16, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L198, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12179
+ 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) {
12099
12180
  return { type: "JSXElement", children: $0, tag: $2 };
12100
12181
  });
12101
12182
  function JSXSelfClosingElement(ctx, state) {
@@ -12129,7 +12210,7 @@ var require_parser = __commonJS({
12129
12210
  function JSXOptionalClosingElement(ctx, state) {
12130
12211
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
12131
12212
  }
12132
- var JSXClosingElement$0 = $S($EXPECT($L199, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L37, 'JSXClosingElement ">"'));
12213
+ var JSXClosingElement$0 = $S($EXPECT($L200, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L37, 'JSXClosingElement ">"'));
12133
12214
  function JSXClosingElement(ctx, state) {
12134
12215
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
12135
12216
  }
@@ -12150,7 +12231,7 @@ var require_parser = __commonJS({
12150
12231
  ];
12151
12232
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
12152
12233
  });
12153
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L200, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12234
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L201, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12154
12235
  var children = $3;
12155
12236
  $0 = $0.slice(1);
12156
12237
  return {
@@ -12163,7 +12244,7 @@ var require_parser = __commonJS({
12163
12244
  function JSXFragment(ctx, state) {
12164
12245
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
12165
12246
  }
12166
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L200, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
12247
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L201, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
12167
12248
  module.JSXTagStack.push("");
12168
12249
  return $1;
12169
12250
  });
@@ -12180,7 +12261,7 @@ var require_parser = __commonJS({
12180
12261
  function JSXOptionalClosingFragment(ctx, state) {
12181
12262
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
12182
12263
  }
12183
- var JSXClosingFragment$0 = $EXPECT($L201, 'JSXClosingFragment "</>"');
12264
+ var JSXClosingFragment$0 = $EXPECT($L202, 'JSXClosingFragment "</>"');
12184
12265
  function JSXClosingFragment(ctx, state) {
12185
12266
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
12186
12267
  }
@@ -12654,7 +12735,7 @@ var require_parser = __commonJS({
12654
12735
  function JSXChild(ctx, state) {
12655
12736
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
12656
12737
  }
12657
- var JSXComment$0 = $TS($S($EXPECT($L202, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L203, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12738
+ var JSXComment$0 = $TS($S($EXPECT($L203, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L204, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12658
12739
  return ["{/*", $2, "*/}"];
12659
12740
  });
12660
12741
  function JSXComment(ctx, state) {
@@ -12741,21 +12822,66 @@ var require_parser = __commonJS({
12741
12822
  var TypeDeclaration$0 = $T($S($E($S(Export, $E(_))), $S(Declare, $E(_)), TypeLexicalDeclaration), function(value) {
12742
12823
  return { "ts": true, "children": value };
12743
12824
  });
12744
- var TypeDeclaration$1 = $T($S($E($S(Export, $E(_))), $E($S(Declare, $E(_))), TypeDeclarationRest), function(value) {
12745
- return { "ts": true, "children": value };
12825
+ var TypeDeclaration$1 = $TS($S($E($S(Export, $E(_))), $E($S(Declare, $E(_))), TypeDeclarationRest), function($skip, $loc, $0, $1, $2, $3) {
12826
+ var export_ = $1;
12827
+ var declare = $2;
12828
+ var t = $3;
12829
+ return {
12830
+ ...t,
12831
+ ts: true,
12832
+ export: export_,
12833
+ declare,
12834
+ children: [export_, declare, ...t.children]
12835
+ };
12746
12836
  });
12747
12837
  var TypeDeclaration$$ = [TypeDeclaration$0, TypeDeclaration$1];
12748
12838
  function TypeDeclaration(ctx, state) {
12749
12839
  return $EVENT_C(ctx, state, "TypeDeclaration", TypeDeclaration$$);
12750
12840
  }
12751
- var TypeDeclarationRest$0 = $S(TypeKeyword, $E(_), IdentifierName, $E(TypeParameters), OptionalEquals, $C($S($E(_), Type), $S(__, Type)));
12752
- var TypeDeclarationRest$1 = $S(Interface, $E(_), IdentifierName, $E(TypeParameters), $E(InterfaceExtendsClause), InterfaceBlock);
12753
- var TypeDeclarationRest$2 = $S(Namespace, $E(_), IdentifierName, ModuleBlock);
12841
+ var TypeDeclarationRest$0 = TypeAliasDeclaration;
12842
+ var TypeDeclarationRest$1 = InterfaceDeclaration;
12843
+ var TypeDeclarationRest$2 = NamespaceDeclaration;
12754
12844
  var TypeDeclarationRest$3 = FunctionSignature;
12755
12845
  var TypeDeclarationRest$$ = [TypeDeclarationRest$0, TypeDeclarationRest$1, TypeDeclarationRest$2, TypeDeclarationRest$3];
12756
12846
  function TypeDeclarationRest(ctx, state) {
12757
12847
  return $EVENT_C(ctx, state, "TypeDeclarationRest", TypeDeclarationRest$$);
12758
12848
  }
12849
+ 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) {
12850
+ var id = $3;
12851
+ return {
12852
+ type: "TypeDeclaration",
12853
+ id,
12854
+ children: $0,
12855
+ ts: true
12856
+ };
12857
+ });
12858
+ function TypeAliasDeclaration(ctx, state) {
12859
+ return $EVENT(ctx, state, "TypeAliasDeclaration", TypeAliasDeclaration$0);
12860
+ }
12861
+ var InterfaceDeclaration$0 = $TS($S(Interface, $E(_), IdentifierName, $E(TypeParameters), $E(InterfaceExtendsClause), InterfaceBlock), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
12862
+ var id = $3;
12863
+ return {
12864
+ type: "InterfaceDeclaration",
12865
+ id,
12866
+ children: $0,
12867
+ ts: true
12868
+ };
12869
+ });
12870
+ function InterfaceDeclaration(ctx, state) {
12871
+ return $EVENT(ctx, state, "InterfaceDeclaration", InterfaceDeclaration$0);
12872
+ }
12873
+ var NamespaceDeclaration$0 = $TS($S(Namespace, $E(_), IdentifierName, ModuleBlock), function($skip, $loc, $0, $1, $2, $3, $4) {
12874
+ var id = $3;
12875
+ return {
12876
+ type: "NamespaceDeclaration",
12877
+ id,
12878
+ children: $0,
12879
+ ts: true
12880
+ };
12881
+ });
12882
+ function NamespaceDeclaration(ctx, state) {
12883
+ return $EVENT(ctx, state, "NamespaceDeclaration", NamespaceDeclaration$0);
12884
+ }
12759
12885
  var OptionalEquals$0 = $S(__, Equals);
12760
12886
  var OptionalEquals$1 = $T($S($Y(IndentedFurther), InsertSpaceEquals), function(value) {
12761
12887
  return value[1];
@@ -12786,37 +12912,37 @@ var require_parser = __commonJS({
12786
12912
  function InterfaceExtendsTarget(ctx, state) {
12787
12913
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
12788
12914
  }
12789
- var TypeKeyword$0 = $TS($S($EXPECT($L204, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12915
+ var TypeKeyword$0 = $TS($S($EXPECT($L205, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12790
12916
  return { $loc, token: $1 };
12791
12917
  });
12792
12918
  function TypeKeyword(ctx, state) {
12793
12919
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
12794
12920
  }
12795
- var Enum$0 = $TS($S($EXPECT($L205, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12921
+ var Enum$0 = $TS($S($EXPECT($L206, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12796
12922
  return { $loc, token: $1 };
12797
12923
  });
12798
12924
  function Enum(ctx, state) {
12799
12925
  return $EVENT(ctx, state, "Enum", Enum$0);
12800
12926
  }
12801
- var Interface$0 = $TS($S($EXPECT($L206, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12927
+ var Interface$0 = $TS($S($EXPECT($L207, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12802
12928
  return { $loc, token: $1 };
12803
12929
  });
12804
12930
  function Interface(ctx, state) {
12805
12931
  return $EVENT(ctx, state, "Interface", Interface$0);
12806
12932
  }
12807
- var Global$0 = $TS($S($EXPECT($L207, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12933
+ var Global$0 = $TS($S($EXPECT($L208, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12808
12934
  return { $loc, token: $1 };
12809
12935
  });
12810
12936
  function Global(ctx, state) {
12811
12937
  return $EVENT(ctx, state, "Global", Global$0);
12812
12938
  }
12813
- var Module$0 = $TS($S($EXPECT($L208, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12939
+ var Module$0 = $TS($S($EXPECT($L209, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12814
12940
  return { $loc, token: $1 };
12815
12941
  });
12816
12942
  function Module(ctx, state) {
12817
12943
  return $EVENT(ctx, state, "Module", Module$0);
12818
12944
  }
12819
- var Namespace$0 = $TS($S($EXPECT($L209, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12945
+ var Namespace$0 = $TS($S($EXPECT($L210, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12820
12946
  return { $loc, token: $1 };
12821
12947
  });
12822
12948
  function Namespace(ctx, state) {
@@ -12918,9 +13044,10 @@ var require_parser = __commonJS({
12918
13044
  children: $0
12919
13045
  };
12920
13046
  const names = new Set(block.properties.map((p) => p.name.name));
12921
- return [
12922
- ts,
12923
- {
13047
+ return {
13048
+ type: "EnumDeclaration",
13049
+ id,
13050
+ children: [ts, {
12924
13051
  js: true,
12925
13052
  children: [
12926
13053
  ["let ", id, " = {};\n"],
@@ -12962,8 +13089,8 @@ var require_parser = __commonJS({
12962
13089
  }
12963
13090
  })
12964
13091
  ]
12965
- }
12966
- ];
13092
+ }]
13093
+ };
12967
13094
  });
12968
13095
  function EnumDeclaration(ctx, state) {
12969
13096
  return $EVENT(ctx, state, "EnumDeclaration", EnumDeclaration$0);
@@ -12993,26 +13120,26 @@ var require_parser = __commonJS({
12993
13120
  function EnumBlock(ctx, state) {
12994
13121
  return $EVENT_C(ctx, state, "EnumBlock", EnumBlock$$);
12995
13122
  }
12996
- var NestedEnumProperties$0 = $TS($S(PushIndent, $Q(NestedEnumProperty), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
13123
+ var NestedEnumProperties$0 = $TS($S(PushIndent, $Q(NestedEnumPropertyLine), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
12997
13124
  var props = $2;
12998
13125
  if (!props.length)
12999
13126
  return $skip;
13000
13127
  return {
13001
- properties: props.map((p) => p.property),
13128
+ properties: props.flat().map((p) => p.property),
13002
13129
  children: $0
13003
13130
  };
13004
13131
  });
13005
13132
  function NestedEnumProperties(ctx, state) {
13006
13133
  return $EVENT(ctx, state, "NestedEnumProperties", NestedEnumProperties$0);
13007
13134
  }
13008
- var NestedEnumProperty$0 = $TS($S(Nested, EnumProperty), function($skip, $loc, $0, $1, $2) {
13009
- return {
13010
- property: $2,
13011
- children: $0
13012
- };
13135
+ var NestedEnumPropertyLine$0 = $TS($S($S(Nested, EnumProperty), $Q($S($E(_), EnumProperty))), function($skip, $loc, $0, $1, $2) {
13136
+ return [$1, ...$2].map((pair) => ({
13137
+ property: pair[1],
13138
+ children: pair
13139
+ }));
13013
13140
  });
13014
- function NestedEnumProperty(ctx, state) {
13015
- return $EVENT(ctx, state, "NestedEnumProperty", NestedEnumProperty$0);
13141
+ function NestedEnumPropertyLine(ctx, state) {
13142
+ return $EVENT(ctx, state, "NestedEnumPropertyLine", NestedEnumPropertyLine$0);
13016
13143
  }
13017
13144
  var EnumProperty$0 = $TS($S(Identifier, $E($S(__, Equals, ExtendedExpression)), ObjectPropertyDelimiter), function($skip, $loc, $0, $1, $2, $3) {
13018
13145
  var name = $1;
@@ -13089,7 +13216,7 @@ var require_parser = __commonJS({
13089
13216
  function ReturnTypeSuffix(ctx, state) {
13090
13217
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
13091
13218
  }
13092
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L210, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
13219
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L211, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
13093
13220
  var asserts = $1;
13094
13221
  var t = $2;
13095
13222
  if (asserts) {
@@ -13110,7 +13237,7 @@ var require_parser = __commonJS({
13110
13237
  function ReturnType(ctx, state) {
13111
13238
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
13112
13239
  }
13113
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L155, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
13240
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L156, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
13114
13241
  var lhs = $1;
13115
13242
  var rhs = $2;
13116
13243
  if (!rhs)
@@ -13144,7 +13271,7 @@ var require_parser = __commonJS({
13144
13271
  function TypeBinary(ctx, state) {
13145
13272
  return $EVENT(ctx, state, "TypeBinary", TypeBinary$0);
13146
13273
  }
13147
- var TypeUnary$0 = $TS($S($Q($S(__, TypeUnaryOp, NonIdContinue)), TypePrimary, $Q(TypeUnarySuffix)), function($skip, $loc, $0, $1, $2, $3) {
13274
+ var TypeUnary$0 = $TS($S($Q($S(__, TypeUnaryOp)), TypePrimary, $Q(TypeUnarySuffix)), function($skip, $loc, $0, $1, $2, $3) {
13148
13275
  var prefix = $1;
13149
13276
  var t = $2;
13150
13277
  var suffix = $3;
@@ -13168,10 +13295,9 @@ var require_parser = __commonJS({
13168
13295
  function TypeUnarySuffix(ctx, state) {
13169
13296
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
13170
13297
  }
13171
- var TypeUnaryOp$0 = $S($EXPECT($L211, 'TypeUnaryOp "keyof"'), NonIdContinue);
13172
- var TypeUnaryOp$1 = $S($EXPECT($L212, 'TypeUnaryOp "infer"'), NonIdContinue);
13173
- var TypeUnaryOp$2 = $S($EXPECT($L172, 'TypeUnaryOp "readonly"'), NonIdContinue);
13174
- var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1, TypeUnaryOp$2];
13298
+ var TypeUnaryOp$0 = $S($EXPECT($L212, 'TypeUnaryOp "keyof"'), NonIdContinue);
13299
+ var TypeUnaryOp$1 = $S($EXPECT($L173, 'TypeUnaryOp "readonly"'), NonIdContinue);
13300
+ var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1];
13175
13301
  function TypeUnaryOp(ctx, state) {
13176
13302
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
13177
13303
  }
@@ -13206,19 +13332,20 @@ var require_parser = __commonJS({
13206
13332
  function UnknownAlias(ctx, state) {
13207
13333
  return $EVENT(ctx, state, "UnknownAlias", UnknownAlias$0);
13208
13334
  }
13209
- var TypePrimary$0 = $TS($S($E(_), Typeof, $E(_), ConditionalExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
13335
+ var TypePrimary$0 = $S($E(_), Infer, $E(_), IdentifierName, $E($S(NotDedented, ExtendsToken, Type)));
13336
+ var TypePrimary$1 = $TS($S($E(_), Typeof, $E(_), UnaryExpression), function($skip, $loc, $0, $1, $2, $3, $4) {
13210
13337
  return {
13211
13338
  type: "TypeofType",
13212
13339
  children: $0
13213
13340
  };
13214
13341
  });
13215
- var TypePrimary$1 = $TS($S($E(_), TypeTuple), function($skip, $loc, $0, $1, $2) {
13342
+ var TypePrimary$2 = $TS($S($E(_), TypeTuple), function($skip, $loc, $0, $1, $2) {
13216
13343
  return { ...$2, children: [$1, ...$2.children] };
13217
13344
  });
13218
- var TypePrimary$2 = InterfaceBlock;
13219
- var TypePrimary$3 = $S($E(_), FunctionType);
13220
- var TypePrimary$4 = $S($E(_), InlineInterfaceLiteral);
13221
- var TypePrimary$5 = $TS($S($E(_), ImportType), function($skip, $loc, $0, $1, $2) {
13345
+ var TypePrimary$3 = InterfaceBlock;
13346
+ var TypePrimary$4 = $S($E(_), FunctionType);
13347
+ var TypePrimary$5 = $S($E(_), InlineInterfaceLiteral);
13348
+ var TypePrimary$6 = $TS($S($E(_), ImportType), function($skip, $loc, $0, $1, $2) {
13222
13349
  var t = $2;
13223
13350
  return {
13224
13351
  type: "ImportType",
@@ -13226,7 +13353,7 @@ var require_parser = __commonJS({
13226
13353
  children: $0
13227
13354
  };
13228
13355
  });
13229
- var TypePrimary$6 = $TS($S($E(_), TypeLiteral), function($skip, $loc, $0, $1, $2) {
13356
+ var TypePrimary$7 = $TS($S($E(_), TypeLiteral), function($skip, $loc, $0, $1, $2) {
13230
13357
  var t = $2;
13231
13358
  return {
13232
13359
  type: "LiteralType",
@@ -13234,7 +13361,7 @@ var require_parser = __commonJS({
13234
13361
  children: $0
13235
13362
  };
13236
13363
  });
13237
- var TypePrimary$7 = $TS($S($E(_), UnknownAlias), function($skip, $loc, $0, $1, $2) {
13364
+ var TypePrimary$8 = $TS($S($E(_), UnknownAlias), function($skip, $loc, $0, $1, $2) {
13238
13365
  return {
13239
13366
  type: "IdentifierType",
13240
13367
  children: $0,
@@ -13242,7 +13369,7 @@ var require_parser = __commonJS({
13242
13369
  args: void 0
13243
13370
  };
13244
13371
  });
13245
- var TypePrimary$8 = $TS($S($E(_), IdentifierName, $Q($S(Dot, IdentifierName)), $E(TypeArguments)), function($skip, $loc, $0, $1, $2, $3, $4) {
13372
+ var TypePrimary$9 = $TS($S($E(_), IdentifierName, $Q($S(Dot, IdentifierName)), $E(TypeArguments)), function($skip, $loc, $0, $1, $2, $3, $4) {
13246
13373
  var args = $4;
13247
13374
  return {
13248
13375
  type: "IdentifierType",
@@ -13251,13 +13378,13 @@ var require_parser = __commonJS({
13251
13378
  args
13252
13379
  };
13253
13380
  });
13254
- var TypePrimary$9 = $TS($S($E(_), OpenParen, $C(Type, $S(EOS, Type)), __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13381
+ var TypePrimary$10 = $TS($S($E(_), OpenParen, $C(Type, $S(EOS, Type)), __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13255
13382
  return {
13256
13383
  type: "ParenthesizedType",
13257
13384
  children: $0
13258
13385
  };
13259
13386
  });
13260
- var TypePrimary$$ = [TypePrimary$0, TypePrimary$1, TypePrimary$2, TypePrimary$3, TypePrimary$4, TypePrimary$5, TypePrimary$6, TypePrimary$7, TypePrimary$8, TypePrimary$9];
13387
+ var TypePrimary$$ = [TypePrimary$0, TypePrimary$1, TypePrimary$2, TypePrimary$3, TypePrimary$4, TypePrimary$5, TypePrimary$6, TypePrimary$7, TypePrimary$8, TypePrimary$9, TypePrimary$10];
13261
13388
  function TypePrimary(ctx, state) {
13262
13389
  return $EVENT_C(ctx, state, "TypePrimary", TypePrimary$$);
13263
13390
  }
@@ -13333,11 +13460,7 @@ var require_parser = __commonJS({
13333
13460
  return [$1, $2, $3, $7, $5, $6, $4];
13334
13461
  return $0;
13335
13462
  });
13336
- var TypeConditional$2 = $TS($S(TypeBinary, $E($S($E(IndentedFurther), ExtendsToken, Type))), function($skip, $loc, $0, $1, $2) {
13337
- if (!$2)
13338
- return $1;
13339
- return $0;
13340
- });
13463
+ var TypeConditional$2 = TypeBinary;
13341
13464
  var TypeConditional$$ = [TypeConditional$0, TypeConditional$1, TypeConditional$2];
13342
13465
  function TypeConditional(ctx, state) {
13343
13466
  return $EVENT_C(ctx, state, "TypeConditional", TypeConditional$$);
@@ -13409,7 +13532,7 @@ var require_parser = __commonJS({
13409
13532
  }
13410
13533
  var TypeLiteral$0 = TypeTemplateLiteral;
13411
13534
  var TypeLiteral$1 = Literal;
13412
- var TypeLiteral$2 = $TS($S($EXPECT($L194, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13535
+ var TypeLiteral$2 = $TS($S($EXPECT($L195, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13413
13536
  return { type: "VoidType", $loc, token: $1 };
13414
13537
  });
13415
13538
  var TypeLiteral$3 = $TV($EXPECT($L214, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
@@ -13495,7 +13618,7 @@ var require_parser = __commonJS({
13495
13618
  function TypeParameters(ctx, state) {
13496
13619
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
13497
13620
  }
13498
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L154, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13621
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L155, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13499
13622
  function TypeParameter(ctx, state) {
13500
13623
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
13501
13624
  }
@@ -14307,6 +14430,7 @@ var require_parser = __commonJS({
14307
14430
  exports.ArrowFunction = ArrowFunction;
14308
14431
  exports.FatArrow = FatArrow;
14309
14432
  exports.TrailingDeclaration = TrailingDeclaration;
14433
+ exports.TrailingPipe = TrailingPipe;
14310
14434
  exports.FatArrowBody = FatArrowBody;
14311
14435
  exports.ConditionalExpression = ConditionalExpression;
14312
14436
  exports.TernaryRest = TernaryRest;
@@ -14740,6 +14864,7 @@ var require_parser = __commonJS({
14740
14864
  exports.If = If;
14741
14865
  exports.Import = Import;
14742
14866
  exports.In = In;
14867
+ exports.Infer = Infer;
14743
14868
  exports.LetOrConst = LetOrConst;
14744
14869
  exports.Const = Const;
14745
14870
  exports.Is = Is;
@@ -14838,6 +14963,9 @@ var require_parser = __commonJS({
14838
14963
  exports.UsingJSModeError = UsingJSModeError;
14839
14964
  exports.TypeDeclaration = TypeDeclaration;
14840
14965
  exports.TypeDeclarationRest = TypeDeclarationRest;
14966
+ exports.TypeAliasDeclaration = TypeAliasDeclaration;
14967
+ exports.InterfaceDeclaration = InterfaceDeclaration;
14968
+ exports.NamespaceDeclaration = NamespaceDeclaration;
14841
14969
  exports.OptionalEquals = OptionalEquals;
14842
14970
  exports.TypeLexicalDeclaration = TypeLexicalDeclaration;
14843
14971
  exports.TypeDeclarationBinding = TypeDeclarationBinding;
@@ -14865,7 +14993,7 @@ var require_parser = __commonJS({
14865
14993
  exports.EnumDeclaration = EnumDeclaration;
14866
14994
  exports.EnumBlock = EnumBlock;
14867
14995
  exports.NestedEnumProperties = NestedEnumProperties;
14868
- exports.NestedEnumProperty = NestedEnumProperty;
14996
+ exports.NestedEnumPropertyLine = NestedEnumPropertyLine;
14869
14997
  exports.EnumProperty = EnumProperty;
14870
14998
  exports.TypeProperty = TypeProperty;
14871
14999
  exports.TypeIndexSignature = TypeIndexSignature;