typescript 4.6.0-dev.20211103 → 4.6.0-dev.20211107

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.
@@ -294,7 +294,7 @@ var ts;
294
294
  // The following is baselined as a literal template type without intervention
295
295
  /** The version of the TypeScript compiler release */
296
296
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
297
- ts.version = ts.versionMajorMinor + ".0-dev.20211103";
297
+ ts.version = ts.versionMajorMinor + ".0-dev.20211107";
298
298
  /* @internal */
299
299
  var Comparison;
300
300
  (function (Comparison) {
@@ -5417,6 +5417,7 @@ var ts;
5417
5417
  ScriptTarget[ScriptTarget["ES2019"] = 6] = "ES2019";
5418
5418
  ScriptTarget[ScriptTarget["ES2020"] = 7] = "ES2020";
5419
5419
  ScriptTarget[ScriptTarget["ES2021"] = 8] = "ES2021";
5420
+ ScriptTarget[ScriptTarget["ES2022"] = 9] = "ES2022";
5420
5421
  ScriptTarget[ScriptTarget["ESNext"] = 99] = "ESNext";
5421
5422
  ScriptTarget[ScriptTarget["JSON"] = 100] = "JSON";
5422
5423
  ScriptTarget[ScriptTarget["Latest"] = 99] = "Latest";
@@ -5585,15 +5586,16 @@ var ts;
5585
5586
  TransformFlags[TransformFlags["ContainsTypeScript"] = 1] = "ContainsTypeScript";
5586
5587
  TransformFlags[TransformFlags["ContainsJsx"] = 2] = "ContainsJsx";
5587
5588
  TransformFlags[TransformFlags["ContainsESNext"] = 4] = "ContainsESNext";
5588
- TransformFlags[TransformFlags["ContainsES2021"] = 8] = "ContainsES2021";
5589
- TransformFlags[TransformFlags["ContainsES2020"] = 16] = "ContainsES2020";
5590
- TransformFlags[TransformFlags["ContainsES2019"] = 32] = "ContainsES2019";
5591
- TransformFlags[TransformFlags["ContainsES2018"] = 64] = "ContainsES2018";
5592
- TransformFlags[TransformFlags["ContainsES2017"] = 128] = "ContainsES2017";
5593
- TransformFlags[TransformFlags["ContainsES2016"] = 256] = "ContainsES2016";
5594
- TransformFlags[TransformFlags["ContainsES2015"] = 512] = "ContainsES2015";
5595
- TransformFlags[TransformFlags["ContainsGenerator"] = 1024] = "ContainsGenerator";
5596
- TransformFlags[TransformFlags["ContainsDestructuringAssignment"] = 2048] = "ContainsDestructuringAssignment";
5589
+ TransformFlags[TransformFlags["ContainsES2022"] = 8] = "ContainsES2022";
5590
+ TransformFlags[TransformFlags["ContainsES2021"] = 16] = "ContainsES2021";
5591
+ TransformFlags[TransformFlags["ContainsES2020"] = 32] = "ContainsES2020";
5592
+ TransformFlags[TransformFlags["ContainsES2019"] = 64] = "ContainsES2019";
5593
+ TransformFlags[TransformFlags["ContainsES2018"] = 128] = "ContainsES2018";
5594
+ TransformFlags[TransformFlags["ContainsES2017"] = 256] = "ContainsES2017";
5595
+ TransformFlags[TransformFlags["ContainsES2016"] = 512] = "ContainsES2016";
5596
+ TransformFlags[TransformFlags["ContainsES2015"] = 1024] = "ContainsES2015";
5597
+ TransformFlags[TransformFlags["ContainsGenerator"] = 2048] = "ContainsGenerator";
5598
+ TransformFlags[TransformFlags["ContainsDestructuringAssignment"] = 4096] = "ContainsDestructuringAssignment";
5597
5599
  // Markers
5598
5600
  // - Flags used to indicate that a subtree contains a specific transformation.
5599
5601
  TransformFlags[TransformFlags["ContainsTypeScriptClassSyntax"] = 4096] = "ContainsTypeScriptClassSyntax";
@@ -5620,15 +5622,16 @@ var ts;
5620
5622
  TransformFlags[TransformFlags["AssertTypeScript"] = 1] = "AssertTypeScript";
5621
5623
  TransformFlags[TransformFlags["AssertJsx"] = 2] = "AssertJsx";
5622
5624
  TransformFlags[TransformFlags["AssertESNext"] = 4] = "AssertESNext";
5623
- TransformFlags[TransformFlags["AssertES2021"] = 8] = "AssertES2021";
5624
- TransformFlags[TransformFlags["AssertES2020"] = 16] = "AssertES2020";
5625
- TransformFlags[TransformFlags["AssertES2019"] = 32] = "AssertES2019";
5626
- TransformFlags[TransformFlags["AssertES2018"] = 64] = "AssertES2018";
5627
- TransformFlags[TransformFlags["AssertES2017"] = 128] = "AssertES2017";
5628
- TransformFlags[TransformFlags["AssertES2016"] = 256] = "AssertES2016";
5629
- TransformFlags[TransformFlags["AssertES2015"] = 512] = "AssertES2015";
5630
- TransformFlags[TransformFlags["AssertGenerator"] = 1024] = "AssertGenerator";
5631
- TransformFlags[TransformFlags["AssertDestructuringAssignment"] = 2048] = "AssertDestructuringAssignment";
5625
+ TransformFlags[TransformFlags["AssertES2022"] = 8] = "AssertES2022";
5626
+ TransformFlags[TransformFlags["AssertES2021"] = 16] = "AssertES2021";
5627
+ TransformFlags[TransformFlags["AssertES2020"] = 32] = "AssertES2020";
5628
+ TransformFlags[TransformFlags["AssertES2019"] = 64] = "AssertES2019";
5629
+ TransformFlags[TransformFlags["AssertES2018"] = 128] = "AssertES2018";
5630
+ TransformFlags[TransformFlags["AssertES2017"] = 256] = "AssertES2017";
5631
+ TransformFlags[TransformFlags["AssertES2016"] = 512] = "AssertES2016";
5632
+ TransformFlags[TransformFlags["AssertES2015"] = 1024] = "AssertES2015";
5633
+ TransformFlags[TransformFlags["AssertGenerator"] = 2048] = "AssertGenerator";
5634
+ TransformFlags[TransformFlags["AssertDestructuringAssignment"] = 4096] = "AssertDestructuringAssignment";
5632
5635
  // Scope Exclusions
5633
5636
  // - Bitmasks that exclude flags from propagating out of a specific context
5634
5637
  // into the subtree flags of their container.
@@ -12176,6 +12179,8 @@ var ts;
12176
12179
  switch (ts.getEmitScriptTarget(options)) {
12177
12180
  case 99 /* ESNext */:
12178
12181
  return "lib.esnext.full.d.ts";
12182
+ case 9 /* ES2022 */:
12183
+ return "lib.es2022.full.d.ts";
12179
12184
  case 8 /* ES2021 */:
12180
12185
  return "lib.es2021.full.d.ts";
12181
12186
  case 7 /* ES2020 */:
@@ -14642,6 +14647,7 @@ var ts;
14642
14647
  AsyncIterableIterator: ts.emptyArray,
14643
14648
  AsyncGenerator: ts.emptyArray,
14644
14649
  AsyncGeneratorFunction: ts.emptyArray,
14650
+ NumberFormat: ["formatToParts"]
14645
14651
  },
14646
14652
  es2019: {
14647
14653
  Array: ["flat", "flatMap"],
@@ -14663,8 +14669,21 @@ var ts;
14663
14669
  PromiseConstructor: ["any"],
14664
14670
  String: ["replaceAll"]
14665
14671
  },
14666
- esnext: {
14667
- NumberFormat: ["formatToParts"]
14672
+ es2022: {
14673
+ Array: ["at"],
14674
+ String: ["at"],
14675
+ Int8Array: ["at"],
14676
+ Uint8Array: ["at"],
14677
+ Uint8ClampedArray: ["at"],
14678
+ Int16Array: ["at"],
14679
+ Uint16Array: ["at"],
14680
+ Int32Array: ["at"],
14681
+ Uint32Array: ["at"],
14682
+ Float32Array: ["at"],
14683
+ Float64Array: ["at"],
14684
+ BigInt64Array: ["at"],
14685
+ BigUint64Array: ["at"],
14686
+ ObjectConstructor: ["hasOwn"]
14668
14687
  }
14669
14688
  };
14670
14689
  }
@@ -22204,7 +22223,7 @@ var ts;
22204
22223
  var node = createBaseLiteral(8 /* NumericLiteral */, typeof value === "number" ? value + "" : value);
22205
22224
  node.numericLiteralFlags = numericLiteralFlags;
22206
22225
  if (numericLiteralFlags & 384 /* BinaryOrOctalSpecifier */)
22207
- node.transformFlags |= 512 /* ContainsES2015 */;
22226
+ node.transformFlags |= 1024 /* ContainsES2015 */;
22208
22227
  return node;
22209
22228
  }
22210
22229
  // @api
@@ -22223,7 +22242,7 @@ var ts;
22223
22242
  var node = createBaseStringLiteral(text, isSingleQuote);
22224
22243
  node.hasExtendedUnicodeEscape = hasExtendedUnicodeEscape;
22225
22244
  if (hasExtendedUnicodeEscape)
22226
- node.transformFlags |= 512 /* ContainsES2015 */;
22245
+ node.transformFlags |= 1024 /* ContainsES2015 */;
22227
22246
  return node;
22228
22247
  }
22229
22248
  // @api
@@ -22351,8 +22370,8 @@ var ts;
22351
22370
  case 131 /* AsyncKeyword */:
22352
22371
  // 'async' modifier is ES2017 (async functions) or ES2018 (async generators)
22353
22372
  transformFlags =
22354
- 128 /* ContainsES2017 */ |
22355
- 64 /* ContainsES2018 */;
22373
+ 256 /* ContainsES2017 */ |
22374
+ 128 /* ContainsES2018 */;
22356
22375
  break;
22357
22376
  case 123 /* PublicKeyword */:
22358
22377
  case 121 /* PrivateKeyword */:
@@ -22376,10 +22395,10 @@ var ts;
22376
22395
  transformFlags = 1 /* ContainsTypeScript */;
22377
22396
  break;
22378
22397
  case 106 /* SuperKeyword */:
22379
- transformFlags = 512 /* ContainsES2015 */ | 33554432 /* ContainsLexicalSuper */;
22398
+ transformFlags = 1024 /* ContainsES2015 */ | 33554432 /* ContainsLexicalSuper */;
22380
22399
  break;
22381
22400
  case 124 /* StaticKeyword */:
22382
- transformFlags = 512 /* ContainsES2015 */;
22401
+ transformFlags = 1024 /* ContainsES2015 */;
22383
22402
  break;
22384
22403
  case 108 /* ThisKeyword */:
22385
22404
  // 'this' indicates a lexical 'this'
@@ -22476,7 +22495,7 @@ var ts;
22476
22495
  node.expression = parenthesizerRules().parenthesizeExpressionOfComputedPropertyName(expression);
22477
22496
  node.transformFlags |=
22478
22497
  propagateChildFlags(node.expression) |
22479
- 512 /* ContainsES2015 */ |
22498
+ 1024 /* ContainsES2015 */ |
22480
22499
  65536 /* ContainsComputedPropertyName */;
22481
22500
  return node;
22482
22501
  }
@@ -22524,7 +22543,7 @@ var ts;
22524
22543
  if (ts.modifiersToFlags(node.modifiers) & 16476 /* ParameterPropertyModifier */)
22525
22544
  node.transformFlags |= 4096 /* ContainsTypeScriptClassSyntax */;
22526
22545
  if (initializer || dotDotDotToken)
22527
- node.transformFlags |= 512 /* ContainsES2015 */;
22546
+ node.transformFlags |= 1024 /* ContainsES2015 */;
22528
22547
  }
22529
22548
  return node;
22530
22549
  }
@@ -22633,20 +22652,20 @@ var ts;
22633
22652
  node.transformFlags |=
22634
22653
  propagateChildFlags(node.asteriskToken) |
22635
22654
  propagateChildFlags(node.questionToken) |
22636
- 512 /* ContainsES2015 */;
22655
+ 1024 /* ContainsES2015 */;
22637
22656
  if (questionToken) {
22638
22657
  node.transformFlags |= 1 /* ContainsTypeScript */;
22639
22658
  }
22640
22659
  if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) {
22641
22660
  if (asteriskToken) {
22642
- node.transformFlags |= 64 /* ContainsES2018 */;
22661
+ node.transformFlags |= 128 /* ContainsES2018 */;
22643
22662
  }
22644
22663
  else {
22645
- node.transformFlags |= 128 /* ContainsES2017 */;
22664
+ node.transformFlags |= 256 /* ContainsES2017 */;
22646
22665
  }
22647
22666
  }
22648
22667
  else if (asteriskToken) {
22649
- node.transformFlags |= 1024 /* ContainsGenerator */;
22668
+ node.transformFlags |= 2048 /* ContainsGenerator */;
22650
22669
  }
22651
22670
  return node;
22652
22671
  }
@@ -22687,7 +22706,7 @@ var ts;
22687
22706
  /*name*/ undefined,
22688
22707
  /*typeParameters*/ undefined, parameters,
22689
22708
  /*type*/ undefined, body);
22690
- node.transformFlags |= 512 /* ContainsES2015 */;
22709
+ node.transformFlags |= 1024 /* ContainsES2015 */;
22691
22710
  return node;
22692
22711
  }
22693
22712
  // @api
@@ -23181,11 +23200,11 @@ var ts;
23181
23200
  node.elements = createNodeArray(elements);
23182
23201
  node.transformFlags |=
23183
23202
  propagateChildrenFlags(node.elements) |
23184
- 512 /* ContainsES2015 */ |
23203
+ 1024 /* ContainsES2015 */ |
23185
23204
  262144 /* ContainsBindingPattern */;
23186
23205
  if (node.transformFlags & 16384 /* ContainsRestOrSpread */) {
23187
23206
  node.transformFlags |=
23188
- 64 /* ContainsES2018 */ |
23207
+ 128 /* ContainsES2018 */ |
23189
23208
  32768 /* ContainsObjectRestOrSpread */;
23190
23209
  }
23191
23210
  return node;
@@ -23202,7 +23221,7 @@ var ts;
23202
23221
  node.elements = createNodeArray(elements);
23203
23222
  node.transformFlags |=
23204
23223
  propagateChildrenFlags(node.elements) |
23205
- 512 /* ContainsES2015 */ |
23224
+ 1024 /* ContainsES2015 */ |
23206
23225
  262144 /* ContainsBindingPattern */;
23207
23226
  return node;
23208
23227
  }
@@ -23221,7 +23240,7 @@ var ts;
23221
23240
  node.dotDotDotToken = dotDotDotToken;
23222
23241
  node.transformFlags |=
23223
23242
  propagateChildFlags(node.dotDotDotToken) |
23224
- 512 /* ContainsES2015 */;
23243
+ 1024 /* ContainsES2015 */;
23225
23244
  if (node.propertyName) {
23226
23245
  node.transformFlags |= ts.isIdentifier(node.propertyName) ?
23227
23246
  propagateIdentifierNameFlags(node.propertyName) :
@@ -23295,8 +23314,8 @@ var ts;
23295
23314
  // super method calls require a lexical 'this'
23296
23315
  // super method calls require 'super' hoisting in ES2017 and ES2018 async functions and async generators
23297
23316
  node.transformFlags |=
23298
- 128 /* ContainsES2017 */ |
23299
- 64 /* ContainsES2018 */;
23317
+ 256 /* ContainsES2017 */ |
23318
+ 128 /* ContainsES2018 */;
23300
23319
  }
23301
23320
  return node;
23302
23321
  }
@@ -23318,7 +23337,7 @@ var ts;
23318
23337
  node.questionDotToken = questionDotToken;
23319
23338
  node.name = asName(name);
23320
23339
  node.transformFlags |=
23321
- 16 /* ContainsES2020 */ |
23340
+ 32 /* ContainsES2020 */ |
23322
23341
  propagateChildFlags(node.expression) |
23323
23342
  propagateChildFlags(node.questionDotToken) |
23324
23343
  (ts.isIdentifier(node.name) ?
@@ -23349,8 +23368,8 @@ var ts;
23349
23368
  // super method calls require a lexical 'this'
23350
23369
  // super method calls require 'super' hoisting in ES2017 and ES2018 async functions and async generators
23351
23370
  node.transformFlags |=
23352
- 128 /* ContainsES2017 */ |
23353
- 64 /* ContainsES2018 */;
23371
+ 256 /* ContainsES2017 */ |
23372
+ 128 /* ContainsES2018 */;
23354
23373
  }
23355
23374
  return node;
23356
23375
  }
@@ -23375,7 +23394,7 @@ var ts;
23375
23394
  propagateChildFlags(node.expression) |
23376
23395
  propagateChildFlags(node.questionDotToken) |
23377
23396
  propagateChildFlags(node.argumentExpression) |
23378
- 16 /* ContainsES2020 */;
23397
+ 32 /* ContainsES2020 */;
23379
23398
  return node;
23380
23399
  }
23381
23400
  // @api
@@ -23434,7 +23453,7 @@ var ts;
23434
23453
  propagateChildFlags(node.questionDotToken) |
23435
23454
  propagateChildrenFlags(node.typeArguments) |
23436
23455
  propagateChildrenFlags(node.arguments) |
23437
- 16 /* ContainsES2020 */;
23456
+ 32 /* ContainsES2020 */;
23438
23457
  if (node.typeArguments) {
23439
23458
  node.transformFlags |= 1 /* ContainsTypeScript */;
23440
23459
  }
@@ -23463,7 +23482,7 @@ var ts;
23463
23482
  propagateChildFlags(node.expression) |
23464
23483
  propagateChildrenFlags(node.typeArguments) |
23465
23484
  propagateChildrenFlags(node.arguments) |
23466
- 16 /* ContainsES2020 */;
23485
+ 32 /* ContainsES2020 */;
23467
23486
  if (node.typeArguments) {
23468
23487
  node.transformFlags |= 1 /* ContainsTypeScript */;
23469
23488
  }
@@ -23487,12 +23506,12 @@ var ts;
23487
23506
  propagateChildFlags(node.tag) |
23488
23507
  propagateChildrenFlags(node.typeArguments) |
23489
23508
  propagateChildFlags(node.template) |
23490
- 512 /* ContainsES2015 */;
23509
+ 1024 /* ContainsES2015 */;
23491
23510
  if (node.typeArguments) {
23492
23511
  node.transformFlags |= 1 /* ContainsTypeScript */;
23493
23512
  }
23494
23513
  if (ts.hasInvalidEscape(node.template)) {
23495
- node.transformFlags |= 64 /* ContainsES2018 */;
23514
+ node.transformFlags |= 128 /* ContainsES2018 */;
23496
23515
  }
23497
23516
  return node;
23498
23517
  }
@@ -23546,14 +23565,14 @@ var ts;
23546
23565
  }
23547
23566
  if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) {
23548
23567
  if (node.asteriskToken) {
23549
- node.transformFlags |= 64 /* ContainsES2018 */;
23568
+ node.transformFlags |= 128 /* ContainsES2018 */;
23550
23569
  }
23551
23570
  else {
23552
- node.transformFlags |= 128 /* ContainsES2017 */;
23571
+ node.transformFlags |= 256 /* ContainsES2017 */;
23553
23572
  }
23554
23573
  }
23555
23574
  else if (node.asteriskToken) {
23556
- node.transformFlags |= 1024 /* ContainsGenerator */;
23575
+ node.transformFlags |= 2048 /* ContainsGenerator */;
23557
23576
  }
23558
23577
  return node;
23559
23578
  }
@@ -23577,9 +23596,9 @@ var ts;
23577
23596
  node.equalsGreaterThanToken = equalsGreaterThanToken !== null && equalsGreaterThanToken !== void 0 ? equalsGreaterThanToken : createToken(38 /* EqualsGreaterThanToken */);
23578
23597
  node.transformFlags |=
23579
23598
  propagateChildFlags(node.equalsGreaterThanToken) |
23580
- 512 /* ContainsES2015 */;
23599
+ 1024 /* ContainsES2015 */;
23581
23600
  if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) {
23582
- node.transformFlags |= 128 /* ContainsES2017 */ | 8192 /* ContainsLexicalThis */;
23601
+ node.transformFlags |= 256 /* ContainsES2017 */ | 8192 /* ContainsLexicalThis */;
23583
23602
  }
23584
23603
  return node;
23585
23604
  }
@@ -23639,8 +23658,8 @@ var ts;
23639
23658
  node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression);
23640
23659
  node.transformFlags |=
23641
23660
  propagateChildFlags(node.expression) |
23642
- 128 /* ContainsES2017 */ |
23643
- 64 /* ContainsES2018 */ |
23661
+ 256 /* ContainsES2017 */ |
23662
+ 128 /* ContainsES2018 */ |
23644
23663
  1048576 /* ContainsAwait */;
23645
23664
  return node;
23646
23665
  }
@@ -23706,35 +23725,35 @@ var ts;
23706
23725
  propagateChildFlags(node.operatorToken) |
23707
23726
  propagateChildFlags(node.right);
23708
23727
  if (operatorKind === 60 /* QuestionQuestionToken */) {
23709
- node.transformFlags |= 16 /* ContainsES2020 */;
23728
+ node.transformFlags |= 32 /* ContainsES2020 */;
23710
23729
  }
23711
23730
  else if (operatorKind === 63 /* EqualsToken */) {
23712
23731
  if (ts.isObjectLiteralExpression(node.left)) {
23713
23732
  node.transformFlags |=
23714
- 512 /* ContainsES2015 */ |
23715
- 64 /* ContainsES2018 */ |
23716
- 2048 /* ContainsDestructuringAssignment */ |
23733
+ 1024 /* ContainsES2015 */ |
23734
+ 128 /* ContainsES2018 */ |
23735
+ 4096 /* ContainsDestructuringAssignment */ |
23717
23736
  propagateAssignmentPatternFlags(node.left);
23718
23737
  }
23719
23738
  else if (ts.isArrayLiteralExpression(node.left)) {
23720
23739
  node.transformFlags |=
23721
- 512 /* ContainsES2015 */ |
23722
- 2048 /* ContainsDestructuringAssignment */ |
23740
+ 1024 /* ContainsES2015 */ |
23741
+ 4096 /* ContainsDestructuringAssignment */ |
23723
23742
  propagateAssignmentPatternFlags(node.left);
23724
23743
  }
23725
23744
  }
23726
23745
  else if (operatorKind === 42 /* AsteriskAsteriskToken */ || operatorKind === 67 /* AsteriskAsteriskEqualsToken */) {
23727
- node.transformFlags |= 256 /* ContainsES2016 */;
23746
+ node.transformFlags |= 512 /* ContainsES2016 */;
23728
23747
  }
23729
23748
  else if (ts.isLogicalOrCoalescingAssignmentOperator(operatorKind)) {
23730
- node.transformFlags |= 8 /* ContainsES2021 */;
23749
+ node.transformFlags |= 16 /* ContainsES2021 */;
23731
23750
  }
23732
23751
  return node;
23733
23752
  }
23734
23753
  function propagateAssignmentPatternFlags(node) {
23735
23754
  if (node.transformFlags & 32768 /* ContainsObjectRestOrSpread */)
23736
23755
  return 32768 /* ContainsObjectRestOrSpread */;
23737
- if (node.transformFlags & 64 /* ContainsES2018 */) {
23756
+ if (node.transformFlags & 128 /* ContainsES2018 */) {
23738
23757
  // check for nested spread assignments, otherwise '{ x: { a, ...b } = foo } = c'
23739
23758
  // will not be correctly interpreted by the ES2018 transformer
23740
23759
  for (var _i = 0, _a = ts.getElementsOfBindingOrAssignmentPattern(node); _i < _a.length; _i++) {
@@ -23744,7 +23763,7 @@ var ts;
23744
23763
  if (target.transformFlags & 32768 /* ContainsObjectRestOrSpread */) {
23745
23764
  return 32768 /* ContainsObjectRestOrSpread */;
23746
23765
  }
23747
- if (target.transformFlags & 64 /* ContainsES2018 */) {
23766
+ if (target.transformFlags & 128 /* ContainsES2018 */) {
23748
23767
  var flags_1 = propagateAssignmentPatternFlags(target);
23749
23768
  if (flags_1)
23750
23769
  return flags_1;
@@ -23796,7 +23815,7 @@ var ts;
23796
23815
  node.transformFlags |=
23797
23816
  propagateChildFlags(node.head) |
23798
23817
  propagateChildrenFlags(node.templateSpans) |
23799
- 512 /* ContainsES2015 */;
23818
+ 1024 /* ContainsES2015 */;
23800
23819
  return node;
23801
23820
  }
23802
23821
  // @api
@@ -23835,9 +23854,9 @@ var ts;
23835
23854
  node.text = text;
23836
23855
  node.rawText = rawText;
23837
23856
  node.templateFlags = templateFlags & 2048 /* TemplateLiteralLikeFlags */;
23838
- node.transformFlags |= 512 /* ContainsES2015 */;
23857
+ node.transformFlags |= 1024 /* ContainsES2015 */;
23839
23858
  if (node.templateFlags) {
23840
- node.transformFlags |= 64 /* ContainsES2018 */;
23859
+ node.transformFlags |= 128 /* ContainsES2018 */;
23841
23860
  }
23842
23861
  return node;
23843
23862
  }
@@ -23866,8 +23885,8 @@ var ts;
23866
23885
  node.transformFlags |=
23867
23886
  propagateChildFlags(node.expression) |
23868
23887
  propagateChildFlags(node.asteriskToken) |
23869
- 512 /* ContainsES2015 */ |
23870
- 64 /* ContainsES2018 */ |
23888
+ 1024 /* ContainsES2015 */ |
23889
+ 128 /* ContainsES2018 */ |
23871
23890
  524288 /* ContainsYield */;
23872
23891
  return node;
23873
23892
  }
@@ -23884,7 +23903,7 @@ var ts;
23884
23903
  node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression);
23885
23904
  node.transformFlags |=
23886
23905
  propagateChildFlags(node.expression) |
23887
- 512 /* ContainsES2015 */ |
23906
+ 1024 /* ContainsES2015 */ |
23888
23907
  16384 /* ContainsRestOrSpread */;
23889
23908
  return node;
23890
23909
  }
@@ -23897,7 +23916,7 @@ var ts;
23897
23916
  // @api
23898
23917
  function createClassExpression(decorators, modifiers, name, typeParameters, heritageClauses, members) {
23899
23918
  var node = createBaseClassLikeDeclaration(225 /* ClassExpression */, decorators, modifiers, name, typeParameters, heritageClauses, members);
23900
- node.transformFlags |= 512 /* ContainsES2015 */;
23919
+ node.transformFlags |= 1024 /* ContainsES2015 */;
23901
23920
  return node;
23902
23921
  }
23903
23922
  // @api
@@ -23923,7 +23942,7 @@ var ts;
23923
23942
  node.transformFlags |=
23924
23943
  propagateChildFlags(node.expression) |
23925
23944
  propagateChildrenFlags(node.typeArguments) |
23926
- 512 /* ContainsES2015 */;
23945
+ 1024 /* ContainsES2015 */;
23927
23946
  return node;
23928
23947
  }
23929
23948
  // @api
@@ -23994,7 +24013,7 @@ var ts;
23994
24013
  node.transformFlags |= propagateChildFlags(node.name);
23995
24014
  switch (keywordToken) {
23996
24015
  case 103 /* NewKeyword */:
23997
- node.transformFlags |= 512 /* ContainsES2015 */;
24016
+ node.transformFlags |= 1024 /* ContainsES2015 */;
23998
24017
  break;
23999
24018
  case 100 /* ImportKeyword */:
24000
24019
  node.transformFlags |= 4 /* ContainsESNext */;
@@ -24021,7 +24040,7 @@ var ts;
24021
24040
  node.transformFlags |=
24022
24041
  propagateChildFlags(node.expression) |
24023
24042
  propagateChildFlags(node.literal) |
24024
- 512 /* ContainsES2015 */;
24043
+ 1024 /* ContainsES2015 */;
24025
24044
  return node;
24026
24045
  }
24027
24046
  // @api
@@ -24034,7 +24053,7 @@ var ts;
24034
24053
  // @api
24035
24054
  function createSemicolonClassElement() {
24036
24055
  var node = createBaseNode(233 /* SemicolonClassElement */);
24037
- node.transformFlags |= 512 /* ContainsES2015 */;
24056
+ node.transformFlags |= 1024 /* ContainsES2015 */;
24038
24057
  return node;
24039
24058
  }
24040
24059
  //
@@ -24198,9 +24217,9 @@ var ts;
24198
24217
  propagateChildFlags(node.initializer) |
24199
24218
  propagateChildFlags(node.expression) |
24200
24219
  propagateChildFlags(node.statement) |
24201
- 512 /* ContainsES2015 */;
24220
+ 1024 /* ContainsES2015 */;
24202
24221
  if (awaitModifier)
24203
- node.transformFlags |= 64 /* ContainsES2018 */;
24222
+ node.transformFlags |= 128 /* ContainsES2018 */;
24204
24223
  return node;
24205
24224
  }
24206
24225
  // @api
@@ -24249,7 +24268,7 @@ var ts;
24249
24268
  // return in an ES2018 async generator must be awaited
24250
24269
  node.transformFlags |=
24251
24270
  propagateChildFlags(node.expression) |
24252
- 64 /* ContainsES2018 */ |
24271
+ 128 /* ContainsES2018 */ |
24253
24272
  2097152 /* ContainsHoistedDeclarationOrCompletion */;
24254
24273
  return node;
24255
24274
  }
@@ -24379,7 +24398,7 @@ var ts;
24379
24398
  2097152 /* ContainsHoistedDeclarationOrCompletion */;
24380
24399
  if (flags & 3 /* BlockScoped */) {
24381
24400
  node.transformFlags |=
24382
- 512 /* ContainsES2015 */ |
24401
+ 1024 /* ContainsES2015 */ |
24383
24402
  131072 /* ContainsBlockScopedBinding */;
24384
24403
  }
24385
24404
  return node;
@@ -24403,14 +24422,14 @@ var ts;
24403
24422
  2097152 /* ContainsHoistedDeclarationOrCompletion */;
24404
24423
  if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) {
24405
24424
  if (node.asteriskToken) {
24406
- node.transformFlags |= 64 /* ContainsES2018 */;
24425
+ node.transformFlags |= 128 /* ContainsES2018 */;
24407
24426
  }
24408
24427
  else {
24409
- node.transformFlags |= 128 /* ContainsES2017 */;
24428
+ node.transformFlags |= 256 /* ContainsES2017 */;
24410
24429
  }
24411
24430
  }
24412
24431
  else if (node.asteriskToken) {
24413
- node.transformFlags |= 1024 /* ContainsGenerator */;
24432
+ node.transformFlags |= 2048 /* ContainsGenerator */;
24414
24433
  }
24415
24434
  }
24416
24435
  return node;
@@ -24435,7 +24454,7 @@ var ts;
24435
24454
  node.transformFlags = 1 /* ContainsTypeScript */;
24436
24455
  }
24437
24456
  else {
24438
- node.transformFlags |= 512 /* ContainsES2015 */;
24457
+ node.transformFlags |= 1024 /* ContainsES2015 */;
24439
24458
  if (node.transformFlags & 4096 /* ContainsTypeScriptClassSyntax */) {
24440
24459
  node.transformFlags |= 1 /* ContainsTypeScript */;
24441
24460
  }
@@ -25475,7 +25494,7 @@ var ts;
25475
25494
  node.transformFlags |= propagateChildrenFlags(node.types);
25476
25495
  switch (token) {
25477
25496
  case 94 /* ExtendsKeyword */:
25478
- node.transformFlags |= 512 /* ContainsES2015 */;
25497
+ node.transformFlags |= 1024 /* ContainsES2015 */;
25479
25498
  break;
25480
25499
  case 117 /* ImplementsKeyword */:
25481
25500
  node.transformFlags |= 1 /* ContainsTypeScript */;
@@ -25506,7 +25525,7 @@ var ts;
25506
25525
  propagateChildFlags(node.variableDeclaration) |
25507
25526
  propagateChildFlags(node.block);
25508
25527
  if (!variableDeclaration)
25509
- node.transformFlags |= 32 /* ContainsES2019 */;
25528
+ node.transformFlags |= 64 /* ContainsES2019 */;
25510
25529
  return node;
25511
25530
  }
25512
25531
  // @api
@@ -25557,7 +25576,7 @@ var ts;
25557
25576
  node.objectAssignmentInitializer = objectAssignmentInitializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(objectAssignmentInitializer);
25558
25577
  node.transformFlags |=
25559
25578
  propagateChildFlags(node.objectAssignmentInitializer) |
25560
- 512 /* ContainsES2015 */;
25579
+ 1024 /* ContainsES2015 */;
25561
25580
  return node;
25562
25581
  }
25563
25582
  function finishUpdateShorthandPropertyAssignment(updated, original) {
@@ -25587,7 +25606,7 @@ var ts;
25587
25606
  node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression);
25588
25607
  node.transformFlags |=
25589
25608
  propagateChildFlags(node.expression) |
25590
- 64 /* ContainsES2018 */ |
25609
+ 128 /* ContainsES2018 */ |
25591
25610
  32768 /* ContainsObjectRestOrSpread */;
25592
25611
  return node;
25593
25612
  }
@@ -38260,6 +38279,7 @@ var ts;
38260
38279
  ["es2019", "lib.es2019.d.ts"],
38261
38280
  ["es2020", "lib.es2020.d.ts"],
38262
38281
  ["es2021", "lib.es2021.d.ts"],
38282
+ ["es2022", "lib.es2022.d.ts"],
38263
38283
  ["esnext", "lib.esnext.d.ts"],
38264
38284
  // Host only
38265
38285
  ["dom", "lib.dom.d.ts"],
@@ -38303,12 +38323,16 @@ var ts;
38303
38323
  ["es2021.string", "lib.es2021.string.d.ts"],
38304
38324
  ["es2021.weakref", "lib.es2021.weakref.d.ts"],
38305
38325
  ["es2021.intl", "lib.es2021.intl.d.ts"],
38306
- ["esnext.array", "lib.es2019.array.d.ts"],
38326
+ ["es2022.array", "lib.es2022.array.d.ts"],
38327
+ ["es2022.error", "lib.es2022.error.d.ts"],
38328
+ ["es2022.object", "lib.es2022.object.d.ts"],
38329
+ ["es2022.string", "lib.es2022.string.d.ts"],
38330
+ ["esnext.array", "lib.es2022.array.d.ts"],
38307
38331
  ["esnext.symbol", "lib.es2019.symbol.d.ts"],
38308
38332
  ["esnext.asynciterable", "lib.es2018.asynciterable.d.ts"],
38309
38333
  ["esnext.intl", "lib.esnext.intl.d.ts"],
38310
38334
  ["esnext.bigint", "lib.es2020.bigint.d.ts"],
38311
- ["esnext.string", "lib.es2021.string.d.ts"],
38335
+ ["esnext.string", "lib.es2022.string.d.ts"],
38312
38336
  ["esnext.promise", "lib.es2021.promise.d.ts"],
38313
38337
  ["esnext.weakref", "lib.es2021.weakref.d.ts"]
38314
38338
  ];
@@ -38540,6 +38564,7 @@ var ts;
38540
38564
  es2019: 6 /* ES2019 */,
38541
38565
  es2020: 7 /* ES2020 */,
38542
38566
  es2021: 8 /* ES2021 */,
38567
+ es2022: 9 /* ES2022 */,
38543
38568
  esnext: 99 /* ESNext */,
38544
38569
  })),
38545
38570
  affectsSourceFile: true,
@@ -61302,7 +61327,7 @@ var ts;
61302
61327
  var declarations = ts.concatenate(leftProp.declarations, rightProp.declarations);
61303
61328
  var flags = 4 /* Property */ | (leftProp.flags & 16777216 /* Optional */);
61304
61329
  var result = createSymbol(flags, leftProp.escapedName);
61305
- result.type = getUnionType([getTypeOfSymbol(leftProp), removeMissingOrUndefinedType(rightType)]);
61330
+ result.type = getUnionType([getTypeOfSymbol(leftProp), removeMissingOrUndefinedType(rightType)], 2 /* Subtype */);
61306
61331
  result.leftSpread = leftProp;
61307
61332
  result.rightSpread = rightProp;
61308
61333
  result.declarations = declarations;
@@ -66201,7 +66226,8 @@ var ts;
66201
66226
  (resolveName(param, param.name.escapedText, 788968 /* Type */, undefined, param.name.escapedText, /*isUse*/ true) ||
66202
66227
  param.name.originalKeywordKind && ts.isTypeNodeKind(param.name.originalKeywordKind))) {
66203
66228
  var newName = "arg" + param.parent.parameters.indexOf(param);
66204
- errorOrSuggestion(noImplicitAny, declaration, ts.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1, newName, ts.declarationNameToString(param.name));
66229
+ var typeName = ts.declarationNameToString(param.name) + (param.dotDotDotToken ? "[]" : "");
66230
+ errorOrSuggestion(noImplicitAny, declaration, ts.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1, newName, typeName);
66205
66231
  return;
66206
66232
  }
66207
66233
  diagnostic = declaration.dotDotDotToken ?
@@ -93608,7 +93634,7 @@ var ts;
93608
93634
  return ts.visitEachChild(node, visitor, context);
93609
93635
  }
93610
93636
  function visitor(node) {
93611
- if ((node.transformFlags & 128 /* ContainsES2017 */) === 0) {
93637
+ if ((node.transformFlags & 256 /* ContainsES2017 */) === 0) {
93612
93638
  return node;
93613
93639
  }
93614
93640
  switch (node.kind) {
@@ -94241,7 +94267,7 @@ var ts;
94241
94267
  * expression of an `ExpressionStatement`).
94242
94268
  */
94243
94269
  function visitorWorker(node, expressionResultIsUnused) {
94244
- if ((node.transformFlags & 64 /* ContainsES2018 */) === 0) {
94270
+ if ((node.transformFlags & 128 /* ContainsES2018 */) === 0) {
94245
94271
  return node;
94246
94272
  }
94247
94273
  switch (node.kind) {
@@ -94938,7 +94964,7 @@ var ts;
94938
94964
  return ts.visitEachChild(node, visitor, context);
94939
94965
  }
94940
94966
  function visitor(node) {
94941
- if ((node.transformFlags & 32 /* ContainsES2019 */) === 0) {
94967
+ if ((node.transformFlags & 64 /* ContainsES2019 */) === 0) {
94942
94968
  return node;
94943
94969
  }
94944
94970
  switch (node.kind) {
@@ -94970,7 +94996,7 @@ var ts;
94970
94996
  return ts.visitEachChild(node, visitor, context);
94971
94997
  }
94972
94998
  function visitor(node) {
94973
- if ((node.transformFlags & 16 /* ContainsES2020 */) === 0) {
94999
+ if ((node.transformFlags & 32 /* ContainsES2020 */) === 0) {
94974
95000
  return node;
94975
95001
  }
94976
95002
  switch (node.kind) {
@@ -95147,7 +95173,7 @@ var ts;
95147
95173
  return ts.visitEachChild(node, visitor, context);
95148
95174
  }
95149
95175
  function visitor(node) {
95150
- if ((node.transformFlags & 8 /* ContainsES2021 */) === 0) {
95176
+ if ((node.transformFlags & 16 /* ContainsES2021 */) === 0) {
95151
95177
  return node;
95152
95178
  }
95153
95179
  switch (node.kind) {
@@ -95911,7 +95937,7 @@ var ts;
95911
95937
  return ts.visitEachChild(node, visitor, context);
95912
95938
  }
95913
95939
  function visitor(node) {
95914
- if ((node.transformFlags & 256 /* ContainsES2016 */) === 0) {
95940
+ if ((node.transformFlags & 512 /* ContainsES2016 */) === 0) {
95915
95941
  return node;
95916
95942
  }
95917
95943
  switch (node.kind) {
@@ -96159,7 +96185,7 @@ var ts;
96159
96185
  || ts.isBlock(node));
96160
96186
  }
96161
96187
  function shouldVisitNode(node) {
96162
- return (node.transformFlags & 512 /* ContainsES2015 */) !== 0
96188
+ return (node.transformFlags & 1024 /* ContainsES2015 */) !== 0
96163
96189
  || convertedLoopState !== undefined
96164
96190
  || (hierarchyFacts & 8192 /* ConstructorWithCapturedSuper */ && isOrMayContainReturnCompletion(node))
96165
96191
  || (ts.isIterationStatement(node, /*lookInLabeledStatements*/ false) && shouldConvertIterationStatement(node))
@@ -99472,7 +99498,7 @@ var ts;
99472
99498
  var withBlockStack; // A stack containing `with` blocks.
99473
99499
  return ts.chainBundle(context, transformSourceFile);
99474
99500
  function transformSourceFile(node) {
99475
- if (node.isDeclarationFile || (node.transformFlags & 1024 /* ContainsGenerator */) === 0) {
99501
+ if (node.isDeclarationFile || (node.transformFlags & 2048 /* ContainsGenerator */) === 0) {
99476
99502
  return node;
99477
99503
  }
99478
99504
  var visited = ts.visitEachChild(node, visitor, context);
@@ -99495,7 +99521,7 @@ var ts;
99495
99521
  else if (ts.isFunctionLikeDeclaration(node) && node.asteriskToken) {
99496
99522
  return visitGenerator(node);
99497
99523
  }
99498
- else if (transformFlags & 1024 /* ContainsGenerator */) {
99524
+ else if (transformFlags & 2048 /* ContainsGenerator */) {
99499
99525
  return ts.visitEachChild(node, visitor, context);
99500
99526
  }
99501
99527
  else {
@@ -99551,7 +99577,7 @@ var ts;
99551
99577
  if (node.transformFlags & 524288 /* ContainsYield */) {
99552
99578
  return visitJavaScriptContainingYield(node);
99553
99579
  }
99554
- else if (node.transformFlags & (1024 /* ContainsGenerator */ | 2097152 /* ContainsHoistedDeclarationOrCompletion */)) {
99580
+ else if (node.transformFlags & (2048 /* ContainsGenerator */ | 2097152 /* ContainsHoistedDeclarationOrCompletion */)) {
99555
99581
  return ts.visitEachChild(node, visitor, context);
99556
99582
  }
99557
99583
  else {
@@ -102200,7 +102226,7 @@ var ts;
102200
102226
  function visitorWorker(node, valueIsDiscarded) {
102201
102227
  // This visitor does not need to descend into the tree if there is no dynamic import, destructuring assignment, or update expression
102202
102228
  // as export/import statements are only transformed at the top level of a file.
102203
- if (!(node.transformFlags & (4194304 /* ContainsDynamicImport */ | 2048 /* ContainsDestructuringAssignment */ | 67108864 /* ContainsUpdateExpressionForIdentifier */))) {
102229
+ if (!(node.transformFlags & (4194304 /* ContainsDynamicImport */ | 4096 /* ContainsDestructuringAssignment */ | 67108864 /* ContainsUpdateExpressionForIdentifier */))) {
102204
102230
  return node;
102205
102231
  }
102206
102232
  switch (node.kind) {
@@ -104416,7 +104442,7 @@ var ts;
104416
104442
  * @param node The node to visit.
104417
104443
  */
104418
104444
  function visitorWorker(node, valueIsDiscarded) {
104419
- if (!(node.transformFlags & (2048 /* ContainsDestructuringAssignment */ | 4194304 /* ContainsDynamicImport */ | 67108864 /* ContainsUpdateExpressionForIdentifier */))) {
104445
+ if (!(node.transformFlags & (4096 /* ContainsDestructuringAssignment */ | 4194304 /* ContainsDynamicImport */ | 67108864 /* ContainsUpdateExpressionForIdentifier */))) {
104420
104446
  return node;
104421
104447
  }
104422
104448
  switch (node.kind) {
@@ -119641,13 +119667,15 @@ var ts;
119641
119667
  if (host.fileExists(packageJsonPath)) {
119642
119668
  var packageJsonContent = JSON.parse(host.readFile(packageJsonPath));
119643
119669
  // TODO: Inject `require` or `import` condition based on the intended import mode
119644
- var fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path, packageRootPath, packageJsonContent.name, packageJsonContent.exports, ["node", "types"]) : undefined;
119645
- if (fromExports) {
119646
- var withJsExtension = !ts.hasTSFileExtension(fromExports.moduleFileToTry) ? fromExports : { moduleFileToTry: ts.removeFileExtension(fromExports.moduleFileToTry) + tryGetJSExtensionForFile(fromExports.moduleFileToTry, options) };
119647
- return __assign(__assign({}, withJsExtension), { verbatimFromExports: true });
119648
- }
119649
- if (packageJsonContent.exports) {
119650
- return { moduleFileToTry: path, blockedByExports: true };
119670
+ if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node12 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) {
119671
+ var fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path, packageRootPath, packageJsonContent.name, packageJsonContent.exports, ["node", "types"]) : undefined;
119672
+ if (fromExports) {
119673
+ var withJsExtension = !ts.hasTSFileExtension(fromExports.moduleFileToTry) ? fromExports : { moduleFileToTry: ts.removeFileExtension(fromExports.moduleFileToTry) + tryGetJSExtensionForFile(fromExports.moduleFileToTry, options) };
119674
+ return __assign(__assign({}, withJsExtension), { verbatimFromExports: true });
119675
+ }
119676
+ if (packageJsonContent.exports) {
119677
+ return { moduleFileToTry: path, blockedByExports: true };
119678
+ }
119651
119679
  }
119652
119680
  var versionPaths = packageJsonContent.typesVersions
119653
119681
  ? ts.getPackageJsonTypesVersionsPaths(packageJsonContent.typesVersions)
@@ -129423,7 +129451,7 @@ var ts;
129423
129451
  }
129424
129452
  node = ts.factory.updateModifiers(node, modifiers & (~presentModifiers));
129425
129453
  completionNodes.push(node);
129426
- }, body, isAbstract);
129454
+ }, body, 2 /* Property */, isAbstract);
129427
129455
  if (completionNodes.length) {
129428
129456
  insertText = printer.printSnippetList(1 /* MultiLine */, ts.factory.createNodeArray(completionNodes), sourceFile);
129429
129457
  }
@@ -138264,7 +138292,7 @@ var ts;
138264
138292
  if (depthRemaining === 0)
138265
138293
  return;
138266
138294
  cancellationToken.throwIfCancellationRequested();
138267
- if (ts.isDeclaration(n) || ts.isVariableStatement(n) || ts.isReturnStatement(n) || n.kind === 1 /* EndOfFileToken */) {
138295
+ if (ts.isDeclaration(n) || ts.isVariableStatement(n) || ts.isReturnStatement(n) || ts.isCallOrNewExpression(n) || n.kind === 1 /* EndOfFileToken */) {
138268
138296
  addOutliningForLeadingCommentsForNode(n, sourceFile, cancellationToken, out);
138269
138297
  }
138270
138298
  if (ts.isFunctionLike(n) && ts.isBinaryExpression(n.parent) && ts.isPropertyAccessExpression(n.parent.left)) {
@@ -146790,9 +146818,6 @@ var ts;
146790
146818
  });
146791
146819
  function makeChange(changeTracker, sourceFile, pos) {
146792
146820
  var token = ts.getTokenAtPosition(sourceFile, pos);
146793
- if (!ts.isIdentifier(token)) {
146794
- return ts.Debug.fail("add-name-to-nameless-parameter operates on identifiers, but got a " + ts.Debug.formatSyntaxKind(token.kind));
146795
- }
146796
146821
  var param = token.parent;
146797
146822
  if (!ts.isParameter(param)) {
146798
146823
  return ts.Debug.fail("Tried to add a parameter name to a non-parameter: " + ts.Debug.formatSyntaxKind(token.kind));
@@ -146800,9 +146825,10 @@ var ts;
146800
146825
  var i = param.parent.parameters.indexOf(param);
146801
146826
  ts.Debug.assert(!param.type, "Tried to add a parameter name to a parameter that already had one.");
146802
146827
  ts.Debug.assert(i > -1, "Parameter not found in parent parameter list.");
146828
+ var typeNode = ts.factory.createTypeReferenceNode(param.name, /*typeArguments*/ undefined);
146803
146829
  var replacement = ts.factory.createParameterDeclaration(
146804
- /*decorators*/ undefined, param.modifiers, param.dotDotDotToken, "arg" + i, param.questionToken, ts.factory.createTypeReferenceNode(token, /*typeArguments*/ undefined), param.initializer);
146805
- changeTracker.replaceNode(sourceFile, token, replacement);
146830
+ /*decorators*/ undefined, param.modifiers, param.dotDotDotToken, "arg" + i, param.questionToken, param.dotDotDotToken ? ts.factory.createArrayTypeNode(typeNode) : typeNode, param.initializer);
146831
+ changeTracker.replaceNode(sourceFile, param, replacement);
146806
146832
  }
146807
146833
  })(codefix = ts.codefix || (ts.codefix = {}));
146808
146834
  })(ts || (ts = {}));
@@ -152971,10 +152997,22 @@ var ts;
152971
152997
  if (usage.numberIndex) {
152972
152998
  types.push(checker.createArrayType(combineFromUsage(usage.numberIndex)));
152973
152999
  }
152974
- if (((_a = usage.properties) === null || _a === void 0 ? void 0 : _a.size) || ((_b = usage.calls) === null || _b === void 0 ? void 0 : _b.length) || ((_c = usage.constructs) === null || _c === void 0 ? void 0 : _c.length) || usage.stringIndex) {
153000
+ if (((_a = usage.properties) === null || _a === void 0 ? void 0 : _a.size) || ((_b = usage.constructs) === null || _b === void 0 ? void 0 : _b.length) || usage.stringIndex) {
152975
153001
  types.push(inferStructuralType(usage));
152976
153002
  }
152977
- types.push.apply(types, (usage.candidateTypes || []).map(function (t) { return checker.getBaseTypeOfLiteralType(t); }));
153003
+ var candidateTypes = (usage.candidateTypes || []).map(function (t) { return checker.getBaseTypeOfLiteralType(t); });
153004
+ var callsType = ((_c = usage.calls) === null || _c === void 0 ? void 0 : _c.length) ? inferStructuralType(usage) : undefined;
153005
+ if (callsType && candidateTypes) {
153006
+ types.push(checker.getUnionType(__spreadArray([callsType], candidateTypes, true), 2 /* Subtype */));
153007
+ }
153008
+ else {
153009
+ if (callsType) {
153010
+ types.push(callsType);
153011
+ }
153012
+ if (ts.length(candidateTypes)) {
153013
+ types.push.apply(types, candidateTypes);
153014
+ }
153015
+ }
152978
153016
  types.push.apply(types, inferNamedTypesFromProperties(usage));
152979
153017
  return types;
152980
153018
  }
@@ -153256,11 +153294,18 @@ var ts;
153256
153294
  };
153257
153295
  }
153258
153296
  codefix.getNoopSymbolTrackerWithResolver = getNoopSymbolTrackerWithResolver;
153297
+ var PreserveOptionalFlags;
153298
+ (function (PreserveOptionalFlags) {
153299
+ PreserveOptionalFlags[PreserveOptionalFlags["Method"] = 1] = "Method";
153300
+ PreserveOptionalFlags[PreserveOptionalFlags["Property"] = 2] = "Property";
153301
+ PreserveOptionalFlags[PreserveOptionalFlags["All"] = 3] = "All";
153302
+ })(PreserveOptionalFlags = codefix.PreserveOptionalFlags || (codefix.PreserveOptionalFlags = {}));
153259
153303
  /**
153260
153304
  * `addClassElement` will not be called if we can't figure out a representation for `symbol` in `enclosingDeclaration`.
153261
153305
  * @param body If defined, this will be the body of the member node passed to `addClassElement`. Otherwise, the body will default to a stub.
153262
153306
  */
153263
- function addNewNodeForMemberSymbol(symbol, enclosingDeclaration, sourceFile, context, preferences, importAdder, addClassElement, body, isAmbient) {
153307
+ function addNewNodeForMemberSymbol(symbol, enclosingDeclaration, sourceFile, context, preferences, importAdder, addClassElement, body, preserveOptional, isAmbient) {
153308
+ if (preserveOptional === void 0) { preserveOptional = 3 /* All */; }
153264
153309
  if (isAmbient === void 0) { isAmbient = false; }
153265
153310
  var declarations = symbol.getDeclarations();
153266
153311
  if (!(declarations && declarations.length)) {
@@ -153289,7 +153334,7 @@ var ts;
153289
153334
  }
153290
153335
  }
153291
153336
  addClassElement(ts.factory.createPropertyDeclaration(
153292
- /*decorators*/ undefined, modifiers, name, optional ? ts.factory.createToken(57 /* QuestionToken */) : undefined, typeNode,
153337
+ /*decorators*/ undefined, modifiers, name, optional && (preserveOptional & 2 /* Property */) ? ts.factory.createToken(57 /* QuestionToken */) : undefined, typeNode,
153293
153338
  /*initializer*/ undefined));
153294
153339
  break;
153295
153340
  case 171 /* GetAccessor */:
@@ -153353,13 +153398,13 @@ var ts;
153353
153398
  }
153354
153399
  else {
153355
153400
  ts.Debug.assert(declarations.length === signatures.length, "Declarations and signatures should match count");
153356
- addClassElement(createMethodImplementingSignatures(checker, context, enclosingDeclaration, signatures, name, optional, modifiers, quotePreference, body));
153401
+ addClassElement(createMethodImplementingSignatures(checker, context, enclosingDeclaration, signatures, name, optional && !!(preserveOptional & 1 /* Method */), modifiers, quotePreference, body));
153357
153402
  }
153358
153403
  }
153359
153404
  break;
153360
153405
  }
153361
153406
  function outputMethod(quotePreference, signature, modifiers, name, body) {
153362
- var method = createSignatureDeclarationFromSignature(168 /* MethodDeclaration */, context, quotePreference, signature, body, name, modifiers, optional, enclosingDeclaration, importAdder);
153407
+ var method = createSignatureDeclarationFromSignature(168 /* MethodDeclaration */, context, quotePreference, signature, body, name, modifiers, optional && !!(preserveOptional & 1 /* Method */), enclosingDeclaration, importAdder);
153363
153408
  if (method)
153364
153409
  addClassElement(method);
153365
153410
  }
@@ -155798,11 +155843,12 @@ var ts;
155798
155843
  return node.expression;
155799
155844
  }
155800
155845
  }
155801
- else if (ts.isVariableStatement(node)) {
155846
+ else if (ts.isVariableStatement(node) || ts.isVariableDeclarationList(node)) {
155847
+ var declarations_5 = ts.isVariableStatement(node) ? node.declarationList.declarations : node.declarations;
155802
155848
  var numInitializers = 0;
155803
155849
  var lastInitializer = void 0;
155804
- for (var _i = 0, _a = node.declarationList.declarations; _i < _a.length; _i++) {
155805
- var declaration = _a[_i];
155850
+ for (var _i = 0, declarations_4 = declarations_5; _i < declarations_4.length; _i++) {
155851
+ var declaration = declarations_4[_i];
155806
155852
  if (declaration.initializer) {
155807
155853
  numInitializers++;
155808
155854
  lastInitializer = declaration.initializer;
@@ -159872,8 +159918,8 @@ var ts;
159872
159918
  var doc = ts.JsDoc.getJsDocCommentsFromDeclarations(declarations, checker);
159873
159919
  if (checker && (doc.length === 0 || declarations.some(hasJSDocInheritDocTag))) {
159874
159920
  var seenSymbols_1 = new ts.Set();
159875
- for (var _i = 0, declarations_4 = declarations; _i < declarations_4.length; _i++) {
159876
- var declaration = declarations_4[_i];
159921
+ for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) {
159922
+ var declaration = declarations_6[_i];
159877
159923
  var inheritedDocs = findBaseOfDeclaration(checker, declaration, function (symbol) {
159878
159924
  if (!seenSymbols_1.has(symbol)) {
159879
159925
  seenSymbols_1.add(symbol);
@@ -163693,6 +163739,7 @@ var ts;
163693
163739
  ScriptTarget["ES2019"] = "ES2019";
163694
163740
  ScriptTarget["ES2020"] = "ES2020";
163695
163741
  ScriptTarget["ES2021"] = "ES2021";
163742
+ ScriptTarget["ES2022"] = "ES2022";
163696
163743
  ScriptTarget["ESNext"] = "ESNext";
163697
163744
  })(ScriptTarget = protocol.ScriptTarget || (protocol.ScriptTarget = {}));
163698
163745
  var ClassificationType;