@typescript-deploys/pr-build 5.0.0-pr-52947-27 → 5.0.0-pr-52899-9

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/tsc.js CHANGED
@@ -3783,7 +3783,6 @@ var TypeFlags = /* @__PURE__ */ ((TypeFlags2) => {
3783
3783
  TypeFlags2[TypeFlags2["IncludesEmptyObject"] = 16777216 /* Conditional */] = "IncludesEmptyObject";
3784
3784
  TypeFlags2[TypeFlags2["IncludesInstantiable"] = 33554432 /* Substitution */] = "IncludesInstantiable";
3785
3785
  TypeFlags2[TypeFlags2["NotPrimitiveUnion"] = 36323363] = "NotPrimitiveUnion";
3786
- TypeFlags2[TypeFlags2["HasWrapper"] = 402668540] = "HasWrapper";
3787
3786
  return TypeFlags2;
3788
3787
  })(TypeFlags || {});
3789
3788
  var ObjectFlags = /* @__PURE__ */ ((ObjectFlags3) => {
@@ -7826,7 +7825,8 @@ var Diagnostics = {
7826
7825
  _0_is_possibly_undefined: diag(18048, 1 /* Error */, "_0_is_possibly_undefined_18048", "'{0}' is possibly 'undefined'."),
7827
7826
  _0_is_possibly_null_or_undefined: diag(18049, 1 /* Error */, "_0_is_possibly_null_or_undefined_18049", "'{0}' is possibly 'null' or 'undefined'."),
7828
7827
  The_value_0_cannot_be_used_here: diag(18050, 1 /* Error */, "The_value_0_cannot_be_used_here_18050", "The value '{0}' cannot be used here."),
7829
- Compiler_option_0_cannot_be_given_an_empty_string: diag(18051, 1 /* Error */, "Compiler_option_0_cannot_be_given_an_empty_string_18051", "Compiler option '{0}' cannot be given an empty string.")
7828
+ Compiler_option_0_cannot_be_given_an_empty_string: diag(18051, 1 /* Error */, "Compiler_option_0_cannot_be_given_an_empty_string_18051", "Compiler option '{0}' cannot be given an empty string."),
7829
+ Add_missing_comma_for_an_object_member_completion_0: diag(18052, 3 /* Message */, "Add_missing_comma_for_an_object_member_completion_0_18052", "Add missing comma for an object member completion '{0}'.")
7830
7830
  };
7831
7831
 
7832
7832
  // src/compiler/scanner.ts
@@ -59307,7 +59307,7 @@ function createTypeChecker(host) {
59307
59307
  function tryElaborateErrorsForPrimitivesAndObjects(source2, target2) {
59308
59308
  const sourceType = symbolValueDeclarationIsContextSensitive(source2.symbol) ? typeToString(source2, source2.symbol.valueDeclaration) : typeToString(source2);
59309
59309
  const targetType = symbolValueDeclarationIsContextSensitive(target2.symbol) ? typeToString(target2, target2.symbol.valueDeclaration) : typeToString(target2);
59310
- if (globalStringType === source2 && stringType === target2 || globalNumberType === source2 && numberType === target2 || globalBooleanType === source2 && booleanType === target2 || getGlobalESSymbolType() === source2 && esSymbolType === target2 || getGlobalBigIntType() === source2 && bigintType === target2) {
59310
+ if (globalStringType === source2 && stringType === target2 || globalNumberType === source2 && numberType === target2 || globalBooleanType === source2 && booleanType === target2 || getGlobalESSymbolType() === source2 && esSymbolType === target2) {
59311
59311
  reportError(Diagnostics._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible, targetType, sourceType);
59312
59312
  }
59313
59313
  }
@@ -59464,9 +59464,6 @@ function createTypeChecker(host) {
59464
59464
  }
59465
59465
  if (source2.flags & 524288 /* Object */ && target2.flags & 134348796 /* Primitive */) {
59466
59466
  tryElaborateErrorsForPrimitivesAndObjects(source2, target2);
59467
- }
59468
- if (target2.flags & 524288 /* Object */ && source2.flags & 134348796 /* Primitive */) {
59469
- tryElaborateErrorsForPrimitivesAndObjects(target2, source2);
59470
59467
  } else if (source2.symbol && source2.flags & 524288 /* Object */ && globalObjectType === source2) {
59471
59468
  reportError(Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);
59472
59469
  } else if (getObjectFlags(source2) & 2048 /* JsxAttributes */ && target2.flags & 2097152 /* Intersection */) {
@@ -60514,13 +60511,8 @@ function createTypeChecker(host) {
60514
60511
  }
60515
60512
  const sourceIsPrimitive = !!(sourceFlags & 134348796 /* Primitive */);
60516
60513
  if (relation !== identityRelation) {
60517
- const originalSource = source2;
60518
- const originalFlags = sourceFlags;
60519
60514
  source2 = getApparentType(source2);
60520
60515
  sourceFlags = source2.flags;
60521
- if (source2 !== originalSource && originalFlags & 402668540 /* HasWrapper */ && !(sourceFlags & 402668540 /* HasWrapper */) && source2 === target2) {
60522
- return 0 /* False */;
60523
- }
60524
60516
  } else if (isGenericMappedType(source2)) {
60525
60517
  return 0 /* False */;
60526
60518
  }
package/lib/tsserver.js CHANGED
@@ -6707,7 +6707,6 @@ var TypeFlags = /* @__PURE__ */ ((TypeFlags2) => {
6707
6707
  TypeFlags2[TypeFlags2["IncludesEmptyObject"] = 16777216 /* Conditional */] = "IncludesEmptyObject";
6708
6708
  TypeFlags2[TypeFlags2["IncludesInstantiable"] = 33554432 /* Substitution */] = "IncludesInstantiable";
6709
6709
  TypeFlags2[TypeFlags2["NotPrimitiveUnion"] = 36323363] = "NotPrimitiveUnion";
6710
- TypeFlags2[TypeFlags2["HasWrapper"] = 402668540] = "HasWrapper";
6711
6710
  return TypeFlags2;
6712
6711
  })(TypeFlags || {});
6713
6712
  var ObjectFlags = /* @__PURE__ */ ((ObjectFlags3) => {
@@ -11290,7 +11289,8 @@ var Diagnostics = {
11290
11289
  _0_is_possibly_undefined: diag(18048, 1 /* Error */, "_0_is_possibly_undefined_18048", "'{0}' is possibly 'undefined'."),
11291
11290
  _0_is_possibly_null_or_undefined: diag(18049, 1 /* Error */, "_0_is_possibly_null_or_undefined_18049", "'{0}' is possibly 'null' or 'undefined'."),
11292
11291
  The_value_0_cannot_be_used_here: diag(18050, 1 /* Error */, "The_value_0_cannot_be_used_here_18050", "The value '{0}' cannot be used here."),
11293
- Compiler_option_0_cannot_be_given_an_empty_string: diag(18051, 1 /* Error */, "Compiler_option_0_cannot_be_given_an_empty_string_18051", "Compiler option '{0}' cannot be given an empty string.")
11292
+ Compiler_option_0_cannot_be_given_an_empty_string: diag(18051, 1 /* Error */, "Compiler_option_0_cannot_be_given_an_empty_string_18051", "Compiler option '{0}' cannot be given an empty string."),
11293
+ Add_missing_comma_for_an_object_member_completion_0: diag(18052, 3 /* Message */, "Add_missing_comma_for_an_object_member_completion_0_18052", "Add missing comma for an object member completion '{0}'.")
11294
11294
  };
11295
11295
 
11296
11296
  // src/compiler/scanner.ts
@@ -63914,7 +63914,7 @@ function createTypeChecker(host) {
63914
63914
  function tryElaborateErrorsForPrimitivesAndObjects(source2, target2) {
63915
63915
  const sourceType = symbolValueDeclarationIsContextSensitive(source2.symbol) ? typeToString(source2, source2.symbol.valueDeclaration) : typeToString(source2);
63916
63916
  const targetType = symbolValueDeclarationIsContextSensitive(target2.symbol) ? typeToString(target2, target2.symbol.valueDeclaration) : typeToString(target2);
63917
- if (globalStringType === source2 && stringType === target2 || globalNumberType === source2 && numberType === target2 || globalBooleanType === source2 && booleanType === target2 || getGlobalESSymbolType() === source2 && esSymbolType === target2 || getGlobalBigIntType() === source2 && bigintType === target2) {
63917
+ if (globalStringType === source2 && stringType === target2 || globalNumberType === source2 && numberType === target2 || globalBooleanType === source2 && booleanType === target2 || getGlobalESSymbolType() === source2 && esSymbolType === target2) {
63918
63918
  reportError(Diagnostics._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible, targetType, sourceType);
63919
63919
  }
63920
63920
  }
@@ -64071,9 +64071,6 @@ function createTypeChecker(host) {
64071
64071
  }
64072
64072
  if (source2.flags & 524288 /* Object */ && target2.flags & 134348796 /* Primitive */) {
64073
64073
  tryElaborateErrorsForPrimitivesAndObjects(source2, target2);
64074
- }
64075
- if (target2.flags & 524288 /* Object */ && source2.flags & 134348796 /* Primitive */) {
64076
- tryElaborateErrorsForPrimitivesAndObjects(target2, source2);
64077
64074
  } else if (source2.symbol && source2.flags & 524288 /* Object */ && globalObjectType === source2) {
64078
64075
  reportError(Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);
64079
64076
  } else if (getObjectFlags(source2) & 2048 /* JsxAttributes */ && target2.flags & 2097152 /* Intersection */) {
@@ -65121,13 +65118,8 @@ function createTypeChecker(host) {
65121
65118
  }
65122
65119
  const sourceIsPrimitive = !!(sourceFlags & 134348796 /* Primitive */);
65123
65120
  if (relation !== identityRelation) {
65124
- const originalSource = source2;
65125
- const originalFlags = sourceFlags;
65126
65121
  source2 = getApparentType(source2);
65127
65122
  sourceFlags = source2.flags;
65128
- if (source2 !== originalSource && originalFlags & 402668540 /* HasWrapper */ && !(sourceFlags & 402668540 /* HasWrapper */) && source2 === target2) {
65129
- return 0 /* False */;
65130
- }
65131
65123
  } else if (isGenericMappedType(source2)) {
65132
65124
  return 0 /* False */;
65133
65125
  }
@@ -148303,6 +148295,7 @@ var CompletionSource = /* @__PURE__ */ ((CompletionSource2) => {
148303
148295
  CompletionSource2["TypeOnlyAlias"] = "TypeOnlyAlias/";
148304
148296
  CompletionSource2["ObjectLiteralMethodSnippet"] = "ObjectLiteralMethodSnippet/";
148305
148297
  CompletionSource2["SwitchCases"] = "SwitchCases/";
148298
+ CompletionSource2["ObjectLiteralExpression"] = "ObjectLiteralExpression/";
148306
148299
  return CompletionSource2;
148307
148300
  })(CompletionSource || {});
148308
148301
  var SymbolOriginInfoKind = /* @__PURE__ */ ((SymbolOriginInfoKind2) => {
@@ -148900,6 +148893,7 @@ function createCompletionEntryForLiteral(sourceFile, preferences, literal) {
148900
148893
  return { name: completionNameForLiteral(sourceFile, preferences, literal), kind: "string" /* string */, kindModifiers: "" /* none */, sortText: SortText.LocationPriority };
148901
148894
  }
148902
148895
  function createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, position, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importStatementCompletion, useSemicolons, options, preferences, completionKind, formatContext, isJsxIdentifierExpected, isRightOfOpenTag, includeSymbol) {
148896
+ var _a2;
148903
148897
  let insertText;
148904
148898
  let replacementSpan = getReplacementSpanForContextToken(replacementToken);
148905
148899
  let data;
@@ -148957,6 +148951,10 @@ function createCompletionEntry(symbol, sortText, replacementToken, contextToken,
148957
148951
  if ((origin == null ? void 0 : origin.kind) === 64 /* TypeOnlyAlias */) {
148958
148952
  hasAction = true;
148959
148953
  }
148954
+ if (contextToken && isPropertyAssignment(contextToken.parent) && ((_a2 = findNextToken(contextToken, contextToken == null ? void 0 : contextToken.parent, sourceFile)) == null ? void 0 : _a2.kind) !== 27 /* CommaToken */ && completionKind === 0 /* ObjectPropertyDeclaration */) {
148955
+ source = "ObjectLiteralExpression/" /* ObjectLiteralExpression */;
148956
+ hasAction = true;
148957
+ }
148960
148958
  if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && completionKind === 3 /* MemberLike */ && isClassLikeMemberCompletion(symbol, location, sourceFile)) {
148961
148959
  let importAdder;
148962
148960
  ({ insertText, isSnippet, importAdder, replacementSpan } = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, position, contextToken, formatContext));
@@ -149645,7 +149643,7 @@ function getSymbolCompletionFromEntryId(program, log, sourceFile, position, entr
149645
149643
  return firstDefined(symbols, (symbol, index) => {
149646
149644
  const origin = symbolToOriginInfoMap[index];
149647
149645
  const info = getCompletionEntryDisplayNameForSymbol(symbol, getEmitScriptTarget(compilerOptions), origin, completionKind, completionData.isJsxIdentifierExpected);
149648
- return info && info.name === entryId.name && (entryId.source === "ClassMemberSnippet/" /* ClassMemberSnippet */ && symbol.flags & 106500 /* ClassMember */ || entryId.source === "ObjectLiteralMethodSnippet/" /* ObjectLiteralMethodSnippet */ && symbol.flags & (4 /* Property */ | 8192 /* Method */) || getSourceFromOrigin(origin) === entryId.source) ? { type: "symbol", symbol, location, origin, contextToken, previousToken, isJsxInitializer, isTypeOnlyLocation } : void 0;
149646
+ return info && info.name === entryId.name && (entryId.source === "ClassMemberSnippet/" /* ClassMemberSnippet */ && symbol.flags & 106500 /* ClassMember */ || entryId.source === "ObjectLiteralMethodSnippet/" /* ObjectLiteralMethodSnippet */ && symbol.flags & (4 /* Property */ | 8192 /* Method */) || getSourceFromOrigin(origin) === entryId.source || entryId.source === "ObjectLiteralExpression/" /* ObjectLiteralExpression */) ? { type: "symbol", symbol, location, origin, contextToken, previousToken, isJsxInitializer, isTypeOnlyLocation } : void 0;
149649
149647
  }) || { type: "none" };
149650
149648
  }
149651
149649
  function getCompletionEntryDetails(program, log, sourceFile, position, entryId, host, formatContext, preferences, cancellationToken) {
@@ -149783,6 +149781,21 @@ function getCompletionEntryCodeActionsAndSourceDisplay(name, location, contextTo
149783
149781
  Debug.assertIsDefined(codeAction2, "Expected to have a code action for promoting type-only alias");
149784
149782
  return { codeActions: [codeAction2], sourceDisplay: void 0 };
149785
149783
  }
149784
+ if (source === "ObjectLiteralExpression/" /* ObjectLiteralExpression */ && contextToken) {
149785
+ const changes = ts_textChanges_exports.ChangeTracker.with(
149786
+ { host, formatContext, preferences },
149787
+ (tracker) => tracker.insertText(sourceFile, contextToken.end, ",")
149788
+ );
149789
+ if (changes) {
149790
+ return {
149791
+ sourceDisplay: void 0,
149792
+ codeActions: [{
149793
+ changes,
149794
+ description: diagnosticToString([Diagnostics.Add_missing_comma_for_an_object_member_completion_0, name])
149795
+ }]
149796
+ };
149797
+ }
149798
+ }
149786
149799
  if (!origin || !(originIsExport(origin) || originIsResolvedExport(origin))) {
149787
149800
  return { codeActions: void 0, sourceDisplay: void 0 };
149788
149801
  }
@@ -151190,6 +151203,10 @@ function tryGetObjectLikeCompletionContainer(contextToken) {
151190
151203
  return isMethodDeclaration(parent2) ? tryCast(parent2.parent, isObjectLiteralExpression) : void 0;
151191
151204
  case 79 /* Identifier */:
151192
151205
  return contextToken.text === "async" && isShorthandPropertyAssignment(contextToken.parent) ? contextToken.parent.parent : void 0;
151206
+ default:
151207
+ if (parent2.parent && isObjectLiteralExpression(parent2.parent) && contextToken.kind !== 58 /* ColonToken */) {
151208
+ return parent2.parent;
151209
+ }
151193
151210
  }
151194
151211
  }
151195
151212
  return void 0;
@@ -163883,6 +163900,10 @@ var ChangeTracker = class {
163883
163900
  const suffix = this.nextCommaToken(sourceFile, oldNode) ? "" : "," + this.newLineCharacter;
163884
163901
  this.replaceNode(sourceFile, oldNode, newNode, { suffix });
163885
163902
  }
163903
+ replacePropertyAssignmentOnSameLine(sourceFile, oldNode, newNode) {
163904
+ const suffix = this.nextCommaToken(sourceFile, oldNode) ? "" : ",";
163905
+ this.replaceNode(sourceFile, oldNode, newNode, { suffix });
163906
+ }
163886
163907
  insertNodeAt(sourceFile, pos, newNode, options = {}) {
163887
163908
  this.replaceRange(sourceFile, createRange(pos), newNode, options);
163888
163909
  }
@@ -4512,7 +4512,6 @@ ${lanes.join("\n")}
4512
4512
  TypeFlags2[TypeFlags2["IncludesEmptyObject"] = 16777216 /* Conditional */] = "IncludesEmptyObject";
4513
4513
  TypeFlags2[TypeFlags2["IncludesInstantiable"] = 33554432 /* Substitution */] = "IncludesInstantiable";
4514
4514
  TypeFlags2[TypeFlags2["NotPrimitiveUnion"] = 36323363] = "NotPrimitiveUnion";
4515
- TypeFlags2[TypeFlags2["HasWrapper"] = 402668540] = "HasWrapper";
4516
4515
  return TypeFlags2;
4517
4516
  })(TypeFlags || {});
4518
4517
  ObjectFlags = /* @__PURE__ */ ((ObjectFlags3) => {
@@ -9112,7 +9111,8 @@ ${lanes.join("\n")}
9112
9111
  _0_is_possibly_undefined: diag(18048, 1 /* Error */, "_0_is_possibly_undefined_18048", "'{0}' is possibly 'undefined'."),
9113
9112
  _0_is_possibly_null_or_undefined: diag(18049, 1 /* Error */, "_0_is_possibly_null_or_undefined_18049", "'{0}' is possibly 'null' or 'undefined'."),
9114
9113
  The_value_0_cannot_be_used_here: diag(18050, 1 /* Error */, "The_value_0_cannot_be_used_here_18050", "The value '{0}' cannot be used here."),
9115
- Compiler_option_0_cannot_be_given_an_empty_string: diag(18051, 1 /* Error */, "Compiler_option_0_cannot_be_given_an_empty_string_18051", "Compiler option '{0}' cannot be given an empty string.")
9114
+ Compiler_option_0_cannot_be_given_an_empty_string: diag(18051, 1 /* Error */, "Compiler_option_0_cannot_be_given_an_empty_string_18051", "Compiler option '{0}' cannot be given an empty string."),
9115
+ Add_missing_comma_for_an_object_member_completion_0: diag(18052, 3 /* Message */, "Add_missing_comma_for_an_object_member_completion_0_18052", "Add missing comma for an object member completion '{0}'.")
9116
9116
  };
9117
9117
  }
9118
9118
  });
@@ -61722,7 +61722,7 @@ ${lanes.join("\n")}
61722
61722
  function tryElaborateErrorsForPrimitivesAndObjects(source2, target2) {
61723
61723
  const sourceType = symbolValueDeclarationIsContextSensitive(source2.symbol) ? typeToString(source2, source2.symbol.valueDeclaration) : typeToString(source2);
61724
61724
  const targetType = symbolValueDeclarationIsContextSensitive(target2.symbol) ? typeToString(target2, target2.symbol.valueDeclaration) : typeToString(target2);
61725
- if (globalStringType === source2 && stringType === target2 || globalNumberType === source2 && numberType === target2 || globalBooleanType === source2 && booleanType === target2 || getGlobalESSymbolType() === source2 && esSymbolType === target2 || getGlobalBigIntType() === source2 && bigintType === target2) {
61725
+ if (globalStringType === source2 && stringType === target2 || globalNumberType === source2 && numberType === target2 || globalBooleanType === source2 && booleanType === target2 || getGlobalESSymbolType() === source2 && esSymbolType === target2) {
61726
61726
  reportError(Diagnostics._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible, targetType, sourceType);
61727
61727
  }
61728
61728
  }
@@ -61879,9 +61879,6 @@ ${lanes.join("\n")}
61879
61879
  }
61880
61880
  if (source2.flags & 524288 /* Object */ && target2.flags & 134348796 /* Primitive */) {
61881
61881
  tryElaborateErrorsForPrimitivesAndObjects(source2, target2);
61882
- }
61883
- if (target2.flags & 524288 /* Object */ && source2.flags & 134348796 /* Primitive */) {
61884
- tryElaborateErrorsForPrimitivesAndObjects(target2, source2);
61885
61882
  } else if (source2.symbol && source2.flags & 524288 /* Object */ && globalObjectType === source2) {
61886
61883
  reportError(Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);
61887
61884
  } else if (getObjectFlags(source2) & 2048 /* JsxAttributes */ && target2.flags & 2097152 /* Intersection */) {
@@ -62929,13 +62926,8 @@ ${lanes.join("\n")}
62929
62926
  }
62930
62927
  const sourceIsPrimitive = !!(sourceFlags & 134348796 /* Primitive */);
62931
62928
  if (relation !== identityRelation) {
62932
- const originalSource = source2;
62933
- const originalFlags = sourceFlags;
62934
62929
  source2 = getApparentType(source2);
62935
62930
  sourceFlags = source2.flags;
62936
- if (source2 !== originalSource && originalFlags & 402668540 /* HasWrapper */ && !(sourceFlags & 402668540 /* HasWrapper */) && source2 === target2) {
62937
- return 0 /* False */;
62938
- }
62939
62931
  } else if (isGenericMappedType(source2)) {
62940
62932
  return 0 /* False */;
62941
62933
  }
@@ -147952,6 +147944,7 @@ ${lanes.join("\n")}
147952
147944
  return { name: completionNameForLiteral(sourceFile, preferences, literal), kind: "string" /* string */, kindModifiers: "" /* none */, sortText: SortText.LocationPriority };
147953
147945
  }
147954
147946
  function createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, position, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importStatementCompletion, useSemicolons, options, preferences, completionKind, formatContext, isJsxIdentifierExpected, isRightOfOpenTag, includeSymbol) {
147947
+ var _a2;
147955
147948
  let insertText;
147956
147949
  let replacementSpan = getReplacementSpanForContextToken(replacementToken);
147957
147950
  let data;
@@ -148009,6 +148002,10 @@ ${lanes.join("\n")}
148009
148002
  if ((origin == null ? void 0 : origin.kind) === 64 /* TypeOnlyAlias */) {
148010
148003
  hasAction = true;
148011
148004
  }
148005
+ if (contextToken && isPropertyAssignment(contextToken.parent) && ((_a2 = findNextToken(contextToken, contextToken == null ? void 0 : contextToken.parent, sourceFile)) == null ? void 0 : _a2.kind) !== 27 /* CommaToken */ && completionKind === 0 /* ObjectPropertyDeclaration */) {
148006
+ source = "ObjectLiteralExpression/" /* ObjectLiteralExpression */;
148007
+ hasAction = true;
148008
+ }
148012
148009
  if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && completionKind === 3 /* MemberLike */ && isClassLikeMemberCompletion(symbol, location, sourceFile)) {
148013
148010
  let importAdder;
148014
148011
  ({ insertText, isSnippet, importAdder, replacementSpan } = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, position, contextToken, formatContext));
@@ -148697,7 +148694,7 @@ ${lanes.join("\n")}
148697
148694
  return firstDefined(symbols, (symbol, index) => {
148698
148695
  const origin = symbolToOriginInfoMap[index];
148699
148696
  const info = getCompletionEntryDisplayNameForSymbol(symbol, getEmitScriptTarget(compilerOptions), origin, completionKind, completionData.isJsxIdentifierExpected);
148700
- return info && info.name === entryId.name && (entryId.source === "ClassMemberSnippet/" /* ClassMemberSnippet */ && symbol.flags & 106500 /* ClassMember */ || entryId.source === "ObjectLiteralMethodSnippet/" /* ObjectLiteralMethodSnippet */ && symbol.flags & (4 /* Property */ | 8192 /* Method */) || getSourceFromOrigin(origin) === entryId.source) ? { type: "symbol", symbol, location, origin, contextToken, previousToken, isJsxInitializer, isTypeOnlyLocation } : void 0;
148697
+ return info && info.name === entryId.name && (entryId.source === "ClassMemberSnippet/" /* ClassMemberSnippet */ && symbol.flags & 106500 /* ClassMember */ || entryId.source === "ObjectLiteralMethodSnippet/" /* ObjectLiteralMethodSnippet */ && symbol.flags & (4 /* Property */ | 8192 /* Method */) || getSourceFromOrigin(origin) === entryId.source || entryId.source === "ObjectLiteralExpression/" /* ObjectLiteralExpression */) ? { type: "symbol", symbol, location, origin, contextToken, previousToken, isJsxInitializer, isTypeOnlyLocation } : void 0;
148701
148698
  }) || { type: "none" };
148702
148699
  }
148703
148700
  function getCompletionEntryDetails(program, log, sourceFile, position, entryId, host, formatContext, preferences, cancellationToken) {
@@ -148835,6 +148832,21 @@ ${lanes.join("\n")}
148835
148832
  Debug.assertIsDefined(codeAction2, "Expected to have a code action for promoting type-only alias");
148836
148833
  return { codeActions: [codeAction2], sourceDisplay: void 0 };
148837
148834
  }
148835
+ if (source === "ObjectLiteralExpression/" /* ObjectLiteralExpression */ && contextToken) {
148836
+ const changes = ts_textChanges_exports.ChangeTracker.with(
148837
+ { host, formatContext, preferences },
148838
+ (tracker) => tracker.insertText(sourceFile, contextToken.end, ",")
148839
+ );
148840
+ if (changes) {
148841
+ return {
148842
+ sourceDisplay: void 0,
148843
+ codeActions: [{
148844
+ changes,
148845
+ description: diagnosticToString([Diagnostics.Add_missing_comma_for_an_object_member_completion_0, name])
148846
+ }]
148847
+ };
148848
+ }
148849
+ }
148838
148850
  if (!origin || !(originIsExport(origin) || originIsResolvedExport(origin))) {
148839
148851
  return { codeActions: void 0, sourceDisplay: void 0 };
148840
148852
  }
@@ -150233,6 +150245,10 @@ ${lanes.join("\n")}
150233
150245
  return isMethodDeclaration(parent2) ? tryCast(parent2.parent, isObjectLiteralExpression) : void 0;
150234
150246
  case 79 /* Identifier */:
150235
150247
  return contextToken.text === "async" && isShorthandPropertyAssignment(contextToken.parent) ? contextToken.parent.parent : void 0;
150248
+ default:
150249
+ if (parent2.parent && isObjectLiteralExpression(parent2.parent) && contextToken.kind !== 58 /* ColonToken */) {
150250
+ return parent2.parent;
150251
+ }
150236
150252
  }
150237
150253
  }
150238
150254
  return void 0;
@@ -150773,6 +150789,7 @@ ${lanes.join("\n")}
150773
150789
  CompletionSource2["TypeOnlyAlias"] = "TypeOnlyAlias/";
150774
150790
  CompletionSource2["ObjectLiteralMethodSnippet"] = "ObjectLiteralMethodSnippet/";
150775
150791
  CompletionSource2["SwitchCases"] = "SwitchCases/";
150792
+ CompletionSource2["ObjectLiteralExpression"] = "ObjectLiteralExpression/";
150776
150793
  return CompletionSource2;
150777
150794
  })(CompletionSource || {});
150778
150795
  SymbolOriginInfoKind = /* @__PURE__ */ ((SymbolOriginInfoKind2) => {
@@ -163766,6 +163783,10 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
163766
163783
  const suffix = this.nextCommaToken(sourceFile, oldNode) ? "" : "," + this.newLineCharacter;
163767
163784
  this.replaceNode(sourceFile, oldNode, newNode, { suffix });
163768
163785
  }
163786
+ replacePropertyAssignmentOnSameLine(sourceFile, oldNode, newNode) {
163787
+ const suffix = this.nextCommaToken(sourceFile, oldNode) ? "" : ",";
163788
+ this.replaceNode(sourceFile, oldNode, newNode, { suffix });
163789
+ }
163769
163790
  insertNodeAt(sourceFile, pos, newNode, options = {}) {
163770
163791
  this.replaceRange(sourceFile, createRange(pos), newNode, options);
163771
163792
  }
package/lib/typescript.js CHANGED
@@ -4512,7 +4512,6 @@ ${lanes.join("\n")}
4512
4512
  TypeFlags2[TypeFlags2["IncludesEmptyObject"] = 16777216 /* Conditional */] = "IncludesEmptyObject";
4513
4513
  TypeFlags2[TypeFlags2["IncludesInstantiable"] = 33554432 /* Substitution */] = "IncludesInstantiable";
4514
4514
  TypeFlags2[TypeFlags2["NotPrimitiveUnion"] = 36323363] = "NotPrimitiveUnion";
4515
- TypeFlags2[TypeFlags2["HasWrapper"] = 402668540] = "HasWrapper";
4516
4515
  return TypeFlags2;
4517
4516
  })(TypeFlags || {});
4518
4517
  ObjectFlags = /* @__PURE__ */ ((ObjectFlags3) => {
@@ -9112,7 +9111,8 @@ ${lanes.join("\n")}
9112
9111
  _0_is_possibly_undefined: diag(18048, 1 /* Error */, "_0_is_possibly_undefined_18048", "'{0}' is possibly 'undefined'."),
9113
9112
  _0_is_possibly_null_or_undefined: diag(18049, 1 /* Error */, "_0_is_possibly_null_or_undefined_18049", "'{0}' is possibly 'null' or 'undefined'."),
9114
9113
  The_value_0_cannot_be_used_here: diag(18050, 1 /* Error */, "The_value_0_cannot_be_used_here_18050", "The value '{0}' cannot be used here."),
9115
- Compiler_option_0_cannot_be_given_an_empty_string: diag(18051, 1 /* Error */, "Compiler_option_0_cannot_be_given_an_empty_string_18051", "Compiler option '{0}' cannot be given an empty string.")
9114
+ Compiler_option_0_cannot_be_given_an_empty_string: diag(18051, 1 /* Error */, "Compiler_option_0_cannot_be_given_an_empty_string_18051", "Compiler option '{0}' cannot be given an empty string."),
9115
+ Add_missing_comma_for_an_object_member_completion_0: diag(18052, 3 /* Message */, "Add_missing_comma_for_an_object_member_completion_0_18052", "Add missing comma for an object member completion '{0}'.")
9116
9116
  };
9117
9117
  }
9118
9118
  });
@@ -61722,7 +61722,7 @@ ${lanes.join("\n")}
61722
61722
  function tryElaborateErrorsForPrimitivesAndObjects(source2, target2) {
61723
61723
  const sourceType = symbolValueDeclarationIsContextSensitive(source2.symbol) ? typeToString(source2, source2.symbol.valueDeclaration) : typeToString(source2);
61724
61724
  const targetType = symbolValueDeclarationIsContextSensitive(target2.symbol) ? typeToString(target2, target2.symbol.valueDeclaration) : typeToString(target2);
61725
- if (globalStringType === source2 && stringType === target2 || globalNumberType === source2 && numberType === target2 || globalBooleanType === source2 && booleanType === target2 || getGlobalESSymbolType() === source2 && esSymbolType === target2 || getGlobalBigIntType() === source2 && bigintType === target2) {
61725
+ if (globalStringType === source2 && stringType === target2 || globalNumberType === source2 && numberType === target2 || globalBooleanType === source2 && booleanType === target2 || getGlobalESSymbolType() === source2 && esSymbolType === target2) {
61726
61726
  reportError(Diagnostics._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible, targetType, sourceType);
61727
61727
  }
61728
61728
  }
@@ -61879,9 +61879,6 @@ ${lanes.join("\n")}
61879
61879
  }
61880
61880
  if (source2.flags & 524288 /* Object */ && target2.flags & 134348796 /* Primitive */) {
61881
61881
  tryElaborateErrorsForPrimitivesAndObjects(source2, target2);
61882
- }
61883
- if (target2.flags & 524288 /* Object */ && source2.flags & 134348796 /* Primitive */) {
61884
- tryElaborateErrorsForPrimitivesAndObjects(target2, source2);
61885
61882
  } else if (source2.symbol && source2.flags & 524288 /* Object */ && globalObjectType === source2) {
61886
61883
  reportError(Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);
61887
61884
  } else if (getObjectFlags(source2) & 2048 /* JsxAttributes */ && target2.flags & 2097152 /* Intersection */) {
@@ -62929,13 +62926,8 @@ ${lanes.join("\n")}
62929
62926
  }
62930
62927
  const sourceIsPrimitive = !!(sourceFlags & 134348796 /* Primitive */);
62931
62928
  if (relation !== identityRelation) {
62932
- const originalSource = source2;
62933
- const originalFlags = sourceFlags;
62934
62929
  source2 = getApparentType(source2);
62935
62930
  sourceFlags = source2.flags;
62936
- if (source2 !== originalSource && originalFlags & 402668540 /* HasWrapper */ && !(sourceFlags & 402668540 /* HasWrapper */) && source2 === target2) {
62937
- return 0 /* False */;
62938
- }
62939
62931
  } else if (isGenericMappedType(source2)) {
62940
62932
  return 0 /* False */;
62941
62933
  }
@@ -147966,6 +147958,7 @@ ${lanes.join("\n")}
147966
147958
  return { name: completionNameForLiteral(sourceFile, preferences, literal), kind: "string" /* string */, kindModifiers: "" /* none */, sortText: SortText.LocationPriority };
147967
147959
  }
147968
147960
  function createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, position, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importStatementCompletion, useSemicolons, options, preferences, completionKind, formatContext, isJsxIdentifierExpected, isRightOfOpenTag, includeSymbol) {
147961
+ var _a2;
147969
147962
  let insertText;
147970
147963
  let replacementSpan = getReplacementSpanForContextToken(replacementToken);
147971
147964
  let data;
@@ -148023,6 +148016,10 @@ ${lanes.join("\n")}
148023
148016
  if ((origin == null ? void 0 : origin.kind) === 64 /* TypeOnlyAlias */) {
148024
148017
  hasAction = true;
148025
148018
  }
148019
+ if (contextToken && isPropertyAssignment(contextToken.parent) && ((_a2 = findNextToken(contextToken, contextToken == null ? void 0 : contextToken.parent, sourceFile)) == null ? void 0 : _a2.kind) !== 27 /* CommaToken */ && completionKind === 0 /* ObjectPropertyDeclaration */) {
148020
+ source = "ObjectLiteralExpression/" /* ObjectLiteralExpression */;
148021
+ hasAction = true;
148022
+ }
148026
148023
  if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && completionKind === 3 /* MemberLike */ && isClassLikeMemberCompletion(symbol, location, sourceFile)) {
148027
148024
  let importAdder;
148028
148025
  ({ insertText, isSnippet, importAdder, replacementSpan } = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, position, contextToken, formatContext));
@@ -148711,7 +148708,7 @@ ${lanes.join("\n")}
148711
148708
  return firstDefined(symbols, (symbol, index) => {
148712
148709
  const origin = symbolToOriginInfoMap[index];
148713
148710
  const info = getCompletionEntryDisplayNameForSymbol(symbol, getEmitScriptTarget(compilerOptions), origin, completionKind, completionData.isJsxIdentifierExpected);
148714
- return info && info.name === entryId.name && (entryId.source === "ClassMemberSnippet/" /* ClassMemberSnippet */ && symbol.flags & 106500 /* ClassMember */ || entryId.source === "ObjectLiteralMethodSnippet/" /* ObjectLiteralMethodSnippet */ && symbol.flags & (4 /* Property */ | 8192 /* Method */) || getSourceFromOrigin(origin) === entryId.source) ? { type: "symbol", symbol, location, origin, contextToken, previousToken, isJsxInitializer, isTypeOnlyLocation } : void 0;
148711
+ return info && info.name === entryId.name && (entryId.source === "ClassMemberSnippet/" /* ClassMemberSnippet */ && symbol.flags & 106500 /* ClassMember */ || entryId.source === "ObjectLiteralMethodSnippet/" /* ObjectLiteralMethodSnippet */ && symbol.flags & (4 /* Property */ | 8192 /* Method */) || getSourceFromOrigin(origin) === entryId.source || entryId.source === "ObjectLiteralExpression/" /* ObjectLiteralExpression */) ? { type: "symbol", symbol, location, origin, contextToken, previousToken, isJsxInitializer, isTypeOnlyLocation } : void 0;
148715
148712
  }) || { type: "none" };
148716
148713
  }
148717
148714
  function getCompletionEntryDetails(program, log, sourceFile, position, entryId, host, formatContext, preferences, cancellationToken) {
@@ -148849,6 +148846,21 @@ ${lanes.join("\n")}
148849
148846
  Debug.assertIsDefined(codeAction2, "Expected to have a code action for promoting type-only alias");
148850
148847
  return { codeActions: [codeAction2], sourceDisplay: void 0 };
148851
148848
  }
148849
+ if (source === "ObjectLiteralExpression/" /* ObjectLiteralExpression */ && contextToken) {
148850
+ const changes = ts_textChanges_exports.ChangeTracker.with(
148851
+ { host, formatContext, preferences },
148852
+ (tracker) => tracker.insertText(sourceFile, contextToken.end, ",")
148853
+ );
148854
+ if (changes) {
148855
+ return {
148856
+ sourceDisplay: void 0,
148857
+ codeActions: [{
148858
+ changes,
148859
+ description: diagnosticToString([Diagnostics.Add_missing_comma_for_an_object_member_completion_0, name])
148860
+ }]
148861
+ };
148862
+ }
148863
+ }
148852
148864
  if (!origin || !(originIsExport(origin) || originIsResolvedExport(origin))) {
148853
148865
  return { codeActions: void 0, sourceDisplay: void 0 };
148854
148866
  }
@@ -150247,6 +150259,10 @@ ${lanes.join("\n")}
150247
150259
  return isMethodDeclaration(parent2) ? tryCast(parent2.parent, isObjectLiteralExpression) : void 0;
150248
150260
  case 79 /* Identifier */:
150249
150261
  return contextToken.text === "async" && isShorthandPropertyAssignment(contextToken.parent) ? contextToken.parent.parent : void 0;
150262
+ default:
150263
+ if (parent2.parent && isObjectLiteralExpression(parent2.parent) && contextToken.kind !== 58 /* ColonToken */) {
150264
+ return parent2.parent;
150265
+ }
150250
150266
  }
150251
150267
  }
150252
150268
  return void 0;
@@ -150787,6 +150803,7 @@ ${lanes.join("\n")}
150787
150803
  CompletionSource2["TypeOnlyAlias"] = "TypeOnlyAlias/";
150788
150804
  CompletionSource2["ObjectLiteralMethodSnippet"] = "ObjectLiteralMethodSnippet/";
150789
150805
  CompletionSource2["SwitchCases"] = "SwitchCases/";
150806
+ CompletionSource2["ObjectLiteralExpression"] = "ObjectLiteralExpression/";
150790
150807
  return CompletionSource2;
150791
150808
  })(CompletionSource || {});
150792
150809
  SymbolOriginInfoKind = /* @__PURE__ */ ((SymbolOriginInfoKind2) => {
@@ -163780,6 +163797,10 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
163780
163797
  const suffix = this.nextCommaToken(sourceFile, oldNode) ? "" : "," + this.newLineCharacter;
163781
163798
  this.replaceNode(sourceFile, oldNode, newNode, { suffix });
163782
163799
  }
163800
+ replacePropertyAssignmentOnSameLine(sourceFile, oldNode, newNode) {
163801
+ const suffix = this.nextCommaToken(sourceFile, oldNode) ? "" : ",";
163802
+ this.replaceNode(sourceFile, oldNode, newNode, { suffix });
163803
+ }
163783
163804
  insertNodeAt(sourceFile, pos, newNode, options = {}) {
163784
163805
  this.replaceRange(sourceFile, createRange(pos), newNode, options);
163785
163806
  }
@@ -3235,7 +3235,6 @@ var TypeFlags = /* @__PURE__ */ ((TypeFlags2) => {
3235
3235
  TypeFlags2[TypeFlags2["IncludesEmptyObject"] = 16777216 /* Conditional */] = "IncludesEmptyObject";
3236
3236
  TypeFlags2[TypeFlags2["IncludesInstantiable"] = 33554432 /* Substitution */] = "IncludesInstantiable";
3237
3237
  TypeFlags2[TypeFlags2["NotPrimitiveUnion"] = 36323363] = "NotPrimitiveUnion";
3238
- TypeFlags2[TypeFlags2["HasWrapper"] = 402668540] = "HasWrapper";
3239
3238
  return TypeFlags2;
3240
3239
  })(TypeFlags || {});
3241
3240
  var ObjectFlags = /* @__PURE__ */ ((ObjectFlags3) => {
@@ -7228,7 +7227,8 @@ var Diagnostics = {
7228
7227
  _0_is_possibly_undefined: diag(18048, 1 /* Error */, "_0_is_possibly_undefined_18048", "'{0}' is possibly 'undefined'."),
7229
7228
  _0_is_possibly_null_or_undefined: diag(18049, 1 /* Error */, "_0_is_possibly_null_or_undefined_18049", "'{0}' is possibly 'null' or 'undefined'."),
7230
7229
  The_value_0_cannot_be_used_here: diag(18050, 1 /* Error */, "The_value_0_cannot_be_used_here_18050", "The value '{0}' cannot be used here."),
7231
- Compiler_option_0_cannot_be_given_an_empty_string: diag(18051, 1 /* Error */, "Compiler_option_0_cannot_be_given_an_empty_string_18051", "Compiler option '{0}' cannot be given an empty string.")
7230
+ Compiler_option_0_cannot_be_given_an_empty_string: diag(18051, 1 /* Error */, "Compiler_option_0_cannot_be_given_an_empty_string_18051", "Compiler option '{0}' cannot be given an empty string."),
7231
+ Add_missing_comma_for_an_object_member_completion_0: diag(18052, 3 /* Message */, "Add_missing_comma_for_an_object_member_completion_0_18052", "Add missing comma for an object member completion '{0}'.")
7232
7232
  };
7233
7233
 
7234
7234
  // src/compiler/scanner.ts
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@typescript-deploys/pr-build",
3
3
  "author": "Microsoft Corp.",
4
4
  "homepage": "https://www.typescriptlang.org/",
5
- "version": "5.0.0-pr-52947-27",
5
+ "version": "5.0.0-pr-52899-9",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [