@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.js CHANGED
@@ -524,6 +524,7 @@ __export(lib_exports, {
524
524
  expressionizeTypeIf: () => expressionizeTypeIf,
525
525
  forRange: () => forRange,
526
526
  gatherBindingCode: () => gatherBindingCode,
527
+ gatherBindingPatternTypeSuffix: () => gatherBindingPatternTypeSuffix,
527
528
  gatherRecursive: () => gatherRecursive,
528
529
  gatherRecursiveAll: () => gatherRecursiveAll,
529
530
  gatherRecursiveWithinFunction: () => gatherRecursiveWithinFunction,
@@ -1327,7 +1328,7 @@ function maybeRefAssignment(exp, base = "ref") {
1327
1328
 
1328
1329
  // source/parser/binding.civet
1329
1330
  function adjustAtBindings(statements, asThis = false) {
1330
- gatherRecursiveAll(statements, (n) => n.type === "AtBindingProperty").forEach((binding) => {
1331
+ gatherRecursiveAll(statements, ($) => $.type === "AtBindingProperty").forEach((binding) => {
1331
1332
  const { ref } = binding;
1332
1333
  if (asThis) {
1333
1334
  const atBinding = binding.binding;
@@ -1346,17 +1347,19 @@ function adjustAtBindings(statements, asThis = false) {
1346
1347
  });
1347
1348
  }
1348
1349
  function adjustBindingElements(elements) {
1349
- const names = elements.flatMap((p) => p.names || []), { length } = elements;
1350
+ const names = elements.flatMap(($1) => $1.names || []);
1351
+ const { length } = elements;
1350
1352
  let blockPrefix, restIndex = -1, restCount = 0;
1351
- elements.forEach(({ type }, i) => {
1353
+ for (let i1 = 0, len3 = elements.length; i1 < len3; i1++) {
1354
+ const i = i1;
1355
+ const { type } = elements[i1];
1352
1356
  if (type === "BindingRestElement") {
1353
- if (restIndex < 0)
1357
+ if (restIndex < 0) {
1354
1358
  restIndex = i;
1355
- return restCount++;
1359
+ }
1360
+ restCount++;
1356
1361
  }
1357
- ;
1358
- return;
1359
- });
1362
+ }
1360
1363
  if (restCount === 0) {
1361
1364
  return {
1362
1365
  children: elements,
@@ -1375,7 +1378,7 @@ function adjustBindingElements(elements) {
1375
1378
  l++;
1376
1379
  blockPrefix = {
1377
1380
  type: "PostRestBindingElements",
1378
- children: ["[", insertTrimmingSpace(after, ""), "] = ", restIdentifier, ".splice(-", l.toString(), ")"],
1381
+ children: ["[", trimFirstSpace(after), "] = ", restIdentifier, ".splice(-", l.toString(), ")"],
1379
1382
  names: after.flatMap((p) => p.names)
1380
1383
  };
1381
1384
  }
@@ -1435,6 +1438,100 @@ function arrayElementHasTrailingComma(elementNode) {
1435
1438
  const lastChild = (ref1 = elementNode.children)[ref1.length - 1];
1436
1439
  return lastChild && lastChild[lastChild.length - 1]?.token === ",";
1437
1440
  }
1441
+ function gatherBindingPatternTypeSuffix(pattern) {
1442
+ if (pattern.typeSuffix != null) {
1443
+ return pattern;
1444
+ }
1445
+ let count = 0;
1446
+ switch (pattern.type) {
1447
+ case "ArrayBindingPattern": {
1448
+ const results = [];
1449
+ for (let ref2 = pattern.elements, i2 = 0, len1 = ref2.length; i2 < len1; i2++) {
1450
+ const elem = ref2[i2];
1451
+ let { typeSuffix } = elem;
1452
+ typeSuffix ??= elem.binding?.typeSuffix;
1453
+ if (typeSuffix) {
1454
+ count++;
1455
+ }
1456
+ let typeElement = [typeSuffix?.t, elem.delim];
1457
+ if (typeSuffix?.optional) {
1458
+ typeElement[0] = parenthesizeType(typeElement[0]);
1459
+ typeElement.unshift("undefined |");
1460
+ }
1461
+ if (elem.type === "BindingRestElement") {
1462
+ typeElement[0] ??= "unknown[]";
1463
+ typeElement.unshift(elem.dots);
1464
+ } else {
1465
+ typeElement[0] ??= "unknown";
1466
+ }
1467
+ results.push(typeElement);
1468
+ }
1469
+ ;
1470
+ const types = results;
1471
+ if (count) {
1472
+ const t = [": [", types, "]"];
1473
+ pattern.typeSuffix = {
1474
+ type: "TypeSuffix",
1475
+ ts: true,
1476
+ t,
1477
+ children: [t]
1478
+ };
1479
+ }
1480
+ ;
1481
+ break;
1482
+ }
1483
+ case "ObjectBindingPattern": {
1484
+ let restType;
1485
+ const results1 = [];
1486
+ for (let ref3 = pattern.properties, i3 = 0, len22 = ref3.length; i3 < len22; i3++) {
1487
+ const prop = ref3[i3];
1488
+ let { typeSuffix } = prop;
1489
+ typeSuffix ??= prop.value?.typeSuffix;
1490
+ if (typeSuffix) {
1491
+ count++;
1492
+ }
1493
+ typeSuffix ??= {
1494
+ type: "TypeSuffix",
1495
+ ts: true,
1496
+ children: [": unknown"]
1497
+ };
1498
+ switch (prop.type) {
1499
+ case "BindingProperty": {
1500
+ const ws = prop.children.slice(0, prop.children.indexOf(prop.name));
1501
+ results1.push([...ws, prop.name, typeSuffix, prop.delim]);
1502
+ break;
1503
+ }
1504
+ case "AtBindingProperty": {
1505
+ const ws = prop.children.slice(0, prop.children.indexOf(prop.binding));
1506
+ results1.push([...ws, prop.ref.id, typeSuffix, prop.delim]);
1507
+ break;
1508
+ }
1509
+ case "BindingRestProperty": {
1510
+ restType = prop.typeSuffix?.t;
1511
+ continue;
1512
+ }
1513
+ }
1514
+ }
1515
+ ;
1516
+ const types = results1;
1517
+ if (count) {
1518
+ const t = ["{", types, "}"];
1519
+ if (restType != null) {
1520
+ t.push(" & ", parenthesizeType(trimFirstSpace(restType)));
1521
+ }
1522
+ pattern.typeSuffix = {
1523
+ type: "TypeSuffix",
1524
+ ts: true,
1525
+ t,
1526
+ children: [": ", t]
1527
+ };
1528
+ }
1529
+ ;
1530
+ break;
1531
+ }
1532
+ }
1533
+ return pattern;
1534
+ }
1438
1535
 
1439
1536
  // source/parser/function.civet
1440
1537
  function isVoidType(t) {
@@ -2954,12 +3051,14 @@ function getPatternConditions(pattern, ref, conditions = []) {
2954
3051
  });
2955
3052
  const { blockPrefix } = pattern;
2956
3053
  if (blockPrefix) {
2957
- const postElements = blockPrefix.children[1], { length: postLength } = postElements;
3054
+ const postElements = blockPrefix.children[1];
3055
+ const { length: postLength } = postElements;
2958
3056
  postElements.forEach(({ children: [, e] }, i) => {
2959
3057
  const subRef = [ref, "[", ref, ".length - ", (postLength + i).toString(), "]"];
2960
3058
  return getPatternConditions(e, subRef, conditions);
2961
3059
  });
2962
3060
  }
3061
+ ;
2963
3062
  break;
2964
3063
  }
2965
3064
  case "ObjectBindingPattern": {
@@ -2967,34 +3066,46 @@ function getPatternConditions(pattern, ref, conditions = []) {
2967
3066
  ["typeof ", ref, " === 'object'"],
2968
3067
  [ref, " != null"]
2969
3068
  );
2970
- pattern.properties.forEach((p) => {
3069
+ for (let ref1 = pattern.properties, i4 = 0, len3 = ref1.length; i4 < len3; i4++) {
3070
+ const p = ref1[i4];
2971
3071
  switch (p.type) {
2972
3072
  case "PinProperty":
2973
3073
  case "BindingProperty": {
2974
3074
  const { name, value } = p;
2975
3075
  let subRef;
2976
3076
  switch (name.type) {
2977
- case "ComputedPropertyName":
3077
+ case "ComputedPropertyName": {
2978
3078
  conditions.push([name.expression, " in ", ref]);
2979
3079
  subRef = [ref, name];
2980
3080
  break;
3081
+ }
2981
3082
  case "Literal":
2982
3083
  case "StringLiteral":
2983
- case "NumericLiteral":
3084
+ case "NumericLiteral": {
2984
3085
  conditions.push([name, " in ", ref]);
2985
3086
  subRef = [ref, "[", name, "]"];
2986
3087
  break;
2987
- default:
2988
- conditions.push(["'", name, "' in ", ref]);
2989
- subRef = [ref, ".", name];
3088
+ }
3089
+ case "Identifier": {
3090
+ conditions.push(["'", name.name, "' in ", ref]);
3091
+ subRef = [ref, ".", name.name];
3092
+ break;
3093
+ }
3094
+ case "AtBinding": {
3095
+ conditions.push(["'", name.ref.id, "' in ", ref]);
3096
+ subRef = [ref, ".", name.ref.id];
3097
+ break;
3098
+ }
2990
3099
  }
2991
3100
  if (value) {
2992
3101
  getPatternConditions(value, subRef, conditions);
2993
3102
  }
3103
+ ;
2994
3104
  break;
2995
3105
  }
2996
3106
  }
2997
- });
3107
+ }
3108
+ ;
2998
3109
  break;
2999
3110
  }
3000
3111
  case "ConditionFragment": {
@@ -3018,22 +3129,22 @@ function getPatternConditions(pattern, ref, conditions = []) {
3018
3129
  );
3019
3130
  break;
3020
3131
  }
3021
- case "PinPattern":
3132
+ case "PinPattern": {
3022
3133
  conditions.push([
3023
3134
  ref,
3024
3135
  " === ",
3025
3136
  pattern.expression
3026
3137
  ]);
3027
3138
  break;
3028
- case "Literal":
3139
+ }
3140
+ case "Literal": {
3029
3141
  conditions.push([
3030
3142
  ref,
3031
3143
  " === ",
3032
3144
  pattern
3033
3145
  ]);
3034
3146
  break;
3035
- default:
3036
- break;
3147
+ }
3037
3148
  }
3038
3149
  return conditions;
3039
3150
  }
@@ -3264,6 +3375,9 @@ function processAssignmentDeclaration(decl, pattern, suffix, ws, assign, e) {
3264
3375
  let [splices, assignments] = gatherBindingCode(pattern);
3265
3376
  splices = splices.map((s) => [", ", s]);
3266
3377
  const thisAssignments = assignments.map((a) => ["", a, ";"]);
3378
+ if ("typeSuffix" in pattern) {
3379
+ suffix ??= pattern.typeSuffix;
3380
+ }
3267
3381
  const initializer = makeNode({
3268
3382
  type: "Initializer",
3269
3383
  expression: e,
@@ -6534,6 +6648,7 @@ var grammar = {
6534
6648
  NestedBindingPropertyList,
6535
6649
  BindingProperty,
6536
6650
  BindingRestProperty,
6651
+ BindingTypeSuffix,
6537
6652
  NestedBindingElements,
6538
6653
  BindingElement,
6539
6654
  BindingRestElement,
@@ -6871,6 +6986,7 @@ var grammar = {
6871
6986
  DotDot,
6872
6987
  DotDotDot,
6873
6988
  DoubleColon,
6989
+ DoubleColonAsColon,
6874
6990
  DoubleQuote,
6875
6991
  Each,
6876
6992
  Else,
@@ -6974,17 +7090,24 @@ var grammar = {
6974
7090
  InlineJSXMemberExpressionRest,
6975
7091
  InlineJSXPrimaryExpression,
6976
7092
  JSXMixedChildren,
7093
+ JSXSameLineChildren,
6977
7094
  JSXChildren,
6978
7095
  JSXNestedChildren,
6979
7096
  JSXEOS,
6980
7097
  JSXNested,
6981
7098
  JSXChild,
7099
+ JSXChildForcedCode,
7100
+ JSXChildForcedNoCode,
7101
+ JSXChildGeneral,
6982
7102
  JSXComment,
6983
7103
  JSXCommentContent,
6984
7104
  JSXText,
6985
7105
  JSXChildExpression,
6986
7106
  IndentedJSXChildExpression,
6987
7107
  NestedJSXChildExpression,
7108
+ JSXAngleChild,
7109
+ JSXCodeChild,
7110
+ JSXCodeChildExpression,
6988
7111
  UsingDeclaration,
6989
7112
  UsingBinding,
6990
7113
  UsingJSModeError,
@@ -7117,6 +7240,8 @@ var grammar = {
7117
7240
  CoffeeNotEnabled,
7118
7241
  CoffeeOfEnabled,
7119
7242
  CoffeePrototypeEnabled,
7243
+ JSXCodeNestedEnabled,
7244
+ JSXCodeSameLineEnabled,
7120
7245
  ObjectIsEnabled,
7121
7246
  Reset,
7122
7247
  Init,
@@ -7377,7 +7502,7 @@ var $R2 = (0, import_lib3.$R)(new RegExp("(as|of|satisfies|then|when|implements|
7377
7502
  var $R3 = (0, import_lib3.$R)(new RegExp("[0-9]", "suy"));
7378
7503
  var $R4 = (0, import_lib3.$R)(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
7379
7504
  var $R5 = (0, import_lib3.$R)(new RegExp("[ \\t]", "suy"));
7380
- var $R6 = (0, import_lib3.$R)(new RegExp("\\p{ID_Continue}|[\\u200C\\u200D$.#]", "suy"));
7505
+ var $R6 = (0, import_lib3.$R)(new RegExp("\\p{ID_Continue}|[\\u200C\\u200D$.#{]", "suy"));
7381
7506
  var $R7 = (0, import_lib3.$R)(new RegExp("[&=]", "suy"));
7382
7507
  var $R8 = (0, import_lib3.$R)(new RegExp("(?=['\"`])", "suy"));
7383
7508
  var $R9 = (0, import_lib3.$R)(new RegExp("(?=[\\/?])", "suy"));
@@ -8363,7 +8488,7 @@ var ParenthesizedExpression$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenPar
8363
8488
  function ParenthesizedExpression(ctx, state2) {
8364
8489
  return (0, import_lib3.$EVENT)(ctx, state2, "ParenthesizedExpression", ParenthesizedExpression$0);
8365
8490
  }
8366
- 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) {
8491
+ 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) {
8367
8492
  var dot = $1;
8368
8493
  var typeSuffix = $3;
8369
8494
  return {
@@ -8383,7 +8508,7 @@ var Placeholder$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Ampersand, (0, impo
8383
8508
  children: [amp]
8384
8509
  };
8385
8510
  });
8386
- 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) {
8511
+ 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) {
8387
8512
  return {
8388
8513
  type: "Placeholder",
8389
8514
  subtype: "&",
@@ -9452,9 +9577,10 @@ var ParameterElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib
9452
9577
  var typeSuffix = $5;
9453
9578
  var initializer = $6;
9454
9579
  var delim = $7;
9580
+ typeSuffix ??= binding.typeSuffix;
9455
9581
  return {
9456
9582
  type: "Parameter",
9457
- children: $0,
9583
+ children: [$1, accessModifier, $3, binding, typeSuffix, initializer, delim],
9458
9584
  names: binding.names,
9459
9585
  typeSuffix,
9460
9586
  accessModifier,
@@ -9570,12 +9696,13 @@ var ObjectBindingPattern$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import
9570
9696
  var c = $3;
9571
9697
  var ws2 = $4;
9572
9698
  var close = $5;
9573
- return {
9699
+ const properties = c.children;
9700
+ return gatherBindingPatternTypeSuffix({
9574
9701
  type: "ObjectBindingPattern",
9575
- children: [ws1, open, c.children, ws2, close],
9702
+ children: [ws1, open, properties, ws2, close],
9576
9703
  names: c.names,
9577
- properties: c.children
9578
- };
9704
+ properties
9705
+ });
9579
9706
  });
9580
9707
  function ObjectBindingPattern(ctx, state2) {
9581
9708
  return (0, import_lib3.$EVENT)(ctx, state2, "ObjectBindingPattern", ObjectBindingPattern$0);
@@ -9610,13 +9737,13 @@ var ArrayBindingPattern$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_
9610
9737
  var c = $3;
9611
9738
  var ws2 = $4;
9612
9739
  var close = $5;
9613
- return {
9740
+ return gatherBindingPatternTypeSuffix({
9614
9741
  ...c,
9615
9742
  // names, blockPrefix, length
9616
9743
  type: "ArrayBindingPattern",
9617
9744
  elements: c.children,
9618
9745
  children: [ws1, open, c.children, ws2, close]
9619
- };
9746
+ });
9620
9747
  });
9621
9748
  function ArrayBindingPattern(ctx, state2) {
9622
9749
  return (0, import_lib3.$EVENT)(ctx, state2, "ArrayBindingPattern", ArrayBindingPattern$0);
@@ -9637,6 +9764,7 @@ var BindingElementList$0 = (0, import_lib3.$TV)((0, import_lib3.$P)((0, import_l
9637
9764
  return elements.map(([element, delim]) => {
9638
9765
  return {
9639
9766
  ...element,
9767
+ delim,
9640
9768
  // BindingElement.children is a tuple of the form [ws, element]
9641
9769
  children: [...element.children, delim]
9642
9770
  };
@@ -9687,38 +9815,57 @@ function NestedBindingPropertyList(ctx, state2) {
9687
9815
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedBindingPropertyList", NestedBindingPropertyList$0);
9688
9816
  }
9689
9817
  var BindingProperty$0 = BindingRestProperty;
9690
- 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) {
9818
+ 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) {
9691
9819
  var name = $2;
9692
9820
  var value = $6;
9693
- var initializer = $7;
9821
+ var typeSuffix = $7;
9822
+ var initializer = $8;
9694
9823
  return {
9695
9824
  type: "BindingProperty",
9696
- children: $0,
9825
+ children: [$1, name, $3, $4, $5, value, initializer],
9826
+ // omit typeSuffix
9697
9827
  name,
9698
9828
  value,
9829
+ typeSuffix,
9699
9830
  initializer,
9700
9831
  names: value.names
9701
9832
  };
9702
9833
  });
9703
- 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) {
9834
+ 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) {
9704
9835
  var ws = $1;
9705
9836
  var pin = $2;
9706
9837
  var binding = $3;
9707
- var initializer = $4;
9838
+ var typeSuffix = $4;
9839
+ var initializer = $5;
9840
+ let children = [ws, binding, initializer];
9708
9841
  if (binding.type === "AtBinding") {
9709
9842
  return {
9710
9843
  type: "AtBindingProperty",
9711
- children: $0,
9844
+ children,
9712
9845
  binding,
9846
+ typeSuffix,
9713
9847
  ref: binding.ref,
9714
9848
  initializer,
9715
9849
  names: []
9716
9850
  };
9717
9851
  }
9718
9852
  if (pin) {
9853
+ children = [ws, binding];
9854
+ if (typeSuffix) {
9855
+ children.push({
9856
+ type: "Error",
9857
+ message: "Pinned properties cannot have type annotations"
9858
+ });
9859
+ }
9860
+ if (initializer) {
9861
+ children.push({
9862
+ type: "Error",
9863
+ message: "Pinned properties cannot have initializers"
9864
+ });
9865
+ }
9719
9866
  return {
9720
9867
  type: "PinProperty",
9721
- children: [ws, binding],
9868
+ children,
9722
9869
  name: binding,
9723
9870
  value: {
9724
9871
  type: "PinPattern",
@@ -9728,9 +9875,10 @@ var BindingProperty$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3
9728
9875
  }
9729
9876
  return {
9730
9877
  type: "BindingProperty",
9731
- children: $0,
9878
+ children,
9732
9879
  name: binding,
9733
9880
  value: void 0,
9881
+ typeSuffix,
9734
9882
  initializer,
9735
9883
  names: binding.names,
9736
9884
  identifier: binding
@@ -9740,13 +9888,15 @@ var BindingProperty$$ = [BindingProperty$0, BindingProperty$1, BindingProperty$2
9740
9888
  function BindingProperty(ctx, state2) {
9741
9889
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BindingProperty", BindingProperty$$);
9742
9890
  }
9743
- var BindingRestProperty$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), DotDotDot, BindingIdentifier), function($skip, $loc, $0, $1, $2, $3) {
9891
+ 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) {
9744
9892
  var ws = $1;
9745
9893
  var dots = $2;
9746
9894
  var id = $3;
9895
+ var typeSuffix = $4;
9747
9896
  return {
9748
9897
  ...id,
9749
9898
  type: "BindingRestProperty",
9899
+ typeSuffix,
9750
9900
  children: [...ws || [], dots, ...id.children]
9751
9901
  };
9752
9902
  });
@@ -9757,6 +9907,7 @@ var BindingRestProperty$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_
9757
9907
  return {
9758
9908
  ...id,
9759
9909
  type: "BindingRestProperty",
9910
+ typeSuffix: void 0,
9760
9911
  children: [...ws || [], dots, ...id.children]
9761
9912
  };
9762
9913
  });
@@ -9764,6 +9915,21 @@ var BindingRestProperty$$ = [BindingRestProperty$0, BindingRestProperty$1];
9764
9915
  function BindingRestProperty(ctx, state2) {
9765
9916
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BindingRestProperty", BindingRestProperty$$);
9766
9917
  }
9918
+ 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) {
9919
+ var optional = $2;
9920
+ var colon = $4;
9921
+ var t = $5;
9922
+ return {
9923
+ type: "TypeSuffix",
9924
+ ts: true,
9925
+ optional,
9926
+ t,
9927
+ children: $0
9928
+ };
9929
+ });
9930
+ function BindingTypeSuffix(ctx, state2) {
9931
+ return (0, import_lib3.$EVENT)(ctx, state2, "BindingTypeSuffix", BindingTypeSuffix$0);
9932
+ }
9767
9933
  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) {
9768
9934
  var elements = $2;
9769
9935
  if (!elements.length)
@@ -9774,10 +9940,11 @@ function NestedBindingElements(ctx, state2) {
9774
9940
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedBindingElements", NestedBindingElements$0);
9775
9941
  }
9776
9942
  var BindingElement$0 = BindingRestElement;
9777
- 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) {
9943
+ 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) {
9778
9944
  var ws = $1;
9779
9945
  var binding = $2;
9780
- var initializer = $3;
9946
+ var typeSuffix = $3;
9947
+ var initializer = $4;
9781
9948
  if (binding.children) {
9782
9949
  binding = {
9783
9950
  ...binding,
@@ -9786,16 +9953,17 @@ var BindingElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.
9786
9953
  };
9787
9954
  }
9788
9955
  return {
9956
+ type: "BindingElement",
9789
9957
  names: binding.names,
9958
+ typeSuffix,
9959
+ binding,
9790
9960
  children: [ws, binding]
9791
9961
  };
9792
9962
  });
9793
9963
  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) {
9794
9964
  return {
9795
- children: [{
9796
- type: "ElisionElement",
9797
- children: [""]
9798
- }],
9965
+ type: "ElisionElement",
9966
+ children: [""],
9799
9967
  names: []
9800
9968
  };
9801
9969
  });
@@ -9803,14 +9971,17 @@ var BindingElement$$ = [BindingElement$0, BindingElement$1, BindingElement$2];
9803
9971
  function BindingElement(ctx, state2) {
9804
9972
  return (0, import_lib3.$EVENT_C)(ctx, state2, "BindingElement", BindingElement$$);
9805
9973
  }
9806
- 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) {
9974
+ 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) {
9807
9975
  var ws = $1;
9808
9976
  var dots = $2;
9809
9977
  var binding = $3;
9978
+ var typeSuffix = $4;
9810
9979
  return {
9811
9980
  type: "BindingRestElement",
9812
9981
  children: [ws, [dots, binding]],
9982
+ dots,
9813
9983
  binding,
9984
+ typeSuffix,
9814
9985
  name: binding.name,
9815
9986
  names: binding.names,
9816
9987
  rest: true
@@ -9823,6 +9994,7 @@ var BindingRestElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_l
9823
9994
  return {
9824
9995
  type: "BindingRestElement",
9825
9996
  children: [...ws || [], dots, binding],
9997
+ dots,
9826
9998
  binding,
9827
9999
  name: binding.name,
9828
10000
  names: binding.names,
@@ -13917,9 +14089,10 @@ var LexicalBinding$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(BindingPattern,
13917
14089
  var suffix = $2;
13918
14090
  var initializer = $3;
13919
14091
  const [splices, thisAssignments] = gatherBindingCode(pattern);
14092
+ suffix ??= pattern.typeSuffix;
13920
14093
  return {
13921
14094
  type: "Binding",
13922
- children: $0,
14095
+ children: [pattern, suffix, initializer],
13923
14096
  names: pattern.names,
13924
14097
  pattern,
13925
14098
  suffix,
@@ -14639,6 +14812,12 @@ var DoubleColon$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L155, 'Double
14639
14812
  function DoubleColon(ctx, state2) {
14640
14813
  return (0, import_lib3.$EVENT)(ctx, state2, "DoubleColon", DoubleColon$0);
14641
14814
  }
14815
+ var DoubleColonAsColon$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L155, 'DoubleColonAsColon "::"'), function($skip, $loc, $0, $1) {
14816
+ return { $loc, token: ":" };
14817
+ });
14818
+ function DoubleColonAsColon(ctx, state2) {
14819
+ return (0, import_lib3.$EVENT)(ctx, state2, "DoubleColonAsColon", DoubleColonAsColon$0);
14820
+ }
14642
14821
  var DoubleQuote$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L156, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
14643
14822
  return { $loc, token: $1 };
14644
14823
  });
@@ -15439,9 +15618,22 @@ var JSXAttributeName$$ = [JSXAttributeName$0, JSXAttributeName$1];
15439
15618
  function JSXAttributeName(ctx, state2) {
15440
15619
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXAttributeName", JSXAttributeName$$);
15441
15620
  }
15442
- var JSXAttributeInitializer$0 = (0, import_lib3.$S)((0, import_lib3.$E)(Whitespace), Equals, (0, import_lib3.$E)(Whitespace), JSXAttributeValue);
15621
+ 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) {
15622
+ var ws1 = $2;
15623
+ var equals = $3;
15624
+ var ws2 = $4;
15625
+ var open = $5;
15626
+ var indent = $6;
15627
+ var expression = $7;
15628
+ var close = $9;
15629
+ if (!expression)
15630
+ return $skip;
15631
+ return [ws1, equals, ws2, open, indent, expression, close];
15632
+ });
15633
+ var JSXAttributeInitializer$1 = (0, import_lib3.$S)((0, import_lib3.$E)(Whitespace), Equals, (0, import_lib3.$E)(Whitespace), JSXAttributeValue);
15634
+ var JSXAttributeInitializer$$ = [JSXAttributeInitializer$0, JSXAttributeInitializer$1];
15443
15635
  function JSXAttributeInitializer(ctx, state2) {
15444
- return (0, import_lib3.$EVENT)(ctx, state2, "JSXAttributeInitializer", JSXAttributeInitializer$0);
15636
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXAttributeInitializer", JSXAttributeInitializer$$);
15445
15637
  }
15446
15638
  var JSXAttributeValue$0 = (0, import_lib3.$S)(OpenBrace, PostfixedExpression, (0, import_lib3.$E)(Whitespace), CloseBrace);
15447
15639
  var JSXAttributeValue$1 = JSXElement;
@@ -15611,7 +15803,7 @@ var InlineJSXPrimaryExpression$$ = [InlineJSXPrimaryExpression$0, InlineJSXPrima
15611
15803
  function InlineJSXPrimaryExpression(ctx, state2) {
15612
15804
  return (0, import_lib3.$EVENT_C)(ctx, state2, "InlineJSXPrimaryExpression", InlineJSXPrimaryExpression$$);
15613
15805
  }
15614
- var JSXMixedChildren$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Q)(JSXChild), JSXNestedChildren), function($skip, $loc, $0, $1, $2) {
15806
+ var JSXMixedChildren$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(JSXSameLineChildren, JSXNestedChildren), function($skip, $loc, $0, $1, $2) {
15615
15807
  var c1 = $1;
15616
15808
  var c2 = $2;
15617
15809
  return {
@@ -15622,6 +15814,18 @@ var JSXMixedChildren$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib
15622
15814
  function JSXMixedChildren(ctx, state2) {
15623
15815
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXMixedChildren", JSXMixedChildren$0);
15624
15816
  }
15817
+ 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) {
15818
+ var children = $2;
15819
+ return children.map(([, , c]) => c);
15820
+ });
15821
+ var JSXSameLineChildren$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(JSXCodeSameLineEnabled), (0, import_lib3.$Q)(JSXChildForcedNoCode)), function(value) {
15822
+ var children = value[1];
15823
+ return children;
15824
+ });
15825
+ var JSXSameLineChildren$$ = [JSXSameLineChildren$0, JSXSameLineChildren$1];
15826
+ function JSXSameLineChildren(ctx, state2) {
15827
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXSameLineChildren", JSXSameLineChildren$$);
15828
+ }
15625
15829
  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) {
15626
15830
  return {
15627
15831
  children: $1,
@@ -15663,10 +15867,33 @@ var JSXNested$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(JSXEOS, Indent), func
15663
15867
  function JSXNested(ctx, state2) {
15664
15868
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXNested", JSXNested$0);
15665
15869
  }
15666
- var JSXChild$0 = JSXElement;
15667
- var JSXChild$1 = JSXFragment;
15668
- var JSXChild$2 = JSXComment;
15669
- var JSXChild$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenBrace, IndentedJSXChildExpression, __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
15870
+ var JSXChild$0 = JSXChildGeneral;
15871
+ var JSXChild$1 = (0, import_lib3.$T)((0, import_lib3.$S)(JSXCodeNestedEnabled, JSXCodeChild), function(value) {
15872
+ return value[1];
15873
+ });
15874
+ var JSXChild$2 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(JSXCodeNestedEnabled), JSXText), function(value) {
15875
+ return value[1];
15876
+ });
15877
+ var JSXChild$$ = [JSXChild$0, JSXChild$1, JSXChild$2];
15878
+ function JSXChild(ctx, state2) {
15879
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXChild", JSXChild$$);
15880
+ }
15881
+ var JSXChildForcedCode$0 = JSXChildGeneral;
15882
+ var JSXChildForcedCode$1 = JSXCodeChild;
15883
+ var JSXChildForcedCode$$ = [JSXChildForcedCode$0, JSXChildForcedCode$1];
15884
+ function JSXChildForcedCode(ctx, state2) {
15885
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXChildForcedCode", JSXChildForcedCode$$);
15886
+ }
15887
+ var JSXChildForcedNoCode$0 = JSXChildGeneral;
15888
+ var JSXChildForcedNoCode$1 = JSXText;
15889
+ var JSXChildForcedNoCode$$ = [JSXChildForcedNoCode$0, JSXChildForcedNoCode$1];
15890
+ function JSXChildForcedNoCode(ctx, state2) {
15891
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXChildForcedNoCode", JSXChildForcedNoCode$$);
15892
+ }
15893
+ var JSXChildGeneral$0 = JSXElement;
15894
+ var JSXChildGeneral$1 = JSXFragment;
15895
+ var JSXChildGeneral$2 = JSXComment;
15896
+ var JSXChildGeneral$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenBrace, IndentedJSXChildExpression, __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4) {
15670
15897
  var expression = $2;
15671
15898
  return {
15672
15899
  type: "JSXChildExpression",
@@ -15674,7 +15901,7 @@ var JSXChild$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenBrace, IndentedJSX
15674
15901
  expression
15675
15902
  };
15676
15903
  });
15677
- 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) {
15904
+ 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) {
15678
15905
  var expression = $2;
15679
15906
  return {
15680
15907
  type: "JSXChildExpression",
@@ -15682,7 +15909,7 @@ var JSXChild$4 = (0, import_lib3.$TS)((0, import_lib3.$S)(OpenBrace, (0, import_
15682
15909
  expression
15683
15910
  };
15684
15911
  });
15685
- var JSXChild$5 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertInlineOpenBrace, ArrowFunction, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3) {
15912
+ var JSXChildGeneral$5 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertInlineOpenBrace, ArrowFunction, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3) {
15686
15913
  var expression = $2;
15687
15914
  return {
15688
15915
  type: "JSXChildExpression",
@@ -15690,10 +15917,10 @@ var JSXChild$5 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertInlineOpenBrace,
15690
15917
  expression
15691
15918
  };
15692
15919
  });
15693
- var JSXChild$6 = JSXText;
15694
- var JSXChild$$ = [JSXChild$0, JSXChild$1, JSXChild$2, JSXChild$3, JSXChild$4, JSXChild$5, JSXChild$6];
15695
- function JSXChild(ctx, state2) {
15696
- return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXChild", JSXChild$$);
15920
+ var JSXChildGeneral$6 = JSXAngleChild;
15921
+ var JSXChildGeneral$$ = [JSXChildGeneral$0, JSXChildGeneral$1, JSXChildGeneral$2, JSXChildGeneral$3, JSXChildGeneral$4, JSXChildGeneral$5, JSXChildGeneral$6];
15922
+ function JSXChildGeneral(ctx, state2) {
15923
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXChildGeneral", JSXChildGeneral$$);
15697
15924
  }
15698
15925
  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) {
15699
15926
  return ["{/*", $2, "*/}"];
@@ -15733,6 +15960,48 @@ var NestedJSXChildExpression$0 = (0, import_lib3.$S)(JSXNested, JSXChildExpressi
15733
15960
  function NestedJSXChildExpression(ctx, state2) {
15734
15961
  return (0, import_lib3.$EVENT)(ctx, state2, "NestedJSXChildExpression", NestedJSXChildExpression$0);
15735
15962
  }
15963
+ var JSXAngleChild$0 = (0, import_lib3.$T)((0, import_lib3.$S)(CloseAngleBracket, JSXCodeChild), function(value) {
15964
+ return value[1];
15965
+ });
15966
+ function JSXAngleChild(ctx, state2) {
15967
+ return (0, import_lib3.$EVENT)(ctx, state2, "JSXAngleChild", JSXAngleChild$0);
15968
+ }
15969
+ var JSXCodeChild$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(InsertInlineOpenBrace, JSXCodeChildExpression, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3) {
15970
+ var open = $1;
15971
+ var expression = $2;
15972
+ var close = $3;
15973
+ if (!expression)
15974
+ return $skip;
15975
+ return [open, expression, close];
15976
+ });
15977
+ function JSXCodeChild(ctx, state2) {
15978
+ return (0, import_lib3.$EVENT)(ctx, state2, "JSXCodeChild", JSXCodeChild$0);
15979
+ }
15980
+ 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) {
15981
+ var expression = $3;
15982
+ if (!expression)
15983
+ return $skip;
15984
+ return expression;
15985
+ });
15986
+ var JSXCodeChildExpression$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$Y)(JSXEOS), ImplicitNestedBlock), function($skip, $loc, $0, $1, $2) {
15987
+ var block = $2;
15988
+ if (!block)
15989
+ return $skip;
15990
+ const statement = {
15991
+ type: "DoStatement",
15992
+ children: [block],
15993
+ block
15994
+ };
15995
+ return {
15996
+ type: "StatementExpression",
15997
+ statement,
15998
+ children: [statement]
15999
+ };
16000
+ });
16001
+ var JSXCodeChildExpression$$ = [JSXCodeChildExpression$0, JSXCodeChildExpression$1];
16002
+ function JSXCodeChildExpression(ctx, state2) {
16003
+ return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXCodeChildExpression", JSXCodeChildExpression$$);
16004
+ }
15736
16005
  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) {
15737
16006
  var decl = $1;
15738
16007
  var binding = $3;
@@ -16957,6 +17226,22 @@ var CoffeePrototypeEnabled$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0
16957
17226
  function CoffeePrototypeEnabled(ctx, state2) {
16958
17227
  return (0, import_lib3.$EVENT)(ctx, state2, "CoffeePrototypeEnabled", CoffeePrototypeEnabled$0);
16959
17228
  }
17229
+ var JSXCodeNestedEnabled$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'JSXCodeNestedEnabled ""'), function($skip, $loc, $0, $1) {
17230
+ if (config.jsxCodeNested)
17231
+ return;
17232
+ return $skip;
17233
+ });
17234
+ function JSXCodeNestedEnabled(ctx, state2) {
17235
+ return (0, import_lib3.$EVENT)(ctx, state2, "JSXCodeNestedEnabled", JSXCodeNestedEnabled$0);
17236
+ }
17237
+ var JSXCodeSameLineEnabled$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'JSXCodeSameLineEnabled ""'), function($skip, $loc, $0, $1) {
17238
+ if (config.jsxCodeSameLine)
17239
+ return;
17240
+ return $skip;
17241
+ });
17242
+ function JSXCodeSameLineEnabled(ctx, state2) {
17243
+ return (0, import_lib3.$EVENT)(ctx, state2, "JSXCodeSameLineEnabled", JSXCodeSameLineEnabled$0);
17244
+ }
16960
17245
  var ObjectIsEnabled$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'ObjectIsEnabled ""'), function($skip, $loc, $0, $1) {
16961
17246
  if (config.objectIs)
16962
17247
  return;
@@ -17000,6 +17285,7 @@ var Reset$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'Reset ""'), fu
17000
17285
  coffeePrototype: false,
17001
17286
  defaultElement: "div",
17002
17287
  implicitReturns: true,
17288
+ jsxCode: false,
17003
17289
  objectIs: false,
17004
17290
  react: false,
17005
17291
  solid: false,
@@ -17044,6 +17330,16 @@ var Reset$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'Reset ""'), fu
17044
17330
  }
17045
17331
  }
17046
17332
  });
17333
+ Object.defineProperty(config, "jsxCode", {
17334
+ set(b) {
17335
+ for (const option of [
17336
+ "jsxCodeNested",
17337
+ "jsxCodeSameLine"
17338
+ ]) {
17339
+ config[option] = b;
17340
+ }
17341
+ }
17342
+ });
17047
17343
  Object.assign(config, initialConfig);
17048
17344
  return {
17049
17345
  type: "ParserMeta",