@danielx/civet 0.7.26 → 0.7.28

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
@@ -504,6 +504,7 @@ __export(lib_exports, {
504
504
  expressionizeTypeIf: () => expressionizeTypeIf,
505
505
  forRange: () => forRange,
506
506
  gatherBindingCode: () => gatherBindingCode,
507
+ gatherBindingPatternTypeSuffix: () => gatherBindingPatternTypeSuffix,
507
508
  gatherRecursive: () => gatherRecursive,
508
509
  gatherRecursiveAll: () => gatherRecursiveAll,
509
510
  gatherRecursiveWithinFunction: () => gatherRecursiveWithinFunction,
@@ -1307,7 +1308,7 @@ function maybeRefAssignment(exp, base = "ref") {
1307
1308
 
1308
1309
  // source/parser/binding.civet
1309
1310
  function adjustAtBindings(statements, asThis = false) {
1310
- gatherRecursiveAll(statements, (n) => n.type === "AtBindingProperty").forEach((binding) => {
1311
+ gatherRecursiveAll(statements, ($) => $.type === "AtBindingProperty").forEach((binding) => {
1311
1312
  const { ref } = binding;
1312
1313
  if (asThis) {
1313
1314
  const atBinding = binding.binding;
@@ -1326,17 +1327,19 @@ function adjustAtBindings(statements, asThis = false) {
1326
1327
  });
1327
1328
  }
1328
1329
  function adjustBindingElements(elements) {
1329
- const names = elements.flatMap((p) => p.names || []), { length } = elements;
1330
+ const names = elements.flatMap(($1) => $1.names || []);
1331
+ const { length } = elements;
1330
1332
  let blockPrefix, restIndex = -1, restCount = 0;
1331
- elements.forEach(({ type }, i) => {
1333
+ for (let i1 = 0, len3 = elements.length; i1 < len3; i1++) {
1334
+ const i = i1;
1335
+ const { type } = elements[i1];
1332
1336
  if (type === "BindingRestElement") {
1333
- if (restIndex < 0)
1337
+ if (restIndex < 0) {
1334
1338
  restIndex = i;
1335
- return restCount++;
1339
+ }
1340
+ restCount++;
1336
1341
  }
1337
- ;
1338
- return;
1339
- });
1342
+ }
1340
1343
  if (restCount === 0) {
1341
1344
  return {
1342
1345
  children: elements,
@@ -1355,7 +1358,7 @@ function adjustBindingElements(elements) {
1355
1358
  l++;
1356
1359
  blockPrefix = {
1357
1360
  type: "PostRestBindingElements",
1358
- children: ["[", insertTrimmingSpace(after, ""), "] = ", restIdentifier, ".splice(-", l.toString(), ")"],
1361
+ children: ["[", trimFirstSpace(after), "] = ", restIdentifier, ".splice(-", l.toString(), ")"],
1359
1362
  names: after.flatMap((p) => p.names)
1360
1363
  };
1361
1364
  }
@@ -1415,6 +1418,100 @@ function arrayElementHasTrailingComma(elementNode) {
1415
1418
  const lastChild = (ref1 = elementNode.children)[ref1.length - 1];
1416
1419
  return lastChild && lastChild[lastChild.length - 1]?.token === ",";
1417
1420
  }
1421
+ function gatherBindingPatternTypeSuffix(pattern) {
1422
+ if (pattern.typeSuffix != null) {
1423
+ return pattern;
1424
+ }
1425
+ let count = 0;
1426
+ switch (pattern.type) {
1427
+ case "ArrayBindingPattern": {
1428
+ const results = [];
1429
+ for (let ref2 = pattern.elements, i2 = 0, len1 = ref2.length; i2 < len1; i2++) {
1430
+ const elem = ref2[i2];
1431
+ let { typeSuffix } = elem;
1432
+ typeSuffix ??= elem.binding?.typeSuffix;
1433
+ if (typeSuffix) {
1434
+ count++;
1435
+ }
1436
+ let typeElement = [typeSuffix?.t, elem.delim];
1437
+ if (typeSuffix?.optional) {
1438
+ typeElement[0] = parenthesizeType(typeElement[0]);
1439
+ typeElement.unshift("undefined |");
1440
+ }
1441
+ if (elem.type === "BindingRestElement") {
1442
+ typeElement[0] ??= "unknown[]";
1443
+ typeElement.unshift(elem.dots);
1444
+ } else {
1445
+ typeElement[0] ??= "unknown";
1446
+ }
1447
+ results.push(typeElement);
1448
+ }
1449
+ ;
1450
+ const types = results;
1451
+ if (count) {
1452
+ const t = [": [", types, "]"];
1453
+ pattern.typeSuffix = {
1454
+ type: "TypeSuffix",
1455
+ ts: true,
1456
+ t,
1457
+ children: [t]
1458
+ };
1459
+ }
1460
+ ;
1461
+ break;
1462
+ }
1463
+ case "ObjectBindingPattern": {
1464
+ let restType;
1465
+ const results1 = [];
1466
+ for (let ref3 = pattern.properties, i3 = 0, len22 = ref3.length; i3 < len22; i3++) {
1467
+ const prop = ref3[i3];
1468
+ let { typeSuffix } = prop;
1469
+ typeSuffix ??= prop.value?.typeSuffix;
1470
+ if (typeSuffix) {
1471
+ count++;
1472
+ }
1473
+ typeSuffix ??= {
1474
+ type: "TypeSuffix",
1475
+ ts: true,
1476
+ children: [": unknown"]
1477
+ };
1478
+ switch (prop.type) {
1479
+ case "BindingProperty": {
1480
+ const ws = prop.children.slice(0, prop.children.indexOf(prop.name));
1481
+ results1.push([...ws, prop.name, typeSuffix, prop.delim]);
1482
+ break;
1483
+ }
1484
+ case "AtBindingProperty": {
1485
+ const ws = prop.children.slice(0, prop.children.indexOf(prop.binding));
1486
+ results1.push([...ws, prop.ref.id, typeSuffix, prop.delim]);
1487
+ break;
1488
+ }
1489
+ case "BindingRestProperty": {
1490
+ restType = prop.typeSuffix?.t;
1491
+ continue;
1492
+ }
1493
+ }
1494
+ }
1495
+ ;
1496
+ const types = results1;
1497
+ if (count) {
1498
+ const t = ["{", types, "}"];
1499
+ if (restType != null) {
1500
+ t.push(" & ", parenthesizeType(trimFirstSpace(restType)));
1501
+ }
1502
+ pattern.typeSuffix = {
1503
+ type: "TypeSuffix",
1504
+ ts: true,
1505
+ t,
1506
+ children: [": ", t]
1507
+ };
1508
+ }
1509
+ ;
1510
+ break;
1511
+ }
1512
+ }
1513
+ return pattern;
1514
+ }
1418
1515
 
1419
1516
  // source/parser/function.civet
1420
1517
  function isVoidType(t) {
@@ -2934,12 +3031,14 @@ function getPatternConditions(pattern, ref, conditions = []) {
2934
3031
  });
2935
3032
  const { blockPrefix } = pattern;
2936
3033
  if (blockPrefix) {
2937
- const postElements = blockPrefix.children[1], { length: postLength } = postElements;
3034
+ const postElements = blockPrefix.children[1];
3035
+ const { length: postLength } = postElements;
2938
3036
  postElements.forEach(({ children: [, e] }, i) => {
2939
3037
  const subRef = [ref, "[", ref, ".length - ", (postLength + i).toString(), "]"];
2940
3038
  return getPatternConditions(e, subRef, conditions);
2941
3039
  });
2942
3040
  }
3041
+ ;
2943
3042
  break;
2944
3043
  }
2945
3044
  case "ObjectBindingPattern": {
@@ -2947,34 +3046,46 @@ function getPatternConditions(pattern, ref, conditions = []) {
2947
3046
  ["typeof ", ref, " === 'object'"],
2948
3047
  [ref, " != null"]
2949
3048
  );
2950
- pattern.properties.forEach((p) => {
3049
+ for (let ref1 = pattern.properties, i4 = 0, len3 = ref1.length; i4 < len3; i4++) {
3050
+ const p = ref1[i4];
2951
3051
  switch (p.type) {
2952
3052
  case "PinProperty":
2953
3053
  case "BindingProperty": {
2954
3054
  const { name, value } = p;
2955
3055
  let subRef;
2956
3056
  switch (name.type) {
2957
- case "ComputedPropertyName":
3057
+ case "ComputedPropertyName": {
2958
3058
  conditions.push([name.expression, " in ", ref]);
2959
3059
  subRef = [ref, name];
2960
3060
  break;
3061
+ }
2961
3062
  case "Literal":
2962
3063
  case "StringLiteral":
2963
- case "NumericLiteral":
3064
+ case "NumericLiteral": {
2964
3065
  conditions.push([name, " in ", ref]);
2965
3066
  subRef = [ref, "[", name, "]"];
2966
3067
  break;
2967
- default:
2968
- conditions.push(["'", name, "' in ", ref]);
2969
- subRef = [ref, ".", name];
3068
+ }
3069
+ case "Identifier": {
3070
+ conditions.push(["'", name.name, "' in ", ref]);
3071
+ subRef = [ref, ".", name.name];
3072
+ break;
3073
+ }
3074
+ case "AtBinding": {
3075
+ conditions.push(["'", name.ref.id, "' in ", ref]);
3076
+ subRef = [ref, ".", name.ref.id];
3077
+ break;
3078
+ }
2970
3079
  }
2971
3080
  if (value) {
2972
3081
  getPatternConditions(value, subRef, conditions);
2973
3082
  }
3083
+ ;
2974
3084
  break;
2975
3085
  }
2976
3086
  }
2977
- });
3087
+ }
3088
+ ;
2978
3089
  break;
2979
3090
  }
2980
3091
  case "ConditionFragment": {
@@ -2998,22 +3109,22 @@ function getPatternConditions(pattern, ref, conditions = []) {
2998
3109
  );
2999
3110
  break;
3000
3111
  }
3001
- case "PinPattern":
3112
+ case "PinPattern": {
3002
3113
  conditions.push([
3003
3114
  ref,
3004
3115
  " === ",
3005
3116
  pattern.expression
3006
3117
  ]);
3007
3118
  break;
3008
- case "Literal":
3119
+ }
3120
+ case "Literal": {
3009
3121
  conditions.push([
3010
3122
  ref,
3011
3123
  " === ",
3012
3124
  pattern
3013
3125
  ]);
3014
3126
  break;
3015
- default:
3016
- break;
3127
+ }
3017
3128
  }
3018
3129
  return conditions;
3019
3130
  }
@@ -3244,6 +3355,9 @@ function processAssignmentDeclaration(decl, pattern, suffix, ws, assign, e) {
3244
3355
  let [splices, assignments] = gatherBindingCode(pattern);
3245
3356
  splices = splices.map((s) => [", ", s]);
3246
3357
  const thisAssignments = assignments.map((a) => ["", a, ";"]);
3358
+ if ("typeSuffix" in pattern) {
3359
+ suffix ??= pattern.typeSuffix;
3360
+ }
3247
3361
  const initializer = makeNode({
3248
3362
  type: "Initializer",
3249
3363
  expression: e,
@@ -6514,6 +6628,7 @@ var grammar = {
6514
6628
  NestedBindingPropertyList,
6515
6629
  BindingProperty,
6516
6630
  BindingRestProperty,
6631
+ BindingTypeSuffix,
6517
6632
  NestedBindingElements,
6518
6633
  BindingElement,
6519
6634
  BindingRestElement,
@@ -6851,6 +6966,7 @@ var grammar = {
6851
6966
  DotDot,
6852
6967
  DotDotDot,
6853
6968
  DoubleColon,
6969
+ DoubleColonAsColon,
6854
6970
  DoubleQuote,
6855
6971
  Each,
6856
6972
  Else,
@@ -6954,17 +7070,24 @@ var grammar = {
6954
7070
  InlineJSXMemberExpressionRest,
6955
7071
  InlineJSXPrimaryExpression,
6956
7072
  JSXMixedChildren,
7073
+ JSXSameLineChildren,
6957
7074
  JSXChildren,
6958
7075
  JSXNestedChildren,
6959
7076
  JSXEOS,
6960
7077
  JSXNested,
6961
7078
  JSXChild,
7079
+ JSXChildForcedCode,
7080
+ JSXChildForcedNoCode,
7081
+ JSXChildGeneral,
6962
7082
  JSXComment,
6963
7083
  JSXCommentContent,
6964
7084
  JSXText,
6965
7085
  JSXChildExpression,
6966
7086
  IndentedJSXChildExpression,
6967
7087
  NestedJSXChildExpression,
7088
+ JSXAngleChild,
7089
+ JSXCodeChild,
7090
+ JSXCodeChildExpression,
6968
7091
  UsingDeclaration,
6969
7092
  UsingBinding,
6970
7093
  UsingJSModeError,
@@ -7097,6 +7220,8 @@ var grammar = {
7097
7220
  CoffeeNotEnabled,
7098
7221
  CoffeeOfEnabled,
7099
7222
  CoffeePrototypeEnabled,
7223
+ JSXCodeNestedEnabled,
7224
+ JSXCodeSameLineEnabled,
7100
7225
  ObjectIsEnabled,
7101
7226
  Reset,
7102
7227
  Init,
@@ -7357,7 +7482,7 @@ var $R2 = (0, import_lib3.$R)(new RegExp("(as|of|satisfies|then|when|implements|
7357
7482
  var $R3 = (0, import_lib3.$R)(new RegExp("[0-9]", "suy"));
7358
7483
  var $R4 = (0, import_lib3.$R)(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
7359
7484
  var $R5 = (0, import_lib3.$R)(new RegExp("[ \\t]", "suy"));
7360
- var $R6 = (0, import_lib3.$R)(new RegExp("\\p{ID_Continue}|[\\u200C\\u200D$.#]", "suy"));
7485
+ var $R6 = (0, import_lib3.$R)(new RegExp("\\p{ID_Continue}|[\\u200C\\u200D$.#{]", "suy"));
7361
7486
  var $R7 = (0, import_lib3.$R)(new RegExp("[&=]", "suy"));
7362
7487
  var $R8 = (0, import_lib3.$R)(new RegExp("(?=['\"`])", "suy"));
7363
7488
  var $R9 = (0, import_lib3.$R)(new RegExp("(?=[\\/?])", "suy"));
@@ -8343,7 +8468,7 @@ var ParenthesizedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenPar
8343
8468
  function ParenthesizedExpression(ctx, state2) {
8344
8469
  return (0, import_lib3.$EVENT)(ctx, state2, "ParenthesizedExpression", ParenthesizedExpression$0);
8345
8470
  }
8346
- var Placeholder$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Dot, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R6, "Placeholder /\\p{ID_Continue}|[\\u200C\\u200D$.#]/")), (0, import_lib3.$E)(PlaceholderTypeSuffix)), function($skip, $loc, $0, $1, $2, $3) {
8471
+ var Placeholder$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Dot, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R6, "Placeholder /\\p{ID_Continue}|[\\u200C\\u200D$.#{]/")), (0, import_lib3.$E)(PlaceholderTypeSuffix)), function($skip, $loc, $0, $1, $2, $3) {
8347
8472
  var dot = $1;
8348
8473
  var typeSuffix = $3;
8349
8474
  return {
@@ -8363,7 +8488,7 @@ var Placeholder$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Ampersand, (0, impo
8363
8488
  children: [amp]
8364
8489
  };
8365
8490
  });
8366
- var Placeholder$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(ExplicitAccessStart), (0, import_lib3.$Y)(PropertyAccess), (0, import_lib3.$N)(NumericLiteral)), function($skip, $loc, $0, $1, $2, $3) {
8491
+ var Placeholder$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(ExplicitAccessStart), (0, import_lib3.$Y)((0, import_lib3.$C)(PropertyAccess, PropertyGlob)), (0, import_lib3.$N)(NumericLiteral)), function($skip, $loc, $0, $1, $2, $3) {
8367
8492
  return {
8368
8493
  type: "Placeholder",
8369
8494
  subtype: "&",
@@ -9432,9 +9557,10 @@ var ParameterElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib
9432
9557
  var typeSuffix = $5;
9433
9558
  var initializer = $6;
9434
9559
  var delim = $7;
9560
+ typeSuffix ??= binding.typeSuffix;
9435
9561
  return {
9436
9562
  type: "Parameter",
9437
- children: $0,
9563
+ children: [$1, accessModifier, $3, binding, typeSuffix, initializer, delim],
9438
9564
  names: binding.names,
9439
9565
  typeSuffix,
9440
9566
  accessModifier,
@@ -9550,12 +9676,13 @@ var ObjectBindingPattern$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import
9550
9676
  var c = $3;
9551
9677
  var ws2 = $4;
9552
9678
  var close = $5;
9553
- return {
9679
+ const properties = c.children;
9680
+ return gatherBindingPatternTypeSuffix({
9554
9681
  type: "ObjectBindingPattern",
9555
- children: [ws1, open, c.children, ws2, close],
9682
+ children: [ws1, open, properties, ws2, close],
9556
9683
  names: c.names,
9557
- properties: c.children
9558
- };
9684
+ properties
9685
+ });
9559
9686
  });
9560
9687
  function ObjectBindingPattern(ctx, state2) {
9561
9688
  return (0, import_lib3.$EVENT)(ctx, state2, "ObjectBindingPattern", ObjectBindingPattern$0);
@@ -9590,13 +9717,13 @@ var ArrayBindingPattern$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_
9590
9717
  var c = $3;
9591
9718
  var ws2 = $4;
9592
9719
  var close = $5;
9593
- return {
9720
+ return gatherBindingPatternTypeSuffix({
9594
9721
  ...c,
9595
9722
  // names, blockPrefix, length
9596
9723
  type: "ArrayBindingPattern",
9597
9724
  elements: c.children,
9598
9725
  children: [ws1, open, c.children, ws2, close]
9599
- };
9726
+ });
9600
9727
  });
9601
9728
  function ArrayBindingPattern(ctx, state2) {
9602
9729
  return (0, import_lib3.$EVENT)(ctx, state2, "ArrayBindingPattern", ArrayBindingPattern$0);
@@ -9617,6 +9744,7 @@ var BindingElementList$0 = (0, import_lib3.$TV)((0, import_lib3.$P)((0, import_l
9617
9744
  return elements.map(([element, delim]) => {
9618
9745
  return {
9619
9746
  ...element,
9747
+ delim,
9620
9748
  // BindingElement.children is a tuple of the form [ws, element]
9621
9749
  children: [...element.children, delim]
9622
9750
  };
@@ -9667,38 +9795,57 @@ function NestedBindingPropertyList(ctx, state2) {
9667
9795
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedBindingPropertyList", NestedBindingPropertyList$0);
9668
9796
  }
9669
9797
  var BindingProperty$0 = BindingRestProperty;
9670
- var BindingProperty$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), PropertyName, (0, import_lib3.$E)(_), Colon, (0, import_lib3.$E)(_), (0, import_lib3.$C)(BindingIdentifier, BindingPattern), (0, import_lib3.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
9798
+ var BindingProperty$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), PropertyName, (0, import_lib3.$E)(_), Colon, (0, import_lib3.$E)(_), (0, import_lib3.$C)(BindingIdentifier, BindingPattern), (0, import_lib3.$E)(BindingTypeSuffix), (0, import_lib3.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
9671
9799
  var name = $2;
9672
9800
  var value = $6;
9673
- var initializer = $7;
9801
+ var typeSuffix = $7;
9802
+ var initializer = $8;
9674
9803
  return {
9675
9804
  type: "BindingProperty",
9676
- children: $0,
9805
+ children: [$1, name, $3, $4, $5, value, initializer],
9806
+ // omit typeSuffix
9677
9807
  name,
9678
9808
  value,
9809
+ typeSuffix,
9679
9810
  initializer,
9680
9811
  names: value.names
9681
9812
  };
9682
9813
  });
9683
- var BindingProperty$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$E)(Caret), BindingIdentifier, (0, import_lib3.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4) {
9814
+ var BindingProperty$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$E)(Caret), BindingIdentifier, (0, import_lib3.$E)(BindingTypeSuffix), (0, import_lib3.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9684
9815
  var ws = $1;
9685
9816
  var pin = $2;
9686
9817
  var binding = $3;
9687
- var initializer = $4;
9818
+ var typeSuffix = $4;
9819
+ var initializer = $5;
9820
+ let children = [ws, binding, initializer];
9688
9821
  if (binding.type === "AtBinding") {
9689
9822
  return {
9690
9823
  type: "AtBindingProperty",
9691
- children: $0,
9824
+ children,
9692
9825
  binding,
9826
+ typeSuffix,
9693
9827
  ref: binding.ref,
9694
9828
  initializer,
9695
9829
  names: []
9696
9830
  };
9697
9831
  }
9698
9832
  if (pin) {
9833
+ children = [ws, binding];
9834
+ if (typeSuffix) {
9835
+ children.push({
9836
+ type: "Error",
9837
+ message: "Pinned properties cannot have type annotations"
9838
+ });
9839
+ }
9840
+ if (initializer) {
9841
+ children.push({
9842
+ type: "Error",
9843
+ message: "Pinned properties cannot have initializers"
9844
+ });
9845
+ }
9699
9846
  return {
9700
9847
  type: "PinProperty",
9701
- children: [ws, binding],
9848
+ children,
9702
9849
  name: binding,
9703
9850
  value: {
9704
9851
  type: "PinPattern",
@@ -9708,9 +9855,10 @@ var BindingProperty$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3
9708
9855
  }
9709
9856
  return {
9710
9857
  type: "BindingProperty",
9711
- children: $0,
9858
+ children,
9712
9859
  name: binding,
9713
9860
  value: void 0,
9861
+ typeSuffix,
9714
9862
  initializer,
9715
9863
  names: binding.names,
9716
9864
  identifier: binding
@@ -9720,13 +9868,15 @@ var BindingProperty$$ = [BindingProperty$0, BindingProperty$1, BindingProperty$2
9720
9868
  function BindingProperty(ctx, state2) {
9721
9869
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BindingProperty", BindingProperty$$);
9722
9870
  }
9723
- var BindingRestProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, BindingIdentifier), function($skip, $loc, $0, $1, $2, $3) {
9871
+ var BindingRestProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, BindingIdentifier, (0, import_lib3.$E)(BindingTypeSuffix)), function($skip, $loc, $0, $1, $2, $3, $4) {
9724
9872
  var ws = $1;
9725
9873
  var dots = $2;
9726
9874
  var id = $3;
9875
+ var typeSuffix = $4;
9727
9876
  return {
9728
9877
  ...id,
9729
9878
  type: "BindingRestProperty",
9879
+ typeSuffix,
9730
9880
  children: [...ws || [], dots, ...id.children]
9731
9881
  };
9732
9882
  });
@@ -9737,6 +9887,7 @@ var BindingRestProperty$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_
9737
9887
  return {
9738
9888
  ...id,
9739
9889
  type: "BindingRestProperty",
9890
+ typeSuffix: void 0,
9740
9891
  children: [...ws || [], dots, ...id.children]
9741
9892
  };
9742
9893
  });
@@ -9744,6 +9895,21 @@ var BindingRestProperty$$ = [BindingRestProperty$0, BindingRestProperty$1];
9744
9895
  function BindingRestProperty(ctx, state2) {
9745
9896
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BindingRestProperty", BindingRestProperty$$);
9746
9897
  }
9898
+ var BindingTypeSuffix$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$E)(QuestionMark), (0, import_lib3.$E)(_), DoubleColonAsColon, MaybeNestedType), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9899
+ var optional = $2;
9900
+ var colon = $4;
9901
+ var t = $5;
9902
+ return {
9903
+ type: "TypeSuffix",
9904
+ ts: true,
9905
+ optional,
9906
+ t,
9907
+ children: $0
9908
+ };
9909
+ });
9910
+ function BindingTypeSuffix(ctx, state2) {
9911
+ return (0, import_lib3.$EVENT)(ctx, state2, "BindingTypeSuffix", BindingTypeSuffix$0);
9912
+ }
9747
9913
  var NestedBindingElements$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$Q)(NestedBindingElementList), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
9748
9914
  var elements = $2;
9749
9915
  if (!elements.length)
@@ -9754,10 +9920,11 @@ function NestedBindingElements(ctx, state2) {
9754
9920
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedBindingElements", NestedBindingElements$0);
9755
9921
  }
9756
9922
  var BindingElement$0 = BindingRestElement;
9757
- var BindingElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$C)(BindingIdentifier, BindingPattern), (0, import_lib3.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3) {
9923
+ var BindingElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$C)(BindingIdentifier, BindingPattern), (0, import_lib3.$E)(BindingTypeSuffix), (0, import_lib3.$E)(Initializer)), function($skip, $loc, $0, $1, $2, $3, $4) {
9758
9924
  var ws = $1;
9759
9925
  var binding = $2;
9760
- var initializer = $3;
9926
+ var typeSuffix = $3;
9927
+ var initializer = $4;
9761
9928
  if (binding.children) {
9762
9929
  binding = {
9763
9930
  ...binding,
@@ -9766,16 +9933,17 @@ var BindingElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.
9766
9933
  };
9767
9934
  }
9768
9935
  return {
9936
+ type: "BindingElement",
9769
9937
  names: binding.names,
9938
+ typeSuffix,
9939
+ binding,
9770
9940
  children: [ws, binding]
9771
9941
  };
9772
9942
  });
9773
9943
  var BindingElement$2 = (0, import_lib3.$TV)((0, import_lib3.$Y)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$EXPECT)($L17, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
9774
9944
  return {
9775
- children: [{
9776
- type: "ElisionElement",
9777
- children: [""]
9778
- }],
9945
+ type: "ElisionElement",
9946
+ children: [""],
9779
9947
  names: []
9780
9948
  };
9781
9949
  });
@@ -9783,14 +9951,17 @@ var BindingElement$$ = [BindingElement$0, BindingElement$1, BindingElement$2];
9783
9951
  function BindingElement(ctx, state2) {
9784
9952
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BindingElement", BindingElement$$);
9785
9953
  }
9786
- var BindingRestElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, (0, import_lib3.$C)(BindingIdentifier, BindingPattern, EmptyBindingPattern)), function($skip, $loc, $0, $1, $2, $3) {
9954
+ var BindingRestElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, (0, import_lib3.$C)(BindingIdentifier, BindingPattern, EmptyBindingPattern), (0, import_lib3.$E)(BindingTypeSuffix)), function($skip, $loc, $0, $1, $2, $3, $4) {
9787
9955
  var ws = $1;
9788
9956
  var dots = $2;
9789
9957
  var binding = $3;
9958
+ var typeSuffix = $4;
9790
9959
  return {
9791
9960
  type: "BindingRestElement",
9792
9961
  children: [ws, [dots, binding]],
9962
+ dots,
9793
9963
  binding,
9964
+ typeSuffix,
9794
9965
  name: binding.name,
9795
9966
  names: binding.names,
9796
9967
  rest: true
@@ -9803,6 +9974,7 @@ var BindingRestElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_l
9803
9974
  return {
9804
9975
  type: "BindingRestElement",
9805
9976
  children: [...ws || [], dots, binding],
9977
+ dots,
9806
9978
  binding,
9807
9979
  name: binding.name,
9808
9980
  names: binding.names,
@@ -13897,9 +14069,10 @@ var LexicalBinding$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(BindingPattern,
13897
14069
  var suffix = $2;
13898
14070
  var initializer = $3;
13899
14071
  const [splices, thisAssignments] = gatherBindingCode(pattern);
14072
+ suffix ??= pattern.typeSuffix;
13900
14073
  return {
13901
14074
  type: "Binding",
13902
- children: $0,
14075
+ children: [pattern, suffix, initializer],
13903
14076
  names: pattern.names,
13904
14077
  pattern,
13905
14078
  suffix,
@@ -14619,6 +14792,12 @@ var DoubleColon$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L155, 'Double
14619
14792
  function DoubleColon(ctx, state2) {
14620
14793
  return (0, import_lib3.$EVENT)(ctx, state2, "DoubleColon", DoubleColon$0);
14621
14794
  }
14795
+ var DoubleColonAsColon$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L155, 'DoubleColonAsColon "::"'), function($skip, $loc, $0, $1) {
14796
+ return { $loc, token: ":" };
14797
+ });
14798
+ function DoubleColonAsColon(ctx, state2) {
14799
+ return (0, import_lib3.$EVENT)(ctx, state2, "DoubleColonAsColon", DoubleColonAsColon$0);
14800
+ }
14622
14801
  var DoubleQuote$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L156, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
14623
14802
  return { $loc, token: $1 };
14624
14803
  });
@@ -15419,9 +15598,22 @@ var JSXAttributeName$$ = [JSXAttributeName$0, JSXAttributeName$1];
15419
15598
  function JSXAttributeName(ctx, state2) {
15420
15599
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXAttributeName", JSXAttributeName$$);
15421
15600
  }
15422
- var JSXAttributeInitializer$0 = (0, import_lib3.$S)((0, import_lib3.$E)(Whitespace), Equals, (0, import_lib3.$E)(Whitespace), JSXAttributeValue);
15601
+ var JSXAttributeInitializer$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(CoffeeJSXEnabled), (0, import_lib3.$E)(Whitespace), Equals, (0, import_lib3.$Y)((0, import_lib3.$S)((0, import_lib3.$Q)(NonNewlineWhitespace), EOL)), InsertInlineOpenBrace, PushIndent, (0, import_lib3.$E)(PostfixedExpression), PopIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15602
+ var ws1 = $2;
15603
+ var equals = $3;
15604
+ var ws2 = $4;
15605
+ var open = $5;
15606
+ var indent = $6;
15607
+ var expression = $7;
15608
+ var close = $9;
15609
+ if (!expression)
15610
+ return $skip;
15611
+ return [ws1, equals, ws2, open, indent, expression, close];
15612
+ });
15613
+ var JSXAttributeInitializer$1 = (0, import_lib3.$S)((0, import_lib3.$E)(Whitespace), Equals, (0, import_lib3.$E)(Whitespace), JSXAttributeValue);
15614
+ var JSXAttributeInitializer$$ = [JSXAttributeInitializer$0, JSXAttributeInitializer$1];
15423
15615
  function JSXAttributeInitializer(ctx, state2) {
15424
- return (0, import_lib3.$EVENT)(ctx, state2, "JSXAttributeInitializer", JSXAttributeInitializer$0);
15616
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXAttributeInitializer", JSXAttributeInitializer$$);
15425
15617
  }
15426
15618
  var JSXAttributeValue$0 = (0, import_lib3.$S)(OpenBrace, PostfixedExpression, (0, import_lib3.$E)(Whitespace), CloseBrace);
15427
15619
  var JSXAttributeValue$1 = JSXElement;
@@ -15591,7 +15783,7 @@ var InlineJSXPrimaryExpression$$ = [InlineJSXPrimaryExpression$0, InlineJSXPrima
15591
15783
  function InlineJSXPrimaryExpression(ctx, state2) {
15592
15784
  return (0, import_lib3.$EVENT_C)(ctx, state2, "InlineJSXPrimaryExpression", InlineJSXPrimaryExpression$$);
15593
15785
  }
15594
- var JSXMixedChildren$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Q)(JSXChild), JSXNestedChildren), function($skip, $loc, $0, $1, $2) {
15786
+ var JSXMixedChildren$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(JSXSameLineChildren, JSXNestedChildren), function($skip, $loc, $0, $1, $2) {
15595
15787
  var c1 = $1;
15596
15788
  var c2 = $2;
15597
15789
  return {
@@ -15602,6 +15794,18 @@ var JSXMixedChildren$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib
15602
15794
  function JSXMixedChildren(ctx, state2) {
15603
15795
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXMixedChildren", JSXMixedChildren$0);
15604
15796
  }
15797
+ var JSXSameLineChildren$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(JSXCodeSameLineEnabled, (0, import_lib3.$Q)((0, import_lib3.$S)((0, import_lib3.$E)(NonNewlineWhitespace), (0, import_lib3.$N)(EOL), JSXChildForcedCode))), function($skip, $loc, $0, $1, $2) {
15798
+ var children = $2;
15799
+ return children.map(([, , c]) => c);
15800
+ });
15801
+ var JSXSameLineChildren$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(JSXCodeSameLineEnabled), (0, import_lib3.$Q)(JSXChildForcedNoCode)), function(value) {
15802
+ var children = value[1];
15803
+ return children;
15804
+ });
15805
+ var JSXSameLineChildren$$ = [JSXSameLineChildren$0, JSXSameLineChildren$1];
15806
+ function JSXSameLineChildren(ctx, state2) {
15807
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXSameLineChildren", JSXSameLineChildren$$);
15808
+ }
15605
15809
  var JSXChildren$0 = (0, import_lib3.$TV)((0, import_lib3.$Q)((0, import_lib3.$S)((0, import_lib3.$Q)((0, import_lib3.$S)((0, import_lib3.$E)(NonNewlineWhitespace), EOL, (0, import_lib3.$E)(NonNewlineWhitespace))), JSXChild)), function($skip, $loc, $0, $1) {
15606
15810
  return {
15607
15811
  children: $1,
@@ -15643,10 +15847,33 @@ var JSXNested$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(JSXEOS, Indent), func
15643
15847
  function JSXNested(ctx, state2) {
15644
15848
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXNested", JSXNested$0);
15645
15849
  }
15646
- var JSXChild$0 = JSXElement;
15647
- var JSXChild$1 = JSXFragment;
15648
- var JSXChild$2 = JSXComment;
15649
- var JSXChild$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenBrace, IndentedJSXChildExpression, __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
15850
+ var JSXChild$0 = JSXChildGeneral;
15851
+ var JSXChild$1 = (0, import_lib3.$T)((0, import_lib3.$S)(JSXCodeNestedEnabled, JSXCodeChild), function(value) {
15852
+ return value[1];
15853
+ });
15854
+ var JSXChild$2 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(JSXCodeNestedEnabled), JSXText), function(value) {
15855
+ return value[1];
15856
+ });
15857
+ var JSXChild$$ = [JSXChild$0, JSXChild$1, JSXChild$2];
15858
+ function JSXChild(ctx, state2) {
15859
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXChild", JSXChild$$);
15860
+ }
15861
+ var JSXChildForcedCode$0 = JSXChildGeneral;
15862
+ var JSXChildForcedCode$1 = JSXCodeChild;
15863
+ var JSXChildForcedCode$$ = [JSXChildForcedCode$0, JSXChildForcedCode$1];
15864
+ function JSXChildForcedCode(ctx, state2) {
15865
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXChildForcedCode", JSXChildForcedCode$$);
15866
+ }
15867
+ var JSXChildForcedNoCode$0 = JSXChildGeneral;
15868
+ var JSXChildForcedNoCode$1 = JSXText;
15869
+ var JSXChildForcedNoCode$$ = [JSXChildForcedNoCode$0, JSXChildForcedNoCode$1];
15870
+ function JSXChildForcedNoCode(ctx, state2) {
15871
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXChildForcedNoCode", JSXChildForcedNoCode$$);
15872
+ }
15873
+ var JSXChildGeneral$0 = JSXElement;
15874
+ var JSXChildGeneral$1 = JSXFragment;
15875
+ var JSXChildGeneral$2 = JSXComment;
15876
+ var JSXChildGeneral$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenBrace, IndentedJSXChildExpression, __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
15650
15877
  var expression = $2;
15651
15878
  return {
15652
15879
  type: "JSXChildExpression",
@@ -15654,7 +15881,7 @@ var JSXChild$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenBrace, IndentedJSX
15654
15881
  expression
15655
15882
  };
15656
15883
  });
15657
- var JSXChild$4 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenBrace, (0, import_lib3.$E)(JSXChildExpression), __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
15884
+ var JSXChildGeneral$4 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenBrace, (0, import_lib3.$E)(JSXChildExpression), __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
15658
15885
  var expression = $2;
15659
15886
  return {
15660
15887
  type: "JSXChildExpression",
@@ -15662,7 +15889,7 @@ var JSXChild$4 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenBrace, (0, import_
15662
15889
  expression
15663
15890
  };
15664
15891
  });
15665
- var JSXChild$5 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertInlineOpenBrace, ArrowFunction, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3) {
15892
+ var JSXChildGeneral$5 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertInlineOpenBrace, ArrowFunction, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3) {
15666
15893
  var expression = $2;
15667
15894
  return {
15668
15895
  type: "JSXChildExpression",
@@ -15670,10 +15897,10 @@ var JSXChild$5 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertInlineOpenBrace,
15670
15897
  expression
15671
15898
  };
15672
15899
  });
15673
- var JSXChild$6 = JSXText;
15674
- var JSXChild$$ = [JSXChild$0, JSXChild$1, JSXChild$2, JSXChild$3, JSXChild$4, JSXChild$5, JSXChild$6];
15675
- function JSXChild(ctx, state2) {
15676
- return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXChild", JSXChild$$);
15900
+ var JSXChildGeneral$6 = JSXAngleChild;
15901
+ var JSXChildGeneral$$ = [JSXChildGeneral$0, JSXChildGeneral$1, JSXChildGeneral$2, JSXChildGeneral$3, JSXChildGeneral$4, JSXChildGeneral$5, JSXChildGeneral$6];
15902
+ function JSXChildGeneral(ctx, state2) {
15903
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXChildGeneral", JSXChildGeneral$$);
15677
15904
  }
15678
15905
  var JSXComment$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L224, 'JSXComment "<!--"'), JSXCommentContent, (0, import_lib3.$EXPECT)($L225, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
15679
15906
  return ["{/*", $2, "*/}"];
@@ -15713,6 +15940,48 @@ var NestedJSXChildExpression$0 = (0, import_lib3.$S)(JSXNested, JSXChildExpressi
15713
15940
  function NestedJSXChildExpression(ctx, state2) {
15714
15941
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedJSXChildExpression", NestedJSXChildExpression$0);
15715
15942
  }
15943
+ var JSXAngleChild$0 = (0, import_lib3.$T)((0, import_lib3.$S)(CloseAngleBracket, JSXCodeChild), function(value) {
15944
+ return value[1];
15945
+ });
15946
+ function JSXAngleChild(ctx, state2) {
15947
+ return (0, import_lib3.$EVENT)(ctx, state2, "JSXAngleChild", JSXAngleChild$0);
15948
+ }
15949
+ var JSXCodeChild$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertInlineOpenBrace, JSXCodeChildExpression, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3) {
15950
+ var open = $1;
15951
+ var expression = $2;
15952
+ var close = $3;
15953
+ if (!expression)
15954
+ return $skip;
15955
+ return [open, expression, close];
15956
+ });
15957
+ function JSXCodeChild(ctx, state2) {
15958
+ return (0, import_lib3.$EVENT)(ctx, state2, "JSXCodeChild", JSXCodeChild$0);
15959
+ }
15960
+ var JSXCodeChildExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$N)(JSXEOS), ForbidNewlineBinaryOp, (0, import_lib3.$E)(JSXChildExpression), RestoreNewlineBinaryOp), function($skip, $loc, $0, $1, $2, $3, $4) {
15961
+ var expression = $3;
15962
+ if (!expression)
15963
+ return $skip;
15964
+ return expression;
15965
+ });
15966
+ var JSXCodeChildExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(JSXEOS), ImplicitNestedBlock), function($skip, $loc, $0, $1, $2) {
15967
+ var block = $2;
15968
+ if (!block)
15969
+ return $skip;
15970
+ const statement = {
15971
+ type: "DoStatement",
15972
+ children: [block],
15973
+ block
15974
+ };
15975
+ return {
15976
+ type: "StatementExpression",
15977
+ statement,
15978
+ children: [statement]
15979
+ };
15980
+ });
15981
+ var JSXCodeChildExpression$$ = [JSXCodeChildExpression$0, JSXCodeChildExpression$1];
15982
+ function JSXCodeChildExpression(ctx, state2) {
15983
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXCodeChildExpression", JSXCodeChildExpression$$);
15984
+ }
15716
15985
  var UsingDeclaration$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Using, (0, import_lib3.$E)(_), UsingBinding, (0, import_lib3.$Q)((0, import_lib3.$S)(__, Comma, __, UsingBinding)), UsingJSModeError), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
15717
15986
  var decl = $1;
15718
15987
  var binding = $3;
@@ -16937,6 +17206,22 @@ var CoffeePrototypeEnabled$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0
16937
17206
  function CoffeePrototypeEnabled(ctx, state2) {
16938
17207
  return (0, import_lib3.$EVENT)(ctx, state2, "CoffeePrototypeEnabled", CoffeePrototypeEnabled$0);
16939
17208
  }
17209
+ var JSXCodeNestedEnabled$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'JSXCodeNestedEnabled ""'), function($skip, $loc, $0, $1) {
17210
+ if (config.jsxCodeNested)
17211
+ return;
17212
+ return $skip;
17213
+ });
17214
+ function JSXCodeNestedEnabled(ctx, state2) {
17215
+ return (0, import_lib3.$EVENT)(ctx, state2, "JSXCodeNestedEnabled", JSXCodeNestedEnabled$0);
17216
+ }
17217
+ var JSXCodeSameLineEnabled$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'JSXCodeSameLineEnabled ""'), function($skip, $loc, $0, $1) {
17218
+ if (config.jsxCodeSameLine)
17219
+ return;
17220
+ return $skip;
17221
+ });
17222
+ function JSXCodeSameLineEnabled(ctx, state2) {
17223
+ return (0, import_lib3.$EVENT)(ctx, state2, "JSXCodeSameLineEnabled", JSXCodeSameLineEnabled$0);
17224
+ }
16940
17225
  var ObjectIsEnabled$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'ObjectIsEnabled ""'), function($skip, $loc, $0, $1) {
16941
17226
  if (config.objectIs)
16942
17227
  return;
@@ -16980,6 +17265,7 @@ var Reset$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'Reset ""'), fu
16980
17265
  coffeePrototype: false,
16981
17266
  defaultElement: "div",
16982
17267
  implicitReturns: true,
17268
+ jsxCode: false,
16983
17269
  objectIs: false,
16984
17270
  react: false,
16985
17271
  solid: false,
@@ -17024,6 +17310,16 @@ var Reset$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'Reset ""'), fu
17024
17310
  }
17025
17311
  }
17026
17312
  });
17313
+ Object.defineProperty(config, "jsxCode", {
17314
+ set(b) {
17315
+ for (const option of [
17316
+ "jsxCodeNested",
17317
+ "jsxCodeSameLine"
17318
+ ]) {
17319
+ config[option] = b;
17320
+ }
17321
+ }
17322
+ });
17027
17323
  Object.assign(config, initialConfig);
17028
17324
  return {
17029
17325
  type: "ParserMeta",