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.
package/lib/tsserver.js CHANGED
@@ -100,7 +100,7 @@ var ts;
100
100
  // The following is baselined as a literal template type without intervention
101
101
  /** The version of the TypeScript compiler release */
102
102
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
103
- ts.version = ts.versionMajorMinor + ".0-dev.20211103";
103
+ ts.version = ts.versionMajorMinor + ".0-dev.20211107";
104
104
  /* @internal */
105
105
  var Comparison;
106
106
  (function (Comparison) {
@@ -5223,6 +5223,7 @@ var ts;
5223
5223
  ScriptTarget[ScriptTarget["ES2019"] = 6] = "ES2019";
5224
5224
  ScriptTarget[ScriptTarget["ES2020"] = 7] = "ES2020";
5225
5225
  ScriptTarget[ScriptTarget["ES2021"] = 8] = "ES2021";
5226
+ ScriptTarget[ScriptTarget["ES2022"] = 9] = "ES2022";
5226
5227
  ScriptTarget[ScriptTarget["ESNext"] = 99] = "ESNext";
5227
5228
  ScriptTarget[ScriptTarget["JSON"] = 100] = "JSON";
5228
5229
  ScriptTarget[ScriptTarget["Latest"] = 99] = "Latest";
@@ -5391,15 +5392,16 @@ var ts;
5391
5392
  TransformFlags[TransformFlags["ContainsTypeScript"] = 1] = "ContainsTypeScript";
5392
5393
  TransformFlags[TransformFlags["ContainsJsx"] = 2] = "ContainsJsx";
5393
5394
  TransformFlags[TransformFlags["ContainsESNext"] = 4] = "ContainsESNext";
5394
- TransformFlags[TransformFlags["ContainsES2021"] = 8] = "ContainsES2021";
5395
- TransformFlags[TransformFlags["ContainsES2020"] = 16] = "ContainsES2020";
5396
- TransformFlags[TransformFlags["ContainsES2019"] = 32] = "ContainsES2019";
5397
- TransformFlags[TransformFlags["ContainsES2018"] = 64] = "ContainsES2018";
5398
- TransformFlags[TransformFlags["ContainsES2017"] = 128] = "ContainsES2017";
5399
- TransformFlags[TransformFlags["ContainsES2016"] = 256] = "ContainsES2016";
5400
- TransformFlags[TransformFlags["ContainsES2015"] = 512] = "ContainsES2015";
5401
- TransformFlags[TransformFlags["ContainsGenerator"] = 1024] = "ContainsGenerator";
5402
- TransformFlags[TransformFlags["ContainsDestructuringAssignment"] = 2048] = "ContainsDestructuringAssignment";
5395
+ TransformFlags[TransformFlags["ContainsES2022"] = 8] = "ContainsES2022";
5396
+ TransformFlags[TransformFlags["ContainsES2021"] = 16] = "ContainsES2021";
5397
+ TransformFlags[TransformFlags["ContainsES2020"] = 32] = "ContainsES2020";
5398
+ TransformFlags[TransformFlags["ContainsES2019"] = 64] = "ContainsES2019";
5399
+ TransformFlags[TransformFlags["ContainsES2018"] = 128] = "ContainsES2018";
5400
+ TransformFlags[TransformFlags["ContainsES2017"] = 256] = "ContainsES2017";
5401
+ TransformFlags[TransformFlags["ContainsES2016"] = 512] = "ContainsES2016";
5402
+ TransformFlags[TransformFlags["ContainsES2015"] = 1024] = "ContainsES2015";
5403
+ TransformFlags[TransformFlags["ContainsGenerator"] = 2048] = "ContainsGenerator";
5404
+ TransformFlags[TransformFlags["ContainsDestructuringAssignment"] = 4096] = "ContainsDestructuringAssignment";
5403
5405
  // Markers
5404
5406
  // - Flags used to indicate that a subtree contains a specific transformation.
5405
5407
  TransformFlags[TransformFlags["ContainsTypeScriptClassSyntax"] = 4096] = "ContainsTypeScriptClassSyntax";
@@ -5426,15 +5428,16 @@ var ts;
5426
5428
  TransformFlags[TransformFlags["AssertTypeScript"] = 1] = "AssertTypeScript";
5427
5429
  TransformFlags[TransformFlags["AssertJsx"] = 2] = "AssertJsx";
5428
5430
  TransformFlags[TransformFlags["AssertESNext"] = 4] = "AssertESNext";
5429
- TransformFlags[TransformFlags["AssertES2021"] = 8] = "AssertES2021";
5430
- TransformFlags[TransformFlags["AssertES2020"] = 16] = "AssertES2020";
5431
- TransformFlags[TransformFlags["AssertES2019"] = 32] = "AssertES2019";
5432
- TransformFlags[TransformFlags["AssertES2018"] = 64] = "AssertES2018";
5433
- TransformFlags[TransformFlags["AssertES2017"] = 128] = "AssertES2017";
5434
- TransformFlags[TransformFlags["AssertES2016"] = 256] = "AssertES2016";
5435
- TransformFlags[TransformFlags["AssertES2015"] = 512] = "AssertES2015";
5436
- TransformFlags[TransformFlags["AssertGenerator"] = 1024] = "AssertGenerator";
5437
- TransformFlags[TransformFlags["AssertDestructuringAssignment"] = 2048] = "AssertDestructuringAssignment";
5431
+ TransformFlags[TransformFlags["AssertES2022"] = 8] = "AssertES2022";
5432
+ TransformFlags[TransformFlags["AssertES2021"] = 16] = "AssertES2021";
5433
+ TransformFlags[TransformFlags["AssertES2020"] = 32] = "AssertES2020";
5434
+ TransformFlags[TransformFlags["AssertES2019"] = 64] = "AssertES2019";
5435
+ TransformFlags[TransformFlags["AssertES2018"] = 128] = "AssertES2018";
5436
+ TransformFlags[TransformFlags["AssertES2017"] = 256] = "AssertES2017";
5437
+ TransformFlags[TransformFlags["AssertES2016"] = 512] = "AssertES2016";
5438
+ TransformFlags[TransformFlags["AssertES2015"] = 1024] = "AssertES2015";
5439
+ TransformFlags[TransformFlags["AssertGenerator"] = 2048] = "AssertGenerator";
5440
+ TransformFlags[TransformFlags["AssertDestructuringAssignment"] = 4096] = "AssertDestructuringAssignment";
5438
5441
  // Scope Exclusions
5439
5442
  // - Bitmasks that exclude flags from propagating out of a specific context
5440
5443
  // into the subtree flags of their container.
@@ -11982,6 +11985,8 @@ var ts;
11982
11985
  switch (ts.getEmitScriptTarget(options)) {
11983
11986
  case 99 /* ESNext */:
11984
11987
  return "lib.esnext.full.d.ts";
11988
+ case 9 /* ES2022 */:
11989
+ return "lib.es2022.full.d.ts";
11985
11990
  case 8 /* ES2021 */:
11986
11991
  return "lib.es2021.full.d.ts";
11987
11992
  case 7 /* ES2020 */:
@@ -14448,6 +14453,7 @@ var ts;
14448
14453
  AsyncIterableIterator: ts.emptyArray,
14449
14454
  AsyncGenerator: ts.emptyArray,
14450
14455
  AsyncGeneratorFunction: ts.emptyArray,
14456
+ NumberFormat: ["formatToParts"]
14451
14457
  },
14452
14458
  es2019: {
14453
14459
  Array: ["flat", "flatMap"],
@@ -14469,8 +14475,21 @@ var ts;
14469
14475
  PromiseConstructor: ["any"],
14470
14476
  String: ["replaceAll"]
14471
14477
  },
14472
- esnext: {
14473
- NumberFormat: ["formatToParts"]
14478
+ es2022: {
14479
+ Array: ["at"],
14480
+ String: ["at"],
14481
+ Int8Array: ["at"],
14482
+ Uint8Array: ["at"],
14483
+ Uint8ClampedArray: ["at"],
14484
+ Int16Array: ["at"],
14485
+ Uint16Array: ["at"],
14486
+ Int32Array: ["at"],
14487
+ Uint32Array: ["at"],
14488
+ Float32Array: ["at"],
14489
+ Float64Array: ["at"],
14490
+ BigInt64Array: ["at"],
14491
+ BigUint64Array: ["at"],
14492
+ ObjectConstructor: ["hasOwn"]
14474
14493
  }
14475
14494
  };
14476
14495
  }
@@ -22010,7 +22029,7 @@ var ts;
22010
22029
  var node = createBaseLiteral(8 /* NumericLiteral */, typeof value === "number" ? value + "" : value);
22011
22030
  node.numericLiteralFlags = numericLiteralFlags;
22012
22031
  if (numericLiteralFlags & 384 /* BinaryOrOctalSpecifier */)
22013
- node.transformFlags |= 512 /* ContainsES2015 */;
22032
+ node.transformFlags |= 1024 /* ContainsES2015 */;
22014
22033
  return node;
22015
22034
  }
22016
22035
  // @api
@@ -22029,7 +22048,7 @@ var ts;
22029
22048
  var node = createBaseStringLiteral(text, isSingleQuote);
22030
22049
  node.hasExtendedUnicodeEscape = hasExtendedUnicodeEscape;
22031
22050
  if (hasExtendedUnicodeEscape)
22032
- node.transformFlags |= 512 /* ContainsES2015 */;
22051
+ node.transformFlags |= 1024 /* ContainsES2015 */;
22033
22052
  return node;
22034
22053
  }
22035
22054
  // @api
@@ -22157,8 +22176,8 @@ var ts;
22157
22176
  case 131 /* AsyncKeyword */:
22158
22177
  // 'async' modifier is ES2017 (async functions) or ES2018 (async generators)
22159
22178
  transformFlags =
22160
- 128 /* ContainsES2017 */ |
22161
- 64 /* ContainsES2018 */;
22179
+ 256 /* ContainsES2017 */ |
22180
+ 128 /* ContainsES2018 */;
22162
22181
  break;
22163
22182
  case 123 /* PublicKeyword */:
22164
22183
  case 121 /* PrivateKeyword */:
@@ -22182,10 +22201,10 @@ var ts;
22182
22201
  transformFlags = 1 /* ContainsTypeScript */;
22183
22202
  break;
22184
22203
  case 106 /* SuperKeyword */:
22185
- transformFlags = 512 /* ContainsES2015 */ | 33554432 /* ContainsLexicalSuper */;
22204
+ transformFlags = 1024 /* ContainsES2015 */ | 33554432 /* ContainsLexicalSuper */;
22186
22205
  break;
22187
22206
  case 124 /* StaticKeyword */:
22188
- transformFlags = 512 /* ContainsES2015 */;
22207
+ transformFlags = 1024 /* ContainsES2015 */;
22189
22208
  break;
22190
22209
  case 108 /* ThisKeyword */:
22191
22210
  // 'this' indicates a lexical 'this'
@@ -22282,7 +22301,7 @@ var ts;
22282
22301
  node.expression = parenthesizerRules().parenthesizeExpressionOfComputedPropertyName(expression);
22283
22302
  node.transformFlags |=
22284
22303
  propagateChildFlags(node.expression) |
22285
- 512 /* ContainsES2015 */ |
22304
+ 1024 /* ContainsES2015 */ |
22286
22305
  65536 /* ContainsComputedPropertyName */;
22287
22306
  return node;
22288
22307
  }
@@ -22330,7 +22349,7 @@ var ts;
22330
22349
  if (ts.modifiersToFlags(node.modifiers) & 16476 /* ParameterPropertyModifier */)
22331
22350
  node.transformFlags |= 4096 /* ContainsTypeScriptClassSyntax */;
22332
22351
  if (initializer || dotDotDotToken)
22333
- node.transformFlags |= 512 /* ContainsES2015 */;
22352
+ node.transformFlags |= 1024 /* ContainsES2015 */;
22334
22353
  }
22335
22354
  return node;
22336
22355
  }
@@ -22439,20 +22458,20 @@ var ts;
22439
22458
  node.transformFlags |=
22440
22459
  propagateChildFlags(node.asteriskToken) |
22441
22460
  propagateChildFlags(node.questionToken) |
22442
- 512 /* ContainsES2015 */;
22461
+ 1024 /* ContainsES2015 */;
22443
22462
  if (questionToken) {
22444
22463
  node.transformFlags |= 1 /* ContainsTypeScript */;
22445
22464
  }
22446
22465
  if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) {
22447
22466
  if (asteriskToken) {
22448
- node.transformFlags |= 64 /* ContainsES2018 */;
22467
+ node.transformFlags |= 128 /* ContainsES2018 */;
22449
22468
  }
22450
22469
  else {
22451
- node.transformFlags |= 128 /* ContainsES2017 */;
22470
+ node.transformFlags |= 256 /* ContainsES2017 */;
22452
22471
  }
22453
22472
  }
22454
22473
  else if (asteriskToken) {
22455
- node.transformFlags |= 1024 /* ContainsGenerator */;
22474
+ node.transformFlags |= 2048 /* ContainsGenerator */;
22456
22475
  }
22457
22476
  return node;
22458
22477
  }
@@ -22493,7 +22512,7 @@ var ts;
22493
22512
  /*name*/ undefined,
22494
22513
  /*typeParameters*/ undefined, parameters,
22495
22514
  /*type*/ undefined, body);
22496
- node.transformFlags |= 512 /* ContainsES2015 */;
22515
+ node.transformFlags |= 1024 /* ContainsES2015 */;
22497
22516
  return node;
22498
22517
  }
22499
22518
  // @api
@@ -22987,11 +23006,11 @@ var ts;
22987
23006
  node.elements = createNodeArray(elements);
22988
23007
  node.transformFlags |=
22989
23008
  propagateChildrenFlags(node.elements) |
22990
- 512 /* ContainsES2015 */ |
23009
+ 1024 /* ContainsES2015 */ |
22991
23010
  262144 /* ContainsBindingPattern */;
22992
23011
  if (node.transformFlags & 16384 /* ContainsRestOrSpread */) {
22993
23012
  node.transformFlags |=
22994
- 64 /* ContainsES2018 */ |
23013
+ 128 /* ContainsES2018 */ |
22995
23014
  32768 /* ContainsObjectRestOrSpread */;
22996
23015
  }
22997
23016
  return node;
@@ -23008,7 +23027,7 @@ var ts;
23008
23027
  node.elements = createNodeArray(elements);
23009
23028
  node.transformFlags |=
23010
23029
  propagateChildrenFlags(node.elements) |
23011
- 512 /* ContainsES2015 */ |
23030
+ 1024 /* ContainsES2015 */ |
23012
23031
  262144 /* ContainsBindingPattern */;
23013
23032
  return node;
23014
23033
  }
@@ -23027,7 +23046,7 @@ var ts;
23027
23046
  node.dotDotDotToken = dotDotDotToken;
23028
23047
  node.transformFlags |=
23029
23048
  propagateChildFlags(node.dotDotDotToken) |
23030
- 512 /* ContainsES2015 */;
23049
+ 1024 /* ContainsES2015 */;
23031
23050
  if (node.propertyName) {
23032
23051
  node.transformFlags |= ts.isIdentifier(node.propertyName) ?
23033
23052
  propagateIdentifierNameFlags(node.propertyName) :
@@ -23101,8 +23120,8 @@ var ts;
23101
23120
  // super method calls require a lexical 'this'
23102
23121
  // super method calls require 'super' hoisting in ES2017 and ES2018 async functions and async generators
23103
23122
  node.transformFlags |=
23104
- 128 /* ContainsES2017 */ |
23105
- 64 /* ContainsES2018 */;
23123
+ 256 /* ContainsES2017 */ |
23124
+ 128 /* ContainsES2018 */;
23106
23125
  }
23107
23126
  return node;
23108
23127
  }
@@ -23124,7 +23143,7 @@ var ts;
23124
23143
  node.questionDotToken = questionDotToken;
23125
23144
  node.name = asName(name);
23126
23145
  node.transformFlags |=
23127
- 16 /* ContainsES2020 */ |
23146
+ 32 /* ContainsES2020 */ |
23128
23147
  propagateChildFlags(node.expression) |
23129
23148
  propagateChildFlags(node.questionDotToken) |
23130
23149
  (ts.isIdentifier(node.name) ?
@@ -23155,8 +23174,8 @@ var ts;
23155
23174
  // super method calls require a lexical 'this'
23156
23175
  // super method calls require 'super' hoisting in ES2017 and ES2018 async functions and async generators
23157
23176
  node.transformFlags |=
23158
- 128 /* ContainsES2017 */ |
23159
- 64 /* ContainsES2018 */;
23177
+ 256 /* ContainsES2017 */ |
23178
+ 128 /* ContainsES2018 */;
23160
23179
  }
23161
23180
  return node;
23162
23181
  }
@@ -23181,7 +23200,7 @@ var ts;
23181
23200
  propagateChildFlags(node.expression) |
23182
23201
  propagateChildFlags(node.questionDotToken) |
23183
23202
  propagateChildFlags(node.argumentExpression) |
23184
- 16 /* ContainsES2020 */;
23203
+ 32 /* ContainsES2020 */;
23185
23204
  return node;
23186
23205
  }
23187
23206
  // @api
@@ -23240,7 +23259,7 @@ var ts;
23240
23259
  propagateChildFlags(node.questionDotToken) |
23241
23260
  propagateChildrenFlags(node.typeArguments) |
23242
23261
  propagateChildrenFlags(node.arguments) |
23243
- 16 /* ContainsES2020 */;
23262
+ 32 /* ContainsES2020 */;
23244
23263
  if (node.typeArguments) {
23245
23264
  node.transformFlags |= 1 /* ContainsTypeScript */;
23246
23265
  }
@@ -23269,7 +23288,7 @@ var ts;
23269
23288
  propagateChildFlags(node.expression) |
23270
23289
  propagateChildrenFlags(node.typeArguments) |
23271
23290
  propagateChildrenFlags(node.arguments) |
23272
- 16 /* ContainsES2020 */;
23291
+ 32 /* ContainsES2020 */;
23273
23292
  if (node.typeArguments) {
23274
23293
  node.transformFlags |= 1 /* ContainsTypeScript */;
23275
23294
  }
@@ -23293,12 +23312,12 @@ var ts;
23293
23312
  propagateChildFlags(node.tag) |
23294
23313
  propagateChildrenFlags(node.typeArguments) |
23295
23314
  propagateChildFlags(node.template) |
23296
- 512 /* ContainsES2015 */;
23315
+ 1024 /* ContainsES2015 */;
23297
23316
  if (node.typeArguments) {
23298
23317
  node.transformFlags |= 1 /* ContainsTypeScript */;
23299
23318
  }
23300
23319
  if (ts.hasInvalidEscape(node.template)) {
23301
- node.transformFlags |= 64 /* ContainsES2018 */;
23320
+ node.transformFlags |= 128 /* ContainsES2018 */;
23302
23321
  }
23303
23322
  return node;
23304
23323
  }
@@ -23352,14 +23371,14 @@ var ts;
23352
23371
  }
23353
23372
  if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) {
23354
23373
  if (node.asteriskToken) {
23355
- node.transformFlags |= 64 /* ContainsES2018 */;
23374
+ node.transformFlags |= 128 /* ContainsES2018 */;
23356
23375
  }
23357
23376
  else {
23358
- node.transformFlags |= 128 /* ContainsES2017 */;
23377
+ node.transformFlags |= 256 /* ContainsES2017 */;
23359
23378
  }
23360
23379
  }
23361
23380
  else if (node.asteriskToken) {
23362
- node.transformFlags |= 1024 /* ContainsGenerator */;
23381
+ node.transformFlags |= 2048 /* ContainsGenerator */;
23363
23382
  }
23364
23383
  return node;
23365
23384
  }
@@ -23383,9 +23402,9 @@ var ts;
23383
23402
  node.equalsGreaterThanToken = equalsGreaterThanToken !== null && equalsGreaterThanToken !== void 0 ? equalsGreaterThanToken : createToken(38 /* EqualsGreaterThanToken */);
23384
23403
  node.transformFlags |=
23385
23404
  propagateChildFlags(node.equalsGreaterThanToken) |
23386
- 512 /* ContainsES2015 */;
23405
+ 1024 /* ContainsES2015 */;
23387
23406
  if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) {
23388
- node.transformFlags |= 128 /* ContainsES2017 */ | 8192 /* ContainsLexicalThis */;
23407
+ node.transformFlags |= 256 /* ContainsES2017 */ | 8192 /* ContainsLexicalThis */;
23389
23408
  }
23390
23409
  return node;
23391
23410
  }
@@ -23445,8 +23464,8 @@ var ts;
23445
23464
  node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression);
23446
23465
  node.transformFlags |=
23447
23466
  propagateChildFlags(node.expression) |
23448
- 128 /* ContainsES2017 */ |
23449
- 64 /* ContainsES2018 */ |
23467
+ 256 /* ContainsES2017 */ |
23468
+ 128 /* ContainsES2018 */ |
23450
23469
  1048576 /* ContainsAwait */;
23451
23470
  return node;
23452
23471
  }
@@ -23512,35 +23531,35 @@ var ts;
23512
23531
  propagateChildFlags(node.operatorToken) |
23513
23532
  propagateChildFlags(node.right);
23514
23533
  if (operatorKind === 60 /* QuestionQuestionToken */) {
23515
- node.transformFlags |= 16 /* ContainsES2020 */;
23534
+ node.transformFlags |= 32 /* ContainsES2020 */;
23516
23535
  }
23517
23536
  else if (operatorKind === 63 /* EqualsToken */) {
23518
23537
  if (ts.isObjectLiteralExpression(node.left)) {
23519
23538
  node.transformFlags |=
23520
- 512 /* ContainsES2015 */ |
23521
- 64 /* ContainsES2018 */ |
23522
- 2048 /* ContainsDestructuringAssignment */ |
23539
+ 1024 /* ContainsES2015 */ |
23540
+ 128 /* ContainsES2018 */ |
23541
+ 4096 /* ContainsDestructuringAssignment */ |
23523
23542
  propagateAssignmentPatternFlags(node.left);
23524
23543
  }
23525
23544
  else if (ts.isArrayLiteralExpression(node.left)) {
23526
23545
  node.transformFlags |=
23527
- 512 /* ContainsES2015 */ |
23528
- 2048 /* ContainsDestructuringAssignment */ |
23546
+ 1024 /* ContainsES2015 */ |
23547
+ 4096 /* ContainsDestructuringAssignment */ |
23529
23548
  propagateAssignmentPatternFlags(node.left);
23530
23549
  }
23531
23550
  }
23532
23551
  else if (operatorKind === 42 /* AsteriskAsteriskToken */ || operatorKind === 67 /* AsteriskAsteriskEqualsToken */) {
23533
- node.transformFlags |= 256 /* ContainsES2016 */;
23552
+ node.transformFlags |= 512 /* ContainsES2016 */;
23534
23553
  }
23535
23554
  else if (ts.isLogicalOrCoalescingAssignmentOperator(operatorKind)) {
23536
- node.transformFlags |= 8 /* ContainsES2021 */;
23555
+ node.transformFlags |= 16 /* ContainsES2021 */;
23537
23556
  }
23538
23557
  return node;
23539
23558
  }
23540
23559
  function propagateAssignmentPatternFlags(node) {
23541
23560
  if (node.transformFlags & 32768 /* ContainsObjectRestOrSpread */)
23542
23561
  return 32768 /* ContainsObjectRestOrSpread */;
23543
- if (node.transformFlags & 64 /* ContainsES2018 */) {
23562
+ if (node.transformFlags & 128 /* ContainsES2018 */) {
23544
23563
  // check for nested spread assignments, otherwise '{ x: { a, ...b } = foo } = c'
23545
23564
  // will not be correctly interpreted by the ES2018 transformer
23546
23565
  for (var _i = 0, _a = ts.getElementsOfBindingOrAssignmentPattern(node); _i < _a.length; _i++) {
@@ -23550,7 +23569,7 @@ var ts;
23550
23569
  if (target.transformFlags & 32768 /* ContainsObjectRestOrSpread */) {
23551
23570
  return 32768 /* ContainsObjectRestOrSpread */;
23552
23571
  }
23553
- if (target.transformFlags & 64 /* ContainsES2018 */) {
23572
+ if (target.transformFlags & 128 /* ContainsES2018 */) {
23554
23573
  var flags_1 = propagateAssignmentPatternFlags(target);
23555
23574
  if (flags_1)
23556
23575
  return flags_1;
@@ -23602,7 +23621,7 @@ var ts;
23602
23621
  node.transformFlags |=
23603
23622
  propagateChildFlags(node.head) |
23604
23623
  propagateChildrenFlags(node.templateSpans) |
23605
- 512 /* ContainsES2015 */;
23624
+ 1024 /* ContainsES2015 */;
23606
23625
  return node;
23607
23626
  }
23608
23627
  // @api
@@ -23641,9 +23660,9 @@ var ts;
23641
23660
  node.text = text;
23642
23661
  node.rawText = rawText;
23643
23662
  node.templateFlags = templateFlags & 2048 /* TemplateLiteralLikeFlags */;
23644
- node.transformFlags |= 512 /* ContainsES2015 */;
23663
+ node.transformFlags |= 1024 /* ContainsES2015 */;
23645
23664
  if (node.templateFlags) {
23646
- node.transformFlags |= 64 /* ContainsES2018 */;
23665
+ node.transformFlags |= 128 /* ContainsES2018 */;
23647
23666
  }
23648
23667
  return node;
23649
23668
  }
@@ -23672,8 +23691,8 @@ var ts;
23672
23691
  node.transformFlags |=
23673
23692
  propagateChildFlags(node.expression) |
23674
23693
  propagateChildFlags(node.asteriskToken) |
23675
- 512 /* ContainsES2015 */ |
23676
- 64 /* ContainsES2018 */ |
23694
+ 1024 /* ContainsES2015 */ |
23695
+ 128 /* ContainsES2018 */ |
23677
23696
  524288 /* ContainsYield */;
23678
23697
  return node;
23679
23698
  }
@@ -23690,7 +23709,7 @@ var ts;
23690
23709
  node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression);
23691
23710
  node.transformFlags |=
23692
23711
  propagateChildFlags(node.expression) |
23693
- 512 /* ContainsES2015 */ |
23712
+ 1024 /* ContainsES2015 */ |
23694
23713
  16384 /* ContainsRestOrSpread */;
23695
23714
  return node;
23696
23715
  }
@@ -23703,7 +23722,7 @@ var ts;
23703
23722
  // @api
23704
23723
  function createClassExpression(decorators, modifiers, name, typeParameters, heritageClauses, members) {
23705
23724
  var node = createBaseClassLikeDeclaration(225 /* ClassExpression */, decorators, modifiers, name, typeParameters, heritageClauses, members);
23706
- node.transformFlags |= 512 /* ContainsES2015 */;
23725
+ node.transformFlags |= 1024 /* ContainsES2015 */;
23707
23726
  return node;
23708
23727
  }
23709
23728
  // @api
@@ -23729,7 +23748,7 @@ var ts;
23729
23748
  node.transformFlags |=
23730
23749
  propagateChildFlags(node.expression) |
23731
23750
  propagateChildrenFlags(node.typeArguments) |
23732
- 512 /* ContainsES2015 */;
23751
+ 1024 /* ContainsES2015 */;
23733
23752
  return node;
23734
23753
  }
23735
23754
  // @api
@@ -23800,7 +23819,7 @@ var ts;
23800
23819
  node.transformFlags |= propagateChildFlags(node.name);
23801
23820
  switch (keywordToken) {
23802
23821
  case 103 /* NewKeyword */:
23803
- node.transformFlags |= 512 /* ContainsES2015 */;
23822
+ node.transformFlags |= 1024 /* ContainsES2015 */;
23804
23823
  break;
23805
23824
  case 100 /* ImportKeyword */:
23806
23825
  node.transformFlags |= 4 /* ContainsESNext */;
@@ -23827,7 +23846,7 @@ var ts;
23827
23846
  node.transformFlags |=
23828
23847
  propagateChildFlags(node.expression) |
23829
23848
  propagateChildFlags(node.literal) |
23830
- 512 /* ContainsES2015 */;
23849
+ 1024 /* ContainsES2015 */;
23831
23850
  return node;
23832
23851
  }
23833
23852
  // @api
@@ -23840,7 +23859,7 @@ var ts;
23840
23859
  // @api
23841
23860
  function createSemicolonClassElement() {
23842
23861
  var node = createBaseNode(233 /* SemicolonClassElement */);
23843
- node.transformFlags |= 512 /* ContainsES2015 */;
23862
+ node.transformFlags |= 1024 /* ContainsES2015 */;
23844
23863
  return node;
23845
23864
  }
23846
23865
  //
@@ -24004,9 +24023,9 @@ var ts;
24004
24023
  propagateChildFlags(node.initializer) |
24005
24024
  propagateChildFlags(node.expression) |
24006
24025
  propagateChildFlags(node.statement) |
24007
- 512 /* ContainsES2015 */;
24026
+ 1024 /* ContainsES2015 */;
24008
24027
  if (awaitModifier)
24009
- node.transformFlags |= 64 /* ContainsES2018 */;
24028
+ node.transformFlags |= 128 /* ContainsES2018 */;
24010
24029
  return node;
24011
24030
  }
24012
24031
  // @api
@@ -24055,7 +24074,7 @@ var ts;
24055
24074
  // return in an ES2018 async generator must be awaited
24056
24075
  node.transformFlags |=
24057
24076
  propagateChildFlags(node.expression) |
24058
- 64 /* ContainsES2018 */ |
24077
+ 128 /* ContainsES2018 */ |
24059
24078
  2097152 /* ContainsHoistedDeclarationOrCompletion */;
24060
24079
  return node;
24061
24080
  }
@@ -24185,7 +24204,7 @@ var ts;
24185
24204
  2097152 /* ContainsHoistedDeclarationOrCompletion */;
24186
24205
  if (flags & 3 /* BlockScoped */) {
24187
24206
  node.transformFlags |=
24188
- 512 /* ContainsES2015 */ |
24207
+ 1024 /* ContainsES2015 */ |
24189
24208
  131072 /* ContainsBlockScopedBinding */;
24190
24209
  }
24191
24210
  return node;
@@ -24209,14 +24228,14 @@ var ts;
24209
24228
  2097152 /* ContainsHoistedDeclarationOrCompletion */;
24210
24229
  if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) {
24211
24230
  if (node.asteriskToken) {
24212
- node.transformFlags |= 64 /* ContainsES2018 */;
24231
+ node.transformFlags |= 128 /* ContainsES2018 */;
24213
24232
  }
24214
24233
  else {
24215
- node.transformFlags |= 128 /* ContainsES2017 */;
24234
+ node.transformFlags |= 256 /* ContainsES2017 */;
24216
24235
  }
24217
24236
  }
24218
24237
  else if (node.asteriskToken) {
24219
- node.transformFlags |= 1024 /* ContainsGenerator */;
24238
+ node.transformFlags |= 2048 /* ContainsGenerator */;
24220
24239
  }
24221
24240
  }
24222
24241
  return node;
@@ -24241,7 +24260,7 @@ var ts;
24241
24260
  node.transformFlags = 1 /* ContainsTypeScript */;
24242
24261
  }
24243
24262
  else {
24244
- node.transformFlags |= 512 /* ContainsES2015 */;
24263
+ node.transformFlags |= 1024 /* ContainsES2015 */;
24245
24264
  if (node.transformFlags & 4096 /* ContainsTypeScriptClassSyntax */) {
24246
24265
  node.transformFlags |= 1 /* ContainsTypeScript */;
24247
24266
  }
@@ -25281,7 +25300,7 @@ var ts;
25281
25300
  node.transformFlags |= propagateChildrenFlags(node.types);
25282
25301
  switch (token) {
25283
25302
  case 94 /* ExtendsKeyword */:
25284
- node.transformFlags |= 512 /* ContainsES2015 */;
25303
+ node.transformFlags |= 1024 /* ContainsES2015 */;
25285
25304
  break;
25286
25305
  case 117 /* ImplementsKeyword */:
25287
25306
  node.transformFlags |= 1 /* ContainsTypeScript */;
@@ -25312,7 +25331,7 @@ var ts;
25312
25331
  propagateChildFlags(node.variableDeclaration) |
25313
25332
  propagateChildFlags(node.block);
25314
25333
  if (!variableDeclaration)
25315
- node.transformFlags |= 32 /* ContainsES2019 */;
25334
+ node.transformFlags |= 64 /* ContainsES2019 */;
25316
25335
  return node;
25317
25336
  }
25318
25337
  // @api
@@ -25363,7 +25382,7 @@ var ts;
25363
25382
  node.objectAssignmentInitializer = objectAssignmentInitializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(objectAssignmentInitializer);
25364
25383
  node.transformFlags |=
25365
25384
  propagateChildFlags(node.objectAssignmentInitializer) |
25366
- 512 /* ContainsES2015 */;
25385
+ 1024 /* ContainsES2015 */;
25367
25386
  return node;
25368
25387
  }
25369
25388
  function finishUpdateShorthandPropertyAssignment(updated, original) {
@@ -25393,7 +25412,7 @@ var ts;
25393
25412
  node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression);
25394
25413
  node.transformFlags |=
25395
25414
  propagateChildFlags(node.expression) |
25396
- 64 /* ContainsES2018 */ |
25415
+ 128 /* ContainsES2018 */ |
25397
25416
  32768 /* ContainsObjectRestOrSpread */;
25398
25417
  return node;
25399
25418
  }
@@ -38066,6 +38085,7 @@ var ts;
38066
38085
  ["es2019", "lib.es2019.d.ts"],
38067
38086
  ["es2020", "lib.es2020.d.ts"],
38068
38087
  ["es2021", "lib.es2021.d.ts"],
38088
+ ["es2022", "lib.es2022.d.ts"],
38069
38089
  ["esnext", "lib.esnext.d.ts"],
38070
38090
  // Host only
38071
38091
  ["dom", "lib.dom.d.ts"],
@@ -38109,12 +38129,16 @@ var ts;
38109
38129
  ["es2021.string", "lib.es2021.string.d.ts"],
38110
38130
  ["es2021.weakref", "lib.es2021.weakref.d.ts"],
38111
38131
  ["es2021.intl", "lib.es2021.intl.d.ts"],
38112
- ["esnext.array", "lib.es2019.array.d.ts"],
38132
+ ["es2022.array", "lib.es2022.array.d.ts"],
38133
+ ["es2022.error", "lib.es2022.error.d.ts"],
38134
+ ["es2022.object", "lib.es2022.object.d.ts"],
38135
+ ["es2022.string", "lib.es2022.string.d.ts"],
38136
+ ["esnext.array", "lib.es2022.array.d.ts"],
38113
38137
  ["esnext.symbol", "lib.es2019.symbol.d.ts"],
38114
38138
  ["esnext.asynciterable", "lib.es2018.asynciterable.d.ts"],
38115
38139
  ["esnext.intl", "lib.esnext.intl.d.ts"],
38116
38140
  ["esnext.bigint", "lib.es2020.bigint.d.ts"],
38117
- ["esnext.string", "lib.es2021.string.d.ts"],
38141
+ ["esnext.string", "lib.es2022.string.d.ts"],
38118
38142
  ["esnext.promise", "lib.es2021.promise.d.ts"],
38119
38143
  ["esnext.weakref", "lib.es2021.weakref.d.ts"]
38120
38144
  ];
@@ -38346,6 +38370,7 @@ var ts;
38346
38370
  es2019: 6 /* ES2019 */,
38347
38371
  es2020: 7 /* ES2020 */,
38348
38372
  es2021: 8 /* ES2021 */,
38373
+ es2022: 9 /* ES2022 */,
38349
38374
  esnext: 99 /* ESNext */,
38350
38375
  })),
38351
38376
  affectsSourceFile: true,
@@ -61108,7 +61133,7 @@ var ts;
61108
61133
  var declarations = ts.concatenate(leftProp.declarations, rightProp.declarations);
61109
61134
  var flags = 4 /* Property */ | (leftProp.flags & 16777216 /* Optional */);
61110
61135
  var result = createSymbol(flags, leftProp.escapedName);
61111
- result.type = getUnionType([getTypeOfSymbol(leftProp), removeMissingOrUndefinedType(rightType)]);
61136
+ result.type = getUnionType([getTypeOfSymbol(leftProp), removeMissingOrUndefinedType(rightType)], 2 /* Subtype */);
61112
61137
  result.leftSpread = leftProp;
61113
61138
  result.rightSpread = rightProp;
61114
61139
  result.declarations = declarations;
@@ -66007,7 +66032,8 @@ var ts;
66007
66032
  (resolveName(param, param.name.escapedText, 788968 /* Type */, undefined, param.name.escapedText, /*isUse*/ true) ||
66008
66033
  param.name.originalKeywordKind && ts.isTypeNodeKind(param.name.originalKeywordKind))) {
66009
66034
  var newName = "arg" + param.parent.parameters.indexOf(param);
66010
- errorOrSuggestion(noImplicitAny, declaration, ts.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1, newName, ts.declarationNameToString(param.name));
66035
+ var typeName = ts.declarationNameToString(param.name) + (param.dotDotDotToken ? "[]" : "");
66036
+ errorOrSuggestion(noImplicitAny, declaration, ts.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1, newName, typeName);
66011
66037
  return;
66012
66038
  }
66013
66039
  diagnostic = declaration.dotDotDotToken ?
@@ -93414,7 +93440,7 @@ var ts;
93414
93440
  return ts.visitEachChild(node, visitor, context);
93415
93441
  }
93416
93442
  function visitor(node) {
93417
- if ((node.transformFlags & 128 /* ContainsES2017 */) === 0) {
93443
+ if ((node.transformFlags & 256 /* ContainsES2017 */) === 0) {
93418
93444
  return node;
93419
93445
  }
93420
93446
  switch (node.kind) {
@@ -94047,7 +94073,7 @@ var ts;
94047
94073
  * expression of an `ExpressionStatement`).
94048
94074
  */
94049
94075
  function visitorWorker(node, expressionResultIsUnused) {
94050
- if ((node.transformFlags & 64 /* ContainsES2018 */) === 0) {
94076
+ if ((node.transformFlags & 128 /* ContainsES2018 */) === 0) {
94051
94077
  return node;
94052
94078
  }
94053
94079
  switch (node.kind) {
@@ -94744,7 +94770,7 @@ var ts;
94744
94770
  return ts.visitEachChild(node, visitor, context);
94745
94771
  }
94746
94772
  function visitor(node) {
94747
- if ((node.transformFlags & 32 /* ContainsES2019 */) === 0) {
94773
+ if ((node.transformFlags & 64 /* ContainsES2019 */) === 0) {
94748
94774
  return node;
94749
94775
  }
94750
94776
  switch (node.kind) {
@@ -94776,7 +94802,7 @@ var ts;
94776
94802
  return ts.visitEachChild(node, visitor, context);
94777
94803
  }
94778
94804
  function visitor(node) {
94779
- if ((node.transformFlags & 16 /* ContainsES2020 */) === 0) {
94805
+ if ((node.transformFlags & 32 /* ContainsES2020 */) === 0) {
94780
94806
  return node;
94781
94807
  }
94782
94808
  switch (node.kind) {
@@ -94953,7 +94979,7 @@ var ts;
94953
94979
  return ts.visitEachChild(node, visitor, context);
94954
94980
  }
94955
94981
  function visitor(node) {
94956
- if ((node.transformFlags & 8 /* ContainsES2021 */) === 0) {
94982
+ if ((node.transformFlags & 16 /* ContainsES2021 */) === 0) {
94957
94983
  return node;
94958
94984
  }
94959
94985
  switch (node.kind) {
@@ -95717,7 +95743,7 @@ var ts;
95717
95743
  return ts.visitEachChild(node, visitor, context);
95718
95744
  }
95719
95745
  function visitor(node) {
95720
- if ((node.transformFlags & 256 /* ContainsES2016 */) === 0) {
95746
+ if ((node.transformFlags & 512 /* ContainsES2016 */) === 0) {
95721
95747
  return node;
95722
95748
  }
95723
95749
  switch (node.kind) {
@@ -95965,7 +95991,7 @@ var ts;
95965
95991
  || ts.isBlock(node));
95966
95992
  }
95967
95993
  function shouldVisitNode(node) {
95968
- return (node.transformFlags & 512 /* ContainsES2015 */) !== 0
95994
+ return (node.transformFlags & 1024 /* ContainsES2015 */) !== 0
95969
95995
  || convertedLoopState !== undefined
95970
95996
  || (hierarchyFacts & 8192 /* ConstructorWithCapturedSuper */ && isOrMayContainReturnCompletion(node))
95971
95997
  || (ts.isIterationStatement(node, /*lookInLabeledStatements*/ false) && shouldConvertIterationStatement(node))
@@ -99278,7 +99304,7 @@ var ts;
99278
99304
  var withBlockStack; // A stack containing `with` blocks.
99279
99305
  return ts.chainBundle(context, transformSourceFile);
99280
99306
  function transformSourceFile(node) {
99281
- if (node.isDeclarationFile || (node.transformFlags & 1024 /* ContainsGenerator */) === 0) {
99307
+ if (node.isDeclarationFile || (node.transformFlags & 2048 /* ContainsGenerator */) === 0) {
99282
99308
  return node;
99283
99309
  }
99284
99310
  var visited = ts.visitEachChild(node, visitor, context);
@@ -99301,7 +99327,7 @@ var ts;
99301
99327
  else if (ts.isFunctionLikeDeclaration(node) && node.asteriskToken) {
99302
99328
  return visitGenerator(node);
99303
99329
  }
99304
- else if (transformFlags & 1024 /* ContainsGenerator */) {
99330
+ else if (transformFlags & 2048 /* ContainsGenerator */) {
99305
99331
  return ts.visitEachChild(node, visitor, context);
99306
99332
  }
99307
99333
  else {
@@ -99357,7 +99383,7 @@ var ts;
99357
99383
  if (node.transformFlags & 524288 /* ContainsYield */) {
99358
99384
  return visitJavaScriptContainingYield(node);
99359
99385
  }
99360
- else if (node.transformFlags & (1024 /* ContainsGenerator */ | 2097152 /* ContainsHoistedDeclarationOrCompletion */)) {
99386
+ else if (node.transformFlags & (2048 /* ContainsGenerator */ | 2097152 /* ContainsHoistedDeclarationOrCompletion */)) {
99361
99387
  return ts.visitEachChild(node, visitor, context);
99362
99388
  }
99363
99389
  else {
@@ -102006,7 +102032,7 @@ var ts;
102006
102032
  function visitorWorker(node, valueIsDiscarded) {
102007
102033
  // This visitor does not need to descend into the tree if there is no dynamic import, destructuring assignment, or update expression
102008
102034
  // as export/import statements are only transformed at the top level of a file.
102009
- if (!(node.transformFlags & (4194304 /* ContainsDynamicImport */ | 2048 /* ContainsDestructuringAssignment */ | 67108864 /* ContainsUpdateExpressionForIdentifier */))) {
102035
+ if (!(node.transformFlags & (4194304 /* ContainsDynamicImport */ | 4096 /* ContainsDestructuringAssignment */ | 67108864 /* ContainsUpdateExpressionForIdentifier */))) {
102010
102036
  return node;
102011
102037
  }
102012
102038
  switch (node.kind) {
@@ -104222,7 +104248,7 @@ var ts;
104222
104248
  * @param node The node to visit.
104223
104249
  */
104224
104250
  function visitorWorker(node, valueIsDiscarded) {
104225
- if (!(node.transformFlags & (2048 /* ContainsDestructuringAssignment */ | 4194304 /* ContainsDynamicImport */ | 67108864 /* ContainsUpdateExpressionForIdentifier */))) {
104251
+ if (!(node.transformFlags & (4096 /* ContainsDestructuringAssignment */ | 4194304 /* ContainsDynamicImport */ | 67108864 /* ContainsUpdateExpressionForIdentifier */))) {
104226
104252
  return node;
104227
104253
  }
104228
104254
  switch (node.kind) {
@@ -119447,13 +119473,15 @@ var ts;
119447
119473
  if (host.fileExists(packageJsonPath)) {
119448
119474
  var packageJsonContent = JSON.parse(host.readFile(packageJsonPath));
119449
119475
  // TODO: Inject `require` or `import` condition based on the intended import mode
119450
- var fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path, packageRootPath, packageJsonContent.name, packageJsonContent.exports, ["node", "types"]) : undefined;
119451
- if (fromExports) {
119452
- var withJsExtension = !ts.hasTSFileExtension(fromExports.moduleFileToTry) ? fromExports : { moduleFileToTry: ts.removeFileExtension(fromExports.moduleFileToTry) + tryGetJSExtensionForFile(fromExports.moduleFileToTry, options) };
119453
- return __assign(__assign({}, withJsExtension), { verbatimFromExports: true });
119454
- }
119455
- if (packageJsonContent.exports) {
119456
- return { moduleFileToTry: path, blockedByExports: true };
119476
+ if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node12 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) {
119477
+ var fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path, packageRootPath, packageJsonContent.name, packageJsonContent.exports, ["node", "types"]) : undefined;
119478
+ if (fromExports) {
119479
+ var withJsExtension = !ts.hasTSFileExtension(fromExports.moduleFileToTry) ? fromExports : { moduleFileToTry: ts.removeFileExtension(fromExports.moduleFileToTry) + tryGetJSExtensionForFile(fromExports.moduleFileToTry, options) };
119480
+ return __assign(__assign({}, withJsExtension), { verbatimFromExports: true });
119481
+ }
119482
+ if (packageJsonContent.exports) {
119483
+ return { moduleFileToTry: path, blockedByExports: true };
119484
+ }
119457
119485
  }
119458
119486
  var versionPaths = packageJsonContent.typesVersions
119459
119487
  ? ts.getPackageJsonTypesVersionsPaths(packageJsonContent.typesVersions)
@@ -128841,7 +128869,7 @@ var ts;
128841
128869
  }
128842
128870
  node = ts.factory.updateModifiers(node, modifiers & (~presentModifiers));
128843
128871
  completionNodes.push(node);
128844
- }, body, isAbstract);
128872
+ }, body, 2 /* Property */, isAbstract);
128845
128873
  if (completionNodes.length) {
128846
128874
  insertText = printer.printSnippetList(1 /* MultiLine */, ts.factory.createNodeArray(completionNodes), sourceFile);
128847
128875
  }
@@ -137682,7 +137710,7 @@ var ts;
137682
137710
  if (depthRemaining === 0)
137683
137711
  return;
137684
137712
  cancellationToken.throwIfCancellationRequested();
137685
- if (ts.isDeclaration(n) || ts.isVariableStatement(n) || ts.isReturnStatement(n) || n.kind === 1 /* EndOfFileToken */) {
137713
+ if (ts.isDeclaration(n) || ts.isVariableStatement(n) || ts.isReturnStatement(n) || ts.isCallOrNewExpression(n) || n.kind === 1 /* EndOfFileToken */) {
137686
137714
  addOutliningForLeadingCommentsForNode(n, sourceFile, cancellationToken, out);
137687
137715
  }
137688
137716
  if (ts.isFunctionLike(n) && ts.isBinaryExpression(n.parent) && ts.isPropertyAccessExpression(n.parent.left)) {
@@ -146208,9 +146236,6 @@ var ts;
146208
146236
  });
146209
146237
  function makeChange(changeTracker, sourceFile, pos) {
146210
146238
  var token = ts.getTokenAtPosition(sourceFile, pos);
146211
- if (!ts.isIdentifier(token)) {
146212
- return ts.Debug.fail("add-name-to-nameless-parameter operates on identifiers, but got a " + ts.Debug.formatSyntaxKind(token.kind));
146213
- }
146214
146239
  var param = token.parent;
146215
146240
  if (!ts.isParameter(param)) {
146216
146241
  return ts.Debug.fail("Tried to add a parameter name to a non-parameter: " + ts.Debug.formatSyntaxKind(token.kind));
@@ -146218,9 +146243,10 @@ var ts;
146218
146243
  var i = param.parent.parameters.indexOf(param);
146219
146244
  ts.Debug.assert(!param.type, "Tried to add a parameter name to a parameter that already had one.");
146220
146245
  ts.Debug.assert(i > -1, "Parameter not found in parent parameter list.");
146246
+ var typeNode = ts.factory.createTypeReferenceNode(param.name, /*typeArguments*/ undefined);
146221
146247
  var replacement = ts.factory.createParameterDeclaration(
146222
- /*decorators*/ undefined, param.modifiers, param.dotDotDotToken, "arg" + i, param.questionToken, ts.factory.createTypeReferenceNode(token, /*typeArguments*/ undefined), param.initializer);
146223
- changeTracker.replaceNode(sourceFile, token, replacement);
146248
+ /*decorators*/ undefined, param.modifiers, param.dotDotDotToken, "arg" + i, param.questionToken, param.dotDotDotToken ? ts.factory.createArrayTypeNode(typeNode) : typeNode, param.initializer);
146249
+ changeTracker.replaceNode(sourceFile, param, replacement);
146224
146250
  }
146225
146251
  })(codefix = ts.codefix || (ts.codefix = {}));
146226
146252
  })(ts || (ts = {}));
@@ -152389,10 +152415,22 @@ var ts;
152389
152415
  if (usage.numberIndex) {
152390
152416
  types.push(checker.createArrayType(combineFromUsage(usage.numberIndex)));
152391
152417
  }
152392
- 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) {
152418
+ 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) {
152393
152419
  types.push(inferStructuralType(usage));
152394
152420
  }
152395
- types.push.apply(types, (usage.candidateTypes || []).map(function (t) { return checker.getBaseTypeOfLiteralType(t); }));
152421
+ var candidateTypes = (usage.candidateTypes || []).map(function (t) { return checker.getBaseTypeOfLiteralType(t); });
152422
+ var callsType = ((_c = usage.calls) === null || _c === void 0 ? void 0 : _c.length) ? inferStructuralType(usage) : undefined;
152423
+ if (callsType && candidateTypes) {
152424
+ types.push(checker.getUnionType(__spreadArray([callsType], candidateTypes, true), 2 /* Subtype */));
152425
+ }
152426
+ else {
152427
+ if (callsType) {
152428
+ types.push(callsType);
152429
+ }
152430
+ if (ts.length(candidateTypes)) {
152431
+ types.push.apply(types, candidateTypes);
152432
+ }
152433
+ }
152396
152434
  types.push.apply(types, inferNamedTypesFromProperties(usage));
152397
152435
  return types;
152398
152436
  }
@@ -152674,11 +152712,18 @@ var ts;
152674
152712
  };
152675
152713
  }
152676
152714
  codefix.getNoopSymbolTrackerWithResolver = getNoopSymbolTrackerWithResolver;
152715
+ var PreserveOptionalFlags;
152716
+ (function (PreserveOptionalFlags) {
152717
+ PreserveOptionalFlags[PreserveOptionalFlags["Method"] = 1] = "Method";
152718
+ PreserveOptionalFlags[PreserveOptionalFlags["Property"] = 2] = "Property";
152719
+ PreserveOptionalFlags[PreserveOptionalFlags["All"] = 3] = "All";
152720
+ })(PreserveOptionalFlags = codefix.PreserveOptionalFlags || (codefix.PreserveOptionalFlags = {}));
152677
152721
  /**
152678
152722
  * `addClassElement` will not be called if we can't figure out a representation for `symbol` in `enclosingDeclaration`.
152679
152723
  * @param body If defined, this will be the body of the member node passed to `addClassElement`. Otherwise, the body will default to a stub.
152680
152724
  */
152681
- function addNewNodeForMemberSymbol(symbol, enclosingDeclaration, sourceFile, context, preferences, importAdder, addClassElement, body, isAmbient) {
152725
+ function addNewNodeForMemberSymbol(symbol, enclosingDeclaration, sourceFile, context, preferences, importAdder, addClassElement, body, preserveOptional, isAmbient) {
152726
+ if (preserveOptional === void 0) { preserveOptional = 3 /* All */; }
152682
152727
  if (isAmbient === void 0) { isAmbient = false; }
152683
152728
  var declarations = symbol.getDeclarations();
152684
152729
  if (!(declarations && declarations.length)) {
@@ -152707,7 +152752,7 @@ var ts;
152707
152752
  }
152708
152753
  }
152709
152754
  addClassElement(ts.factory.createPropertyDeclaration(
152710
- /*decorators*/ undefined, modifiers, name, optional ? ts.factory.createToken(57 /* QuestionToken */) : undefined, typeNode,
152755
+ /*decorators*/ undefined, modifiers, name, optional && (preserveOptional & 2 /* Property */) ? ts.factory.createToken(57 /* QuestionToken */) : undefined, typeNode,
152711
152756
  /*initializer*/ undefined));
152712
152757
  break;
152713
152758
  case 171 /* GetAccessor */:
@@ -152771,13 +152816,13 @@ var ts;
152771
152816
  }
152772
152817
  else {
152773
152818
  ts.Debug.assert(declarations.length === signatures.length, "Declarations and signatures should match count");
152774
- addClassElement(createMethodImplementingSignatures(checker, context, enclosingDeclaration, signatures, name, optional, modifiers, quotePreference, body));
152819
+ addClassElement(createMethodImplementingSignatures(checker, context, enclosingDeclaration, signatures, name, optional && !!(preserveOptional & 1 /* Method */), modifiers, quotePreference, body));
152775
152820
  }
152776
152821
  }
152777
152822
  break;
152778
152823
  }
152779
152824
  function outputMethod(quotePreference, signature, modifiers, name, body) {
152780
- var method = createSignatureDeclarationFromSignature(168 /* MethodDeclaration */, context, quotePreference, signature, body, name, modifiers, optional, enclosingDeclaration, importAdder);
152825
+ var method = createSignatureDeclarationFromSignature(168 /* MethodDeclaration */, context, quotePreference, signature, body, name, modifiers, optional && !!(preserveOptional & 1 /* Method */), enclosingDeclaration, importAdder);
152781
152826
  if (method)
152782
152827
  addClassElement(method);
152783
152828
  }
@@ -155216,11 +155261,12 @@ var ts;
155216
155261
  return node.expression;
155217
155262
  }
155218
155263
  }
155219
- else if (ts.isVariableStatement(node)) {
155264
+ else if (ts.isVariableStatement(node) || ts.isVariableDeclarationList(node)) {
155265
+ var declarations_5 = ts.isVariableStatement(node) ? node.declarationList.declarations : node.declarations;
155220
155266
  var numInitializers = 0;
155221
155267
  var lastInitializer = void 0;
155222
- for (var _i = 0, _a = node.declarationList.declarations; _i < _a.length; _i++) {
155223
- var declaration = _a[_i];
155268
+ for (var _i = 0, declarations_4 = declarations_5; _i < declarations_4.length; _i++) {
155269
+ var declaration = declarations_4[_i];
155224
155270
  if (declaration.initializer) {
155225
155271
  numInitializers++;
155226
155272
  lastInitializer = declaration.initializer;
@@ -159290,8 +159336,8 @@ var ts;
159290
159336
  var doc = ts.JsDoc.getJsDocCommentsFromDeclarations(declarations, checker);
159291
159337
  if (checker && (doc.length === 0 || declarations.some(hasJSDocInheritDocTag))) {
159292
159338
  var seenSymbols_1 = new ts.Set();
159293
- for (var _i = 0, declarations_4 = declarations; _i < declarations_4.length; _i++) {
159294
- var declaration = declarations_4[_i];
159339
+ for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) {
159340
+ var declaration = declarations_6[_i];
159295
159341
  var inheritedDocs = findBaseOfDeclaration(checker, declaration, function (symbol) {
159296
159342
  if (!seenSymbols_1.has(symbol)) {
159297
159343
  seenSymbols_1.add(symbol);
@@ -163499,6 +163545,7 @@ var ts;
163499
163545
  ScriptTarget["ES2019"] = "ES2019";
163500
163546
  ScriptTarget["ES2020"] = "ES2020";
163501
163547
  ScriptTarget["ES2021"] = "ES2021";
163548
+ ScriptTarget["ES2022"] = "ES2022";
163502
163549
  ScriptTarget["ESNext"] = "ESNext";
163503
163550
  })(ScriptTarget = protocol.ScriptTarget || (protocol.ScriptTarget = {}));
163504
163551
  var ClassificationType;