typescript 5.0.0-dev.20230226 → 5.1.0-dev.20230301

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
@@ -472,7 +472,6 @@ __export(server_exports, {
472
472
  createTypeChecker: () => createTypeChecker,
473
473
  createTypeReferenceDirectiveResolutionCache: () => createTypeReferenceDirectiveResolutionCache,
474
474
  createTypeReferenceResolutionLoader: () => createTypeReferenceResolutionLoader,
475
- createUnderscoreEscapedMultiMap: () => createUnderscoreEscapedMultiMap,
476
475
  createUnparsedSourceFile: () => createUnparsedSourceFile,
477
476
  createWatchCompilerHost: () => createWatchCompilerHost2,
478
477
  createWatchCompilerHostOfConfigFile: () => createWatchCompilerHostOfConfigFile,
@@ -2287,8 +2286,8 @@ __export(server_exports, {
2287
2286
  module.exports = __toCommonJS(server_exports);
2288
2287
 
2289
2288
  // src/compiler/corePublic.ts
2290
- var versionMajorMinor = "5.0";
2291
- var version = `${versionMajorMinor}.0-dev.20230226`;
2289
+ var versionMajorMinor = "5.1";
2290
+ var version = `${versionMajorMinor}.0-dev.20230301`;
2292
2291
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2293
2292
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2294
2293
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -3271,9 +3270,6 @@ function multiMapRemove(key, value) {
3271
3270
  }
3272
3271
  }
3273
3272
  }
3274
- function createUnderscoreEscapedMultiMap() {
3275
- return createMultiMap();
3276
- }
3277
3273
  function createQueue(items) {
3278
3274
  const elements = (items == null ? void 0 : items.slice()) || [];
3279
3275
  let headIndex = 0;
@@ -52401,7 +52397,7 @@ function createTypeChecker(host) {
52401
52397
  }
52402
52398
  }
52403
52399
  const mayHaveNameCollisions = !(context.flags & 64 /* UseFullyQualifiedType */);
52404
- const seenNames = mayHaveNameCollisions ? createUnderscoreEscapedMultiMap() : void 0;
52400
+ const seenNames = mayHaveNameCollisions ? createMultiMap() : void 0;
52405
52401
  const result = [];
52406
52402
  let i = 0;
52407
52403
  for (const type of types) {
@@ -64682,7 +64678,7 @@ function createTypeChecker(host) {
64682
64678
  0 /* None */
64683
64679
  );
64684
64680
  }
64685
- } else if (result2 && isNonGenericObjectType(target2) && !isArrayOrTupleType(target2) && source2.flags & 2097152 /* Intersection */ && getApparentType(source2).flags & 3670016 /* StructuredType */ && !some(source2.types, (t) => !!(getObjectFlags(t) & 262144 /* NonInferrableType */))) {
64681
+ } else if (result2 && isNonGenericObjectType(target2) && !isArrayOrTupleType(target2) && source2.flags & 2097152 /* Intersection */ && getApparentType(source2).flags & 3670016 /* StructuredType */ && !some(source2.types, (t) => t === target2 || !!(getObjectFlags(t) & 262144 /* NonInferrableType */))) {
64686
64682
  result2 &= propertiesRelatedTo(
64687
64683
  source2,
64688
64684
  target2,
@@ -90052,6 +90048,7 @@ function createDefaultValueCheck(flattenContext, value, defaultValue, location)
90052
90048
  );
90053
90049
  }
90054
90050
  function createDestructuringPropertyAccess(flattenContext, value, propertyName) {
90051
+ const { factory: factory2 } = flattenContext.context;
90055
90052
  if (isComputedPropertyName(propertyName)) {
90056
90053
  const argumentExpression = ensureIdentifier(
90057
90054
  flattenContext,
@@ -90063,7 +90060,7 @@ function createDestructuringPropertyAccess(flattenContext, value, propertyName)
90063
90060
  );
90064
90061
  return flattenContext.context.factory.createElementAccessExpression(value, argumentExpression);
90065
90062
  } else if (isStringOrNumericLiteralLike(propertyName)) {
90066
- const argumentExpression = factory.cloneNode(propertyName);
90063
+ const argumentExpression = factory2.cloneNode(propertyName);
90067
90064
  return flattenContext.context.factory.createElementAccessExpression(value, argumentExpression);
90068
90065
  } else {
90069
90066
  const name = flattenContext.context.factory.createIdentifier(idText(propertyName));
@@ -90138,28 +90135,29 @@ function processTaggedTemplateExpression(context, node, visitor, currentSourceFi
90138
90135
  if (level === 0 /* LiftRestriction */ && !hasInvalidEscape(template)) {
90139
90136
  return visitEachChild(node, visitor, context);
90140
90137
  }
90138
+ const { factory: factory2 } = context;
90141
90139
  if (isNoSubstitutionTemplateLiteral(template)) {
90142
- cookedStrings.push(createTemplateCooked(template));
90143
- rawStrings.push(getRawLiteral(template, currentSourceFile));
90140
+ cookedStrings.push(createTemplateCooked(factory2, template));
90141
+ rawStrings.push(getRawLiteral(factory2, template, currentSourceFile));
90144
90142
  } else {
90145
- cookedStrings.push(createTemplateCooked(template.head));
90146
- rawStrings.push(getRawLiteral(template.head, currentSourceFile));
90143
+ cookedStrings.push(createTemplateCooked(factory2, template.head));
90144
+ rawStrings.push(getRawLiteral(factory2, template.head, currentSourceFile));
90147
90145
  for (const templateSpan of template.templateSpans) {
90148
- cookedStrings.push(createTemplateCooked(templateSpan.literal));
90149
- rawStrings.push(getRawLiteral(templateSpan.literal, currentSourceFile));
90146
+ cookedStrings.push(createTemplateCooked(factory2, templateSpan.literal));
90147
+ rawStrings.push(getRawLiteral(factory2, templateSpan.literal, currentSourceFile));
90150
90148
  templateArguments.push(Debug.checkDefined(visitNode(templateSpan.expression, visitor, isExpression)));
90151
90149
  }
90152
90150
  }
90153
90151
  const helperCall = context.getEmitHelperFactory().createTemplateObjectHelper(
90154
- factory.createArrayLiteralExpression(cookedStrings),
90155
- factory.createArrayLiteralExpression(rawStrings)
90152
+ factory2.createArrayLiteralExpression(cookedStrings),
90153
+ factory2.createArrayLiteralExpression(rawStrings)
90156
90154
  );
90157
90155
  if (isExternalModule(currentSourceFile)) {
90158
- const tempVar = factory.createUniqueName("templateObject");
90156
+ const tempVar = factory2.createUniqueName("templateObject");
90159
90157
  recordTaggedTemplateString(tempVar);
90160
- templateArguments[0] = factory.createLogicalOr(
90158
+ templateArguments[0] = factory2.createLogicalOr(
90161
90159
  tempVar,
90162
- factory.createAssignment(
90160
+ factory2.createAssignment(
90163
90161
  tempVar,
90164
90162
  helperCall
90165
90163
  )
@@ -90167,17 +90165,17 @@ function processTaggedTemplateExpression(context, node, visitor, currentSourceFi
90167
90165
  } else {
90168
90166
  templateArguments[0] = helperCall;
90169
90167
  }
90170
- return factory.createCallExpression(
90168
+ return factory2.createCallExpression(
90171
90169
  tag,
90172
90170
  /*typeArguments*/
90173
90171
  void 0,
90174
90172
  templateArguments
90175
90173
  );
90176
90174
  }
90177
- function createTemplateCooked(template) {
90178
- return template.templateFlags ? factory.createVoidZero() : factory.createStringLiteral(template.text);
90175
+ function createTemplateCooked(factory2, template) {
90176
+ return template.templateFlags ? factory2.createVoidZero() : factory2.createStringLiteral(template.text);
90179
90177
  }
90180
- function getRawLiteral(node, currentSourceFile) {
90178
+ function getRawLiteral(factory2, node, currentSourceFile) {
90181
90179
  let text = node.rawText;
90182
90180
  if (text === void 0) {
90183
90181
  Debug.assertIsDefined(
@@ -90189,7 +90187,7 @@ function getRawLiteral(node, currentSourceFile) {
90189
90187
  text = text.substring(1, text.length - (isLast ? 1 : 2));
90190
90188
  }
90191
90189
  text = text.replace(/\r\n?/g, "\n");
90192
- return setTextRange(factory.createStringLiteral(text), node);
90190
+ return setTextRange(factory2.createStringLiteral(text), node);
90193
90191
  }
90194
90192
 
90195
90193
  // src/compiler/transformers/ts.ts
@@ -93645,12 +93643,14 @@ function transformClassFields(context) {
93645
93643
  if (privateIdentifierInfo.kind === "f" /* Field */) {
93646
93644
  if (!privateIdentifierInfo.isStatic) {
93647
93645
  return createPrivateInstanceFieldInitializer(
93646
+ factory2,
93648
93647
  receiver,
93649
93648
  visitNode(property.initializer, initializerVisitor, isExpression),
93650
93649
  privateIdentifierInfo.brandCheckIdentifier
93651
93650
  );
93652
93651
  } else {
93653
93652
  return createPrivateStaticFieldInitializer(
93653
+ factory2,
93654
93654
  privateIdentifierInfo.variableName,
93655
93655
  visitNode(property.initializer, initializerVisitor, isExpression)
93656
93656
  );
@@ -93732,7 +93732,7 @@ function transformClassFields(context) {
93732
93732
  Debug.assert(weakSetName, "weakSetName should be set in private identifier environment");
93733
93733
  statements.push(
93734
93734
  factory2.createExpressionStatement(
93735
- createPrivateInstanceMethodInitializer(receiver, weakSetName)
93735
+ createPrivateInstanceMethodInitializer(factory2, receiver, weakSetName)
93736
93736
  )
93737
93737
  );
93738
93738
  }
@@ -94185,25 +94185,25 @@ function transformClassFields(context) {
94185
94185
  return void 0;
94186
94186
  }
94187
94187
  }
94188
- function createPrivateStaticFieldInitializer(variableName, initializer) {
94189
- return factory.createAssignment(
94188
+ function createPrivateStaticFieldInitializer(factory2, variableName, initializer) {
94189
+ return factory2.createAssignment(
94190
94190
  variableName,
94191
- factory.createObjectLiteralExpression([
94192
- factory.createPropertyAssignment("value", initializer || factory.createVoidZero())
94191
+ factory2.createObjectLiteralExpression([
94192
+ factory2.createPropertyAssignment("value", initializer || factory2.createVoidZero())
94193
94193
  ])
94194
94194
  );
94195
94195
  }
94196
- function createPrivateInstanceFieldInitializer(receiver, initializer, weakMapName) {
94197
- return factory.createCallExpression(
94198
- factory.createPropertyAccessExpression(weakMapName, "set"),
94196
+ function createPrivateInstanceFieldInitializer(factory2, receiver, initializer, weakMapName) {
94197
+ return factory2.createCallExpression(
94198
+ factory2.createPropertyAccessExpression(weakMapName, "set"),
94199
94199
  /*typeArguments*/
94200
94200
  void 0,
94201
- [receiver, initializer || factory.createVoidZero()]
94201
+ [receiver, initializer || factory2.createVoidZero()]
94202
94202
  );
94203
94203
  }
94204
- function createPrivateInstanceMethodInitializer(receiver, weakSetName) {
94205
- return factory.createCallExpression(
94206
- factory.createPropertyAccessExpression(weakSetName, "add"),
94204
+ function createPrivateInstanceMethodInitializer(factory2, receiver, weakSetName) {
94205
+ return factory2.createCallExpression(
94206
+ factory2.createPropertyAccessExpression(weakSetName, "add"),
94207
94207
  /*typeArguments*/
94208
94208
  void 0,
94209
94209
  [receiver]
@@ -94219,6 +94219,7 @@ function isPrivateIdentifierInExpression(node) {
94219
94219
  // src/compiler/transformers/typeSerializer.ts
94220
94220
  function createRuntimeTypeSerializer(context) {
94221
94221
  const {
94222
+ factory: factory2,
94222
94223
  hoistVariableDeclaration
94223
94224
  } = context;
94224
94225
  const resolver = context.getEmitResolver();
@@ -94258,9 +94259,9 @@ function createRuntimeTypeSerializer(context) {
94258
94259
  case 260 /* ClassDeclaration */:
94259
94260
  case 228 /* ClassExpression */:
94260
94261
  case 171 /* MethodDeclaration */:
94261
- return factory.createIdentifier("Function");
94262
+ return factory2.createIdentifier("Function");
94262
94263
  default:
94263
- return factory.createVoidZero();
94264
+ return factory2.createVoidZero();
94264
94265
  }
94265
94266
  }
94266
94267
  function serializeParameterTypesOfNode(node, container) {
@@ -94281,7 +94282,7 @@ function createRuntimeTypeSerializer(context) {
94281
94282
  }
94282
94283
  }
94283
94284
  }
94284
- return factory.createArrayLiteralExpression(expressions);
94285
+ return factory2.createArrayLiteralExpression(expressions);
94285
94286
  }
94286
94287
  function getParametersOfDecoratedDeclaration(node, container) {
94287
94288
  if (container && node.kind === 174 /* GetAccessor */) {
@@ -94296,39 +94297,39 @@ function createRuntimeTypeSerializer(context) {
94296
94297
  if (isFunctionLike(node) && node.type) {
94297
94298
  return serializeTypeNode(node.type);
94298
94299
  } else if (isAsyncFunction(node)) {
94299
- return factory.createIdentifier("Promise");
94300
+ return factory2.createIdentifier("Promise");
94300
94301
  }
94301
- return factory.createVoidZero();
94302
+ return factory2.createVoidZero();
94302
94303
  }
94303
94304
  function serializeTypeNode(node) {
94304
94305
  if (node === void 0) {
94305
- return factory.createIdentifier("Object");
94306
+ return factory2.createIdentifier("Object");
94306
94307
  }
94307
94308
  node = skipTypeParentheses(node);
94308
94309
  switch (node.kind) {
94309
94310
  case 114 /* VoidKeyword */:
94310
94311
  case 155 /* UndefinedKeyword */:
94311
94312
  case 144 /* NeverKeyword */:
94312
- return factory.createVoidZero();
94313
+ return factory2.createVoidZero();
94313
94314
  case 181 /* FunctionType */:
94314
94315
  case 182 /* ConstructorType */:
94315
- return factory.createIdentifier("Function");
94316
+ return factory2.createIdentifier("Function");
94316
94317
  case 185 /* ArrayType */:
94317
94318
  case 186 /* TupleType */:
94318
- return factory.createIdentifier("Array");
94319
+ return factory2.createIdentifier("Array");
94319
94320
  case 179 /* TypePredicate */:
94320
- return node.assertsModifier ? factory.createVoidZero() : factory.createIdentifier("Boolean");
94321
+ return node.assertsModifier ? factory2.createVoidZero() : factory2.createIdentifier("Boolean");
94321
94322
  case 134 /* BooleanKeyword */:
94322
- return factory.createIdentifier("Boolean");
94323
+ return factory2.createIdentifier("Boolean");
94323
94324
  case 200 /* TemplateLiteralType */:
94324
94325
  case 152 /* StringKeyword */:
94325
- return factory.createIdentifier("String");
94326
+ return factory2.createIdentifier("String");
94326
94327
  case 149 /* ObjectKeyword */:
94327
- return factory.createIdentifier("Object");
94328
+ return factory2.createIdentifier("Object");
94328
94329
  case 198 /* LiteralType */:
94329
94330
  return serializeLiteralOfLiteralTypeNode(node.literal);
94330
94331
  case 148 /* NumberKeyword */:
94331
- return factory.createIdentifier("Number");
94332
+ return factory2.createIdentifier("Number");
94332
94333
  case 160 /* BigIntKeyword */:
94333
94334
  return getGlobalConstructor("BigInt", 7 /* ES2020 */);
94334
94335
  case 153 /* SymbolKeyword */:
@@ -94380,13 +94381,13 @@ function createRuntimeTypeSerializer(context) {
94380
94381
  default:
94381
94382
  return Debug.failBadSyntaxKind(node);
94382
94383
  }
94383
- return factory.createIdentifier("Object");
94384
+ return factory2.createIdentifier("Object");
94384
94385
  }
94385
94386
  function serializeLiteralOfLiteralTypeNode(node) {
94386
94387
  switch (node.kind) {
94387
94388
  case 10 /* StringLiteral */:
94388
94389
  case 14 /* NoSubstitutionTemplateLiteral */:
94389
- return factory.createIdentifier("String");
94390
+ return factory2.createIdentifier("String");
94390
94391
  case 221 /* PrefixUnaryExpression */: {
94391
94392
  const operand = node.operand;
94392
94393
  switch (operand.kind) {
@@ -94398,14 +94399,14 @@ function createRuntimeTypeSerializer(context) {
94398
94399
  }
94399
94400
  }
94400
94401
  case 8 /* NumericLiteral */:
94401
- return factory.createIdentifier("Number");
94402
+ return factory2.createIdentifier("Number");
94402
94403
  case 9 /* BigIntLiteral */:
94403
94404
  return getGlobalConstructor("BigInt", 7 /* ES2020 */);
94404
94405
  case 110 /* TrueKeyword */:
94405
94406
  case 95 /* FalseKeyword */:
94406
- return factory.createIdentifier("Boolean");
94407
+ return factory2.createIdentifier("Boolean");
94407
94408
  case 104 /* NullKeyword */:
94408
- return factory.createVoidZero();
94409
+ return factory2.createVoidZero();
94409
94410
  default:
94410
94411
  return Debug.failBadSyntaxKind(node);
94411
94412
  }
@@ -94416,16 +94417,16 @@ function createRuntimeTypeSerializer(context) {
94416
94417
  typeNode = skipTypeParentheses(typeNode);
94417
94418
  if (typeNode.kind === 144 /* NeverKeyword */) {
94418
94419
  if (isIntersection)
94419
- return factory.createVoidZero();
94420
+ return factory2.createVoidZero();
94420
94421
  continue;
94421
94422
  }
94422
94423
  if (typeNode.kind === 157 /* UnknownKeyword */) {
94423
94424
  if (!isIntersection)
94424
- return factory.createIdentifier("Object");
94425
+ return factory2.createIdentifier("Object");
94425
94426
  continue;
94426
94427
  }
94427
94428
  if (typeNode.kind === 131 /* AnyKeyword */) {
94428
- return factory.createIdentifier("Object");
94429
+ return factory2.createIdentifier("Object");
94429
94430
  }
94430
94431
  if (!strictNullChecks && (isLiteralTypeNode(typeNode) && typeNode.literal.kind === 104 /* NullKeyword */ || typeNode.kind === 155 /* UndefinedKeyword */)) {
94431
94432
  continue;
@@ -94436,13 +94437,13 @@ function createRuntimeTypeSerializer(context) {
94436
94437
  }
94437
94438
  if (serializedType) {
94438
94439
  if (!equateSerializedTypeNodes(serializedType, serializedConstituent)) {
94439
- return factory.createIdentifier("Object");
94440
+ return factory2.createIdentifier("Object");
94440
94441
  }
94441
94442
  } else {
94442
94443
  serializedType = serializedConstituent;
94443
94444
  }
94444
94445
  }
94445
- return serializedType != null ? serializedType : factory.createVoidZero();
94446
+ return serializedType != null ? serializedType : factory2.createVoidZero();
94446
94447
  }
94447
94448
  function equateSerializedTypeNodes(left, right) {
94448
94449
  return (
@@ -94476,48 +94477,48 @@ function createRuntimeTypeSerializer(context) {
94476
94477
  switch (kind) {
94477
94478
  case 0 /* Unknown */:
94478
94479
  if (findAncestor(node, (n) => n.parent && isConditionalTypeNode(n.parent) && (n.parent.trueType === n || n.parent.falseType === n))) {
94479
- return factory.createIdentifier("Object");
94480
+ return factory2.createIdentifier("Object");
94480
94481
  }
94481
94482
  const serialized = serializeEntityNameAsExpressionFallback(node.typeName);
94482
- const temp = factory.createTempVariable(hoistVariableDeclaration);
94483
- return factory.createConditionalExpression(
94484
- factory.createTypeCheck(factory.createAssignment(temp, serialized), "function"),
94483
+ const temp = factory2.createTempVariable(hoistVariableDeclaration);
94484
+ return factory2.createConditionalExpression(
94485
+ factory2.createTypeCheck(factory2.createAssignment(temp, serialized), "function"),
94485
94486
  /*questionToken*/
94486
94487
  void 0,
94487
94488
  temp,
94488
94489
  /*colonToken*/
94489
94490
  void 0,
94490
- factory.createIdentifier("Object")
94491
+ factory2.createIdentifier("Object")
94491
94492
  );
94492
94493
  case 1 /* TypeWithConstructSignatureAndValue */:
94493
94494
  return serializeEntityNameAsExpression(node.typeName);
94494
94495
  case 2 /* VoidNullableOrNeverType */:
94495
- return factory.createVoidZero();
94496
+ return factory2.createVoidZero();
94496
94497
  case 4 /* BigIntLikeType */:
94497
94498
  return getGlobalConstructor("BigInt", 7 /* ES2020 */);
94498
94499
  case 6 /* BooleanType */:
94499
- return factory.createIdentifier("Boolean");
94500
+ return factory2.createIdentifier("Boolean");
94500
94501
  case 3 /* NumberLikeType */:
94501
- return factory.createIdentifier("Number");
94502
+ return factory2.createIdentifier("Number");
94502
94503
  case 5 /* StringLikeType */:
94503
- return factory.createIdentifier("String");
94504
+ return factory2.createIdentifier("String");
94504
94505
  case 7 /* ArrayLikeType */:
94505
- return factory.createIdentifier("Array");
94506
+ return factory2.createIdentifier("Array");
94506
94507
  case 8 /* ESSymbolType */:
94507
94508
  return getGlobalConstructor("Symbol", 2 /* ES2015 */);
94508
94509
  case 10 /* TypeWithCallSignature */:
94509
- return factory.createIdentifier("Function");
94510
+ return factory2.createIdentifier("Function");
94510
94511
  case 9 /* Promise */:
94511
- return factory.createIdentifier("Promise");
94512
+ return factory2.createIdentifier("Promise");
94512
94513
  case 11 /* ObjectType */:
94513
- return factory.createIdentifier("Object");
94514
+ return factory2.createIdentifier("Object");
94514
94515
  default:
94515
94516
  return Debug.assertNever(kind);
94516
94517
  }
94517
94518
  }
94518
94519
  function createCheckedValue(left, right) {
94519
- return factory.createLogicalAnd(
94520
- factory.createStrictInequality(factory.createTypeOfExpression(left), factory.createStringLiteral("undefined")),
94520
+ return factory2.createLogicalAnd(
94521
+ factory2.createStrictInequality(factory2.createTypeOfExpression(left), factory2.createStringLiteral("undefined")),
94521
94522
  right
94522
94523
  );
94523
94524
  }
@@ -94530,13 +94531,13 @@ function createRuntimeTypeSerializer(context) {
94530
94531
  return createCheckedValue(serializeEntityNameAsExpression(node.left), serializeEntityNameAsExpression(node));
94531
94532
  }
94532
94533
  const left = serializeEntityNameAsExpressionFallback(node.left);
94533
- const temp = factory.createTempVariable(hoistVariableDeclaration);
94534
- return factory.createLogicalAnd(
94535
- factory.createLogicalAnd(
94534
+ const temp = factory2.createTempVariable(hoistVariableDeclaration);
94535
+ return factory2.createLogicalAnd(
94536
+ factory2.createLogicalAnd(
94536
94537
  left.left,
94537
- factory.createStrictInequality(factory.createAssignment(temp, left.right), factory.createVoidZero())
94538
+ factory2.createStrictInequality(factory2.createAssignment(temp, left.right), factory2.createVoidZero())
94538
94539
  ),
94539
- factory.createPropertyAccessExpression(temp, node.right)
94540
+ factory2.createPropertyAccessExpression(temp, node.right)
94540
94541
  );
94541
94542
  }
94542
94543
  function serializeEntityNameAsExpression(node) {
@@ -94551,21 +94552,21 @@ function createRuntimeTypeSerializer(context) {
94551
94552
  }
94552
94553
  }
94553
94554
  function serializeQualifiedNameAsExpression(node) {
94554
- return factory.createPropertyAccessExpression(serializeEntityNameAsExpression(node.left), node.right);
94555
+ return factory2.createPropertyAccessExpression(serializeEntityNameAsExpression(node.left), node.right);
94555
94556
  }
94556
94557
  function getGlobalConstructorWithFallback(name) {
94557
- return factory.createConditionalExpression(
94558
- factory.createTypeCheck(factory.createIdentifier(name), "function"),
94558
+ return factory2.createConditionalExpression(
94559
+ factory2.createTypeCheck(factory2.createIdentifier(name), "function"),
94559
94560
  /*questionToken*/
94560
94561
  void 0,
94561
- factory.createIdentifier(name),
94562
+ factory2.createIdentifier(name),
94562
94563
  /*colonToken*/
94563
94564
  void 0,
94564
- factory.createIdentifier("Object")
94565
+ factory2.createIdentifier("Object")
94565
94566
  );
94566
94567
  }
94567
94568
  function getGlobalConstructor(name, minLanguageVersion) {
94568
- return languageVersion < minLanguageVersion ? getGlobalConstructorWithFallback(name) : factory.createIdentifier(name);
94569
+ return languageVersion < minLanguageVersion ? getGlobalConstructorWithFallback(name) : factory2.createIdentifier(name);
94569
94570
  }
94570
94571
  }
94571
94572
 
@@ -109396,7 +109397,7 @@ function transformDeclarations(context) {
109396
109397
  }
109397
109398
  const newParam = factory2.updateParameterDeclaration(
109398
109399
  p,
109399
- maskModifiers(p, modifierMask),
109400
+ maskModifiers(factory2, p, modifierMask),
109400
109401
  p.dotDotDotToken,
109401
109402
  filterBindingPatternInitializersAndRenamings(p.name),
109402
109403
  resolver.isOptionalParameter(p) ? p.questionToken || factory2.createToken(57 /* QuestionToken */) : void 0,
@@ -110510,8 +110511,8 @@ function isAlwaysType(node) {
110510
110511
  }
110511
110512
  return false;
110512
110513
  }
110513
- function maskModifiers(node, modifierMask, modifierAdditions) {
110514
- return factory.createModifiersFromModifierFlags(maskModifierFlags(node, modifierMask, modifierAdditions));
110514
+ function maskModifiers(factory2, node, modifierMask, modifierAdditions) {
110515
+ return factory2.createModifiersFromModifierFlags(maskModifierFlags(node, modifierMask, modifierAdditions));
110515
110516
  }
110516
110517
  function maskModifierFlags(node, modifierMask = 258047 /* All */ ^ 4 /* Public */, modifierAdditions = 0 /* None */) {
110517
110518
  let flags = getEffectiveModifierFlags(node) & modifierMask | modifierAdditions;
@@ -120184,7 +120185,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
120184
120185
  const version2 = typeScriptVersion3 || versionMajorMinor;
120185
120186
  const ignoreDeprecations = options.ignoreDeprecations;
120186
120187
  if (ignoreDeprecations) {
120187
- if (ignoreDeprecations === "5.0" /* v5_0 */ && (version2 === "5.0" /* v5_0 */ || version2 === "5.5" /* v5_5 */)) {
120188
+ if (ignoreDeprecations === "5.0" /* v5_0 */ && version2.startsWith("5.")) {
120188
120189
  return;
120189
120190
  } else if (reportInvalidIgnoreDeprecations) {
120190
120191
  createOptionValueDiagnostic("ignoreDeprecations", Diagnostics.Invalid_value_for_ignoreDeprecations);
@@ -146246,7 +146247,7 @@ function inferTypeFromReferences(program, references, cancellationToken) {
146246
146247
  const props = createMultiMap();
146247
146248
  for (const anon2 of anons) {
146248
146249
  for (const p of checker.getPropertiesOfType(anon2)) {
146249
- props.add(p.name, p.valueDeclaration ? checker.getTypeOfSymbolAtLocation(p, p.valueDeclaration) : checker.getAnyType());
146250
+ props.add(p.escapedName, p.valueDeclaration ? checker.getTypeOfSymbolAtLocation(p, p.valueDeclaration) : checker.getAnyType());
146250
146251
  }
146251
146252
  calls.push(...checker.getSignaturesOfType(anon2, 0 /* Call */));
146252
146253
  constructs.push(...checker.getSignaturesOfType(anon2, 1 /* Construct */));
@@ -150110,7 +150111,8 @@ function getCompletionData(program, log, sourceFile, compilerOptions, position,
150110
150111
  }
150111
150112
  log("getCompletionData: Semantic work: " + (timestamp() - semanticStart));
150112
150113
  const contextualType = previousToken && getContextualType(previousToken, position, sourceFile, typeChecker);
150113
- const literals = mapDefined(
150114
+ const isLiteralExpected = !tryCast(previousToken, isStringLiteralLike) && !isJsxIdentifierExpected;
150115
+ const literals = !isLiteralExpected ? [] : mapDefined(
150114
150116
  contextualType && (contextualType.isUnion() ? contextualType.types : [contextualType]),
150115
150117
  (t) => t.isLiteral() && !(t.flags & 1024 /* EnumLiteral */) ? t.value : void 0
150116
150118
  );
@@ -156578,8 +156580,7 @@ function compareModuleSpecifiers2(m1, m2, ignoreCase) {
156578
156580
  function compareModuleSpecifiersWorker(m1, m2, comparer) {
156579
156581
  const name1 = m1 === void 0 ? void 0 : getExternalModuleName2(m1);
156580
156582
  const name2 = m2 === void 0 ? void 0 : getExternalModuleName2(m2);
156581
- return compareBooleans(name1 === void 0, name2 === void 0) || compareBooleans(isExternalModuleNameRelative(name1), isExternalModuleNameRelative(name2)) || // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
156582
- comparer(name1, name2);
156583
+ return compareBooleans(name1 === void 0, name2 === void 0) || compareBooleans(isExternalModuleNameRelative(name1), isExternalModuleNameRelative(name2)) || comparer(name1, name2);
156583
156584
  }
156584
156585
  function getModuleSpecifierExpression(declaration) {
156585
156586
  var _a2;
@@ -168103,7 +168104,6 @@ __export(ts_exports3, {
168103
168104
  createTypeChecker: () => createTypeChecker,
168104
168105
  createTypeReferenceDirectiveResolutionCache: () => createTypeReferenceDirectiveResolutionCache,
168105
168106
  createTypeReferenceResolutionLoader: () => createTypeReferenceResolutionLoader,
168106
- createUnderscoreEscapedMultiMap: () => createUnderscoreEscapedMultiMap,
168107
168107
  createUnparsedSourceFile: () => createUnparsedSourceFile,
168108
168108
  createWatchCompilerHost: () => createWatchCompilerHost2,
168109
168109
  createWatchCompilerHostOfConfigFile: () => createWatchCompilerHostOfConfigFile,
@@ -182053,7 +182053,6 @@ start(initializeNodeSystem(), require("os").platform());
182053
182053
  createTypeChecker,
182054
182054
  createTypeReferenceDirectiveResolutionCache,
182055
182055
  createTypeReferenceResolutionLoader,
182056
- createUnderscoreEscapedMultiMap,
182057
182056
  createUnparsedSourceFile,
182058
182057
  createWatchCompilerHost,
182059
182058
  createWatchCompilerHostOfConfigFile,
@@ -3989,7 +3989,7 @@ declare namespace ts {
3989
3989
  responseRequired?: boolean;
3990
3990
  }
3991
3991
  }
3992
- const versionMajorMinor = "5.0";
3992
+ const versionMajorMinor = "5.1";
3993
3993
  /** The version of the TypeScript compiler release */
3994
3994
  const version: string;
3995
3995
  /**
@@ -6636,14 +6636,12 @@ declare namespace ts {
6636
6636
  }) | (void & {
6637
6637
  __escapedIdentifier: void;
6638
6638
  }) | InternalSymbolName;
6639
- /** ReadonlyMap where keys are `__String`s. */
6640
- interface ReadonlyUnderscoreEscapedMap<T> extends ReadonlyMap<__String, T> {
6641
- }
6642
- /** Map where keys are `__String`s. */
6643
- interface UnderscoreEscapedMap<T> extends Map<__String, T> {
6644
- }
6639
+ /** @deprecated Use ReadonlyMap<__String, T> instead. */
6640
+ type ReadonlyUnderscoreEscapedMap<T> = ReadonlyMap<__String, T>;
6641
+ /** @deprecated Use Map<__String, T> instead. */
6642
+ type UnderscoreEscapedMap<T> = Map<__String, T>;
6645
6643
  /** SymbolTable based on ES6 Map interface. */
6646
- type SymbolTable = UnderscoreEscapedMap<Symbol>;
6644
+ type SymbolTable = Map<__String, Symbol>;
6647
6645
  enum TypeFlags {
6648
6646
  Any = 1,
6649
6647
  Unknown = 2,