typescript 5.2.0-dev.20230526 → 5.2.0-dev.20230528

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
@@ -18,7 +18,7 @@ and limitations under the License.
18
18
 
19
19
  // src/compiler/corePublic.ts
20
20
  var versionMajorMinor = "5.2";
21
- var version = `${versionMajorMinor}.0-dev.20230526`;
21
+ var version = `${versionMajorMinor}.0-dev.20230528`;
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -42656,6 +42656,7 @@ var CheckMode = /* @__PURE__ */ ((CheckMode3) => {
42656
42656
  CheckMode3[CheckMode3["IsForSignatureHelp"] = 16] = "IsForSignatureHelp";
42657
42657
  CheckMode3[CheckMode3["IsForStringLiteralArgumentCompletions"] = 32] = "IsForStringLiteralArgumentCompletions";
42658
42658
  CheckMode3[CheckMode3["RestBindingElement"] = 64] = "RestBindingElement";
42659
+ CheckMode3[CheckMode3["TypeOnly"] = 128] = "TypeOnly";
42659
42660
  return CheckMode3;
42660
42661
  })(CheckMode || {});
42661
42662
  var SignatureCheckMode = /* @__PURE__ */ ((SignatureCheckMode3) => {
@@ -58527,6 +58528,10 @@ function createTypeChecker(host) {
58527
58528
  return true;
58528
58529
  }
58529
58530
  switch (node.kind) {
58531
+ case 233 /* AsExpression */:
58532
+ if (!isConstAssertion(node)) {
58533
+ break;
58534
+ }
58530
58535
  case 293 /* JsxExpression */:
58531
58536
  case 216 /* ParenthesizedExpression */:
58532
58537
  return elaborateError(node.expression, source, target, relation, headMessage, containingMessageChain, errorOutputContainer);
@@ -73292,7 +73297,7 @@ function createTypeChecker(host) {
73292
73297
  Debug.assertIsDefined(leftType);
73293
73298
  const rightType = getLastResult(state);
73294
73299
  Debug.assertIsDefined(rightType);
73295
- result = checkBinaryLikeExpressionWorker(node.left, node.operatorToken, node.right, leftType, rightType, node);
73300
+ result = checkBinaryLikeExpressionWorker(node.left, node.operatorToken, node.right, leftType, rightType, state.checkMode, node);
73296
73301
  }
73297
73302
  state.skip = false;
73298
73303
  setLeftType(
@@ -73354,9 +73359,9 @@ function createTypeChecker(host) {
73354
73359
  leftType = checkExpression(left, checkMode);
73355
73360
  }
73356
73361
  const rightType = checkExpression(right, checkMode);
73357
- return checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, errorNode);
73362
+ return checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, checkMode, errorNode);
73358
73363
  }
73359
- function checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, errorNode) {
73364
+ function checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, checkMode, errorNode) {
73360
73365
  const operator = operatorToken.kind;
73361
73366
  switch (operator) {
73362
73367
  case 42 /* AsteriskToken */:
@@ -73513,12 +73518,14 @@ function createTypeChecker(host) {
73513
73518
  case 36 /* ExclamationEqualsToken */:
73514
73519
  case 37 /* EqualsEqualsEqualsToken */:
73515
73520
  case 38 /* ExclamationEqualsEqualsToken */:
73516
- if (isLiteralExpressionOfObject(left) || isLiteralExpressionOfObject(right)) {
73517
- const eqType = operator === 35 /* EqualsEqualsToken */ || operator === 37 /* EqualsEqualsEqualsToken */;
73518
- error(errorNode, Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
73521
+ if (!(checkMode && checkMode & 128 /* TypeOnly */)) {
73522
+ if (isLiteralExpressionOfObject(left) || isLiteralExpressionOfObject(right)) {
73523
+ const eqType = operator === 35 /* EqualsEqualsToken */ || operator === 37 /* EqualsEqualsEqualsToken */;
73524
+ error(errorNode, Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
73525
+ }
73526
+ checkNaNEquality(errorNode, operator, left, right);
73527
+ reportOperatorErrorUnless((left2, right2) => isTypeEqualityComparableTo(left2, right2) || isTypeEqualityComparableTo(right2, left2));
73519
73528
  }
73520
- checkNaNEquality(errorNode, operator, left, right);
73521
- reportOperatorErrorUnless((left2, right2) => isTypeEqualityComparableTo(left2, right2) || isTypeEqualityComparableTo(right2, left2));
73522
73529
  return booleanType;
73523
73530
  case 104 /* InstanceOfKeyword */:
73524
73531
  return checkInstanceOfExpression(left, right, leftType, rightType);
@@ -73829,7 +73836,7 @@ function createTypeChecker(host) {
73829
73836
  }
73830
73837
  }
73831
73838
  function checkConditionalExpression(node, checkMode) {
73832
- const type = checkTruthinessExpression(node.condition);
73839
+ const type = checkTruthinessExpression(node.condition, checkMode);
73833
73840
  checkTestingKnownTruthyCallableOrAwaitableType(node.condition, type, node.whenTrue);
73834
73841
  const type1 = checkExpression(node.whenTrue, checkMode);
73835
73842
  const type2 = checkExpression(node.whenFalse, checkMode);
@@ -74170,7 +74177,7 @@ function createTypeChecker(host) {
74170
74177
  }
74171
74178
  }
74172
74179
  const startInvocationCount = flowInvocationCount;
74173
- const type = checkExpression(node);
74180
+ const type = checkExpression(node, 128 /* TypeOnly */);
74174
74181
  if (flowInvocationCount !== startInvocationCount) {
74175
74182
  const cache = flowTypeCache || (flowTypeCache = []);
74176
74183
  cache[getNodeId(node)] = type;
package/lib/tsserver.js CHANGED
@@ -2304,7 +2304,7 @@ module.exports = __toCommonJS(server_exports);
2304
2304
 
2305
2305
  // src/compiler/corePublic.ts
2306
2306
  var versionMajorMinor = "5.2";
2307
- var version = `${versionMajorMinor}.0-dev.20230526`;
2307
+ var version = `${versionMajorMinor}.0-dev.20230528`;
2308
2308
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2309
2309
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2310
2310
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -47307,6 +47307,7 @@ var CheckMode = /* @__PURE__ */ ((CheckMode3) => {
47307
47307
  CheckMode3[CheckMode3["IsForSignatureHelp"] = 16] = "IsForSignatureHelp";
47308
47308
  CheckMode3[CheckMode3["IsForStringLiteralArgumentCompletions"] = 32] = "IsForStringLiteralArgumentCompletions";
47309
47309
  CheckMode3[CheckMode3["RestBindingElement"] = 64] = "RestBindingElement";
47310
+ CheckMode3[CheckMode3["TypeOnly"] = 128] = "TypeOnly";
47310
47311
  return CheckMode3;
47311
47312
  })(CheckMode || {});
47312
47313
  var SignatureCheckMode = /* @__PURE__ */ ((SignatureCheckMode3) => {
@@ -63178,6 +63179,10 @@ function createTypeChecker(host) {
63178
63179
  return true;
63179
63180
  }
63180
63181
  switch (node.kind) {
63182
+ case 233 /* AsExpression */:
63183
+ if (!isConstAssertion(node)) {
63184
+ break;
63185
+ }
63181
63186
  case 293 /* JsxExpression */:
63182
63187
  case 216 /* ParenthesizedExpression */:
63183
63188
  return elaborateError(node.expression, source, target, relation, headMessage, containingMessageChain, errorOutputContainer);
@@ -77943,7 +77948,7 @@ function createTypeChecker(host) {
77943
77948
  Debug.assertIsDefined(leftType);
77944
77949
  const rightType = getLastResult(state);
77945
77950
  Debug.assertIsDefined(rightType);
77946
- result = checkBinaryLikeExpressionWorker(node.left, node.operatorToken, node.right, leftType, rightType, node);
77951
+ result = checkBinaryLikeExpressionWorker(node.left, node.operatorToken, node.right, leftType, rightType, state.checkMode, node);
77947
77952
  }
77948
77953
  state.skip = false;
77949
77954
  setLeftType(
@@ -78005,9 +78010,9 @@ function createTypeChecker(host) {
78005
78010
  leftType = checkExpression(left, checkMode);
78006
78011
  }
78007
78012
  const rightType = checkExpression(right, checkMode);
78008
- return checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, errorNode);
78013
+ return checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, checkMode, errorNode);
78009
78014
  }
78010
- function checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, errorNode) {
78015
+ function checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, checkMode, errorNode) {
78011
78016
  const operator = operatorToken.kind;
78012
78017
  switch (operator) {
78013
78018
  case 42 /* AsteriskToken */:
@@ -78164,12 +78169,14 @@ function createTypeChecker(host) {
78164
78169
  case 36 /* ExclamationEqualsToken */:
78165
78170
  case 37 /* EqualsEqualsEqualsToken */:
78166
78171
  case 38 /* ExclamationEqualsEqualsToken */:
78167
- if (isLiteralExpressionOfObject(left) || isLiteralExpressionOfObject(right)) {
78168
- const eqType = operator === 35 /* EqualsEqualsToken */ || operator === 37 /* EqualsEqualsEqualsToken */;
78169
- error(errorNode, Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
78172
+ if (!(checkMode && checkMode & 128 /* TypeOnly */)) {
78173
+ if (isLiteralExpressionOfObject(left) || isLiteralExpressionOfObject(right)) {
78174
+ const eqType = operator === 35 /* EqualsEqualsToken */ || operator === 37 /* EqualsEqualsEqualsToken */;
78175
+ error(errorNode, Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
78176
+ }
78177
+ checkNaNEquality(errorNode, operator, left, right);
78178
+ reportOperatorErrorUnless((left2, right2) => isTypeEqualityComparableTo(left2, right2) || isTypeEqualityComparableTo(right2, left2));
78170
78179
  }
78171
- checkNaNEquality(errorNode, operator, left, right);
78172
- reportOperatorErrorUnless((left2, right2) => isTypeEqualityComparableTo(left2, right2) || isTypeEqualityComparableTo(right2, left2));
78173
78180
  return booleanType;
78174
78181
  case 104 /* InstanceOfKeyword */:
78175
78182
  return checkInstanceOfExpression(left, right, leftType, rightType);
@@ -78480,7 +78487,7 @@ function createTypeChecker(host) {
78480
78487
  }
78481
78488
  }
78482
78489
  function checkConditionalExpression(node, checkMode) {
78483
- const type = checkTruthinessExpression(node.condition);
78490
+ const type = checkTruthinessExpression(node.condition, checkMode);
78484
78491
  checkTestingKnownTruthyCallableOrAwaitableType(node.condition, type, node.whenTrue);
78485
78492
  const type1 = checkExpression(node.whenTrue, checkMode);
78486
78493
  const type2 = checkExpression(node.whenFalse, checkMode);
@@ -78821,7 +78828,7 @@ function createTypeChecker(host) {
78821
78828
  }
78822
78829
  }
78823
78830
  const startInvocationCount = flowInvocationCount;
78824
- const type = checkExpression(node);
78831
+ const type = checkExpression(node, 128 /* TypeOnly */);
78825
78832
  if (flowInvocationCount !== startInvocationCount) {
78826
78833
  const cache = flowTypeCache || (flowTypeCache = []);
78827
78834
  cache[getNodeId(node)] = type;
@@ -135599,12 +135606,12 @@ function getEditsForRefactor(context, refactorName13, actionName2, interactiveRe
135599
135606
  var refactorName = "Convert export";
135600
135607
  var defaultToNamedAction = {
135601
135608
  name: "Convert default export to named export",
135602
- description: Diagnostics.Convert_default_export_to_named_export.message,
135609
+ description: getLocaleSpecificMessage(Diagnostics.Convert_default_export_to_named_export),
135603
135610
  kind: "refactor.rewrite.export.named"
135604
135611
  };
135605
135612
  var namedToDefaultAction = {
135606
135613
  name: "Convert named export to default export",
135607
- description: Diagnostics.Convert_named_export_to_default_export.message,
135614
+ description: getLocaleSpecificMessage(Diagnostics.Convert_named_export_to_default_export),
135608
135615
  kind: "refactor.rewrite.export.default"
135609
135616
  };
135610
135617
  registerRefactor(refactorName, {
@@ -135622,7 +135629,7 @@ registerRefactor(refactorName, {
135622
135629
  }
135623
135630
  if (context.preferences.provideRefactorNotApplicableReason) {
135624
135631
  return [
135625
- { name: refactorName, description: Diagnostics.Convert_default_export_to_named_export.message, actions: [
135632
+ { name: refactorName, description: getLocaleSpecificMessage(Diagnostics.Convert_default_export_to_named_export), actions: [
135626
135633
  { ...defaultToNamedAction, notApplicableReason: info.error },
135627
135634
  { ...namedToDefaultAction, notApplicableReason: info.error }
135628
135635
  ] }
@@ -135845,17 +135852,17 @@ var refactorName2 = "Convert import";
135845
135852
  var actions = {
135846
135853
  [0 /* Named */]: {
135847
135854
  name: "Convert namespace import to named imports",
135848
- description: Diagnostics.Convert_namespace_import_to_named_imports.message,
135855
+ description: getLocaleSpecificMessage(Diagnostics.Convert_namespace_import_to_named_imports),
135849
135856
  kind: "refactor.rewrite.import.named"
135850
135857
  },
135851
135858
  [2 /* Namespace */]: {
135852
135859
  name: "Convert named imports to namespace import",
135853
- description: Diagnostics.Convert_named_imports_to_namespace_import.message,
135860
+ description: getLocaleSpecificMessage(Diagnostics.Convert_named_imports_to_namespace_import),
135854
135861
  kind: "refactor.rewrite.import.namespace"
135855
135862
  },
135856
135863
  [1 /* Default */]: {
135857
135864
  name: "Convert named imports to default import",
135858
- description: Diagnostics.Convert_named_imports_to_default_import.message,
135865
+ description: getLocaleSpecificMessage(Diagnostics.Convert_named_imports_to_default_import),
135859
135866
  kind: "refactor.rewrite.import.default"
135860
135867
  }
135861
135868
  };
@@ -137362,7 +137369,7 @@ var ts_refactor_addOrRemoveBracesToArrowFunction_exports = {};
137362
137369
 
137363
137370
  // src/services/refactors/convertOverloadListToSingleSignature.ts
137364
137371
  var refactorName5 = "Convert overload list to single signature";
137365
- var refactorDescription = Diagnostics.Convert_overload_list_to_single_signature.message;
137372
+ var refactorDescription = getLocaleSpecificMessage(Diagnostics.Convert_overload_list_to_single_signature);
137366
137373
  var functionOverloadAction = {
137367
137374
  name: refactorName5,
137368
137375
  description: refactorDescription,
@@ -137574,15 +137581,15 @@ function getConvertableOverloadListAtPosition(file, startPosition, program) {
137574
137581
 
137575
137582
  // src/services/refactors/addOrRemoveBracesToArrowFunction.ts
137576
137583
  var refactorName6 = "Add or remove braces in an arrow function";
137577
- var refactorDescription2 = Diagnostics.Add_or_remove_braces_in_an_arrow_function.message;
137584
+ var refactorDescription2 = getLocaleSpecificMessage(Diagnostics.Add_or_remove_braces_in_an_arrow_function);
137578
137585
  var addBracesAction = {
137579
137586
  name: "Add braces to arrow function",
137580
- description: Diagnostics.Add_braces_to_arrow_function.message,
137587
+ description: getLocaleSpecificMessage(Diagnostics.Add_braces_to_arrow_function),
137581
137588
  kind: "refactor.rewrite.arrow.braces.add"
137582
137589
  };
137583
137590
  var removeBracesAction = {
137584
137591
  name: "Remove braces from arrow function",
137585
- description: Diagnostics.Remove_braces_from_arrow_function.message,
137592
+ description: getLocaleSpecificMessage(Diagnostics.Remove_braces_from_arrow_function),
137586
137593
  kind: "refactor.rewrite.arrow.braces.remove"
137587
137594
  };
137588
137595
  registerRefactor(refactorName6, {
@@ -140512,7 +140519,7 @@ var ts_refactor_generateGetAccessorAndSetAccessor_exports = {};
140512
140519
 
140513
140520
  // src/services/refactors/generateGetAccessorAndSetAccessor.ts
140514
140521
  var actionName = "Generate 'get' and 'set' accessors";
140515
- var actionDescription = Diagnostics.Generate_get_and_set_accessors.message;
140522
+ var actionDescription = getLocaleSpecificMessage(Diagnostics.Generate_get_and_set_accessors);
140516
140523
  var generateGetSetAction = {
140517
140524
  name: actionName,
140518
140525
  description: actionDescription,
@@ -140569,7 +140576,7 @@ var ts_refactor_inferFunctionReturnType_exports = {};
140569
140576
 
140570
140577
  // src/services/refactors/inferFunctionReturnType.ts
140571
140578
  var refactorName12 = "Infer function return type";
140572
- var refactorDescription6 = Diagnostics.Infer_function_return_type.message;
140579
+ var refactorDescription6 = getLocaleSpecificMessage(Diagnostics.Infer_function_return_type);
140573
140580
  var inferReturnTypeAction = {
140574
140581
  name: refactorName12,
140575
140582
  description: refactorDescription6,
@@ -150468,9 +150475,6 @@ function getActionsForMissingMethodDeclaration(context, info) {
150468
150475
  if (call === void 0) {
150469
150476
  return void 0;
150470
150477
  }
150471
- if (isPrivateIdentifier(token)) {
150472
- return void 0;
150473
- }
150474
150478
  const methodName = token.text;
150475
150479
  const addMethodDeclarationChanges = (modifierFlags2) => ts_textChanges_exports.ChangeTracker.with(context, (t) => addMethodDeclaration(context, t, call, token, modifierFlags2, parentDeclaration, declSourceFile));
150476
150480
  const actions2 = [createCodeFixAction(fixMissingMember, addMethodDeclarationChanges(modifierFlags & 32 /* Static */), [modifierFlags & 32 /* Static */ ? Diagnostics.Declare_static_method_0 : Diagnostics.Declare_method_0, methodName], fixMissingMember, Diagnostics.Add_all_missing_members)];
@@ -153520,6 +153524,7 @@ function createSignatureDeclarationFromCallExpression(kind, context, importAdder
153520
153524
  type === void 0 ? factory.createKeywordTypeNode(159 /* UnknownKeyword */) : type
153521
153525
  );
153522
153526
  case 261 /* FunctionDeclaration */:
153527
+ Debug.assert(typeof name === "string" || isIdentifier(name), "Unexpected name");
153523
153528
  return factory.createFunctionDeclaration(
153524
153529
  modifiers,
153525
153530
  asteriskToken,
@@ -35,7 +35,7 @@ var ts = (() => {
35
35
  "src/compiler/corePublic.ts"() {
36
36
  "use strict";
37
37
  versionMajorMinor = "5.2";
38
- version = `${versionMajorMinor}.0-dev.20230526`;
38
+ version = `${versionMajorMinor}.0-dev.20230528`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -60969,6 +60969,10 @@ ${lanes.join("\n")}
60969
60969
  return true;
60970
60970
  }
60971
60971
  switch (node.kind) {
60972
+ case 233 /* AsExpression */:
60973
+ if (!isConstAssertion(node)) {
60974
+ break;
60975
+ }
60972
60976
  case 293 /* JsxExpression */:
60973
60977
  case 216 /* ParenthesizedExpression */:
60974
60978
  return elaborateError(node.expression, source, target, relation, headMessage, containingMessageChain, errorOutputContainer);
@@ -75734,7 +75738,7 @@ ${lanes.join("\n")}
75734
75738
  Debug.assertIsDefined(leftType);
75735
75739
  const rightType = getLastResult(state);
75736
75740
  Debug.assertIsDefined(rightType);
75737
- result = checkBinaryLikeExpressionWorker(node.left, node.operatorToken, node.right, leftType, rightType, node);
75741
+ result = checkBinaryLikeExpressionWorker(node.left, node.operatorToken, node.right, leftType, rightType, state.checkMode, node);
75738
75742
  }
75739
75743
  state.skip = false;
75740
75744
  setLeftType(
@@ -75796,9 +75800,9 @@ ${lanes.join("\n")}
75796
75800
  leftType = checkExpression(left, checkMode);
75797
75801
  }
75798
75802
  const rightType = checkExpression(right, checkMode);
75799
- return checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, errorNode);
75803
+ return checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, checkMode, errorNode);
75800
75804
  }
75801
- function checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, errorNode) {
75805
+ function checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, checkMode, errorNode) {
75802
75806
  const operator = operatorToken.kind;
75803
75807
  switch (operator) {
75804
75808
  case 42 /* AsteriskToken */:
@@ -75955,12 +75959,14 @@ ${lanes.join("\n")}
75955
75959
  case 36 /* ExclamationEqualsToken */:
75956
75960
  case 37 /* EqualsEqualsEqualsToken */:
75957
75961
  case 38 /* ExclamationEqualsEqualsToken */:
75958
- if (isLiteralExpressionOfObject(left) || isLiteralExpressionOfObject(right)) {
75959
- const eqType = operator === 35 /* EqualsEqualsToken */ || operator === 37 /* EqualsEqualsEqualsToken */;
75960
- error(errorNode, Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
75962
+ if (!(checkMode && checkMode & 128 /* TypeOnly */)) {
75963
+ if (isLiteralExpressionOfObject(left) || isLiteralExpressionOfObject(right)) {
75964
+ const eqType = operator === 35 /* EqualsEqualsToken */ || operator === 37 /* EqualsEqualsEqualsToken */;
75965
+ error(errorNode, Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
75966
+ }
75967
+ checkNaNEquality(errorNode, operator, left, right);
75968
+ reportOperatorErrorUnless((left2, right2) => isTypeEqualityComparableTo(left2, right2) || isTypeEqualityComparableTo(right2, left2));
75961
75969
  }
75962
- checkNaNEquality(errorNode, operator, left, right);
75963
- reportOperatorErrorUnless((left2, right2) => isTypeEqualityComparableTo(left2, right2) || isTypeEqualityComparableTo(right2, left2));
75964
75970
  return booleanType;
75965
75971
  case 104 /* InstanceOfKeyword */:
75966
75972
  return checkInstanceOfExpression(left, right, leftType, rightType);
@@ -76271,7 +76277,7 @@ ${lanes.join("\n")}
76271
76277
  }
76272
76278
  }
76273
76279
  function checkConditionalExpression(node, checkMode) {
76274
- const type = checkTruthinessExpression(node.condition);
76280
+ const type = checkTruthinessExpression(node.condition, checkMode);
76275
76281
  checkTestingKnownTruthyCallableOrAwaitableType(node.condition, type, node.whenTrue);
76276
76282
  const type1 = checkExpression(node.whenTrue, checkMode);
76277
76283
  const type2 = checkExpression(node.whenFalse, checkMode);
@@ -76612,7 +76618,7 @@ ${lanes.join("\n")}
76612
76618
  }
76613
76619
  }
76614
76620
  const startInvocationCount = flowInvocationCount;
76615
- const type = checkExpression(node);
76621
+ const type = checkExpression(node, 128 /* TypeOnly */);
76616
76622
  if (flowInvocationCount !== startInvocationCount) {
76617
76623
  const cache = flowTypeCache || (flowTypeCache = []);
76618
76624
  cache[getNodeId(node)] = type;
@@ -85822,6 +85828,7 @@ ${lanes.join("\n")}
85822
85828
  CheckMode3[CheckMode3["IsForSignatureHelp"] = 16] = "IsForSignatureHelp";
85823
85829
  CheckMode3[CheckMode3["IsForStringLiteralArgumentCompletions"] = 32] = "IsForStringLiteralArgumentCompletions";
85824
85830
  CheckMode3[CheckMode3["RestBindingElement"] = 64] = "RestBindingElement";
85831
+ CheckMode3[CheckMode3["TypeOnly"] = 128] = "TypeOnly";
85825
85832
  return CheckMode3;
85826
85833
  })(CheckMode || {});
85827
85834
  SignatureCheckMode = /* @__PURE__ */ ((SignatureCheckMode3) => {
@@ -134186,12 +134193,12 @@ ${lanes.join("\n")}
134186
134193
  refactorName = "Convert export";
134187
134194
  defaultToNamedAction = {
134188
134195
  name: "Convert default export to named export",
134189
- description: Diagnostics.Convert_default_export_to_named_export.message,
134196
+ description: getLocaleSpecificMessage(Diagnostics.Convert_default_export_to_named_export),
134190
134197
  kind: "refactor.rewrite.export.named"
134191
134198
  };
134192
134199
  namedToDefaultAction = {
134193
134200
  name: "Convert named export to default export",
134194
- description: Diagnostics.Convert_named_export_to_default_export.message,
134201
+ description: getLocaleSpecificMessage(Diagnostics.Convert_named_export_to_default_export),
134195
134202
  kind: "refactor.rewrite.export.default"
134196
134203
  };
134197
134204
  registerRefactor(refactorName, {
@@ -134209,7 +134216,7 @@ ${lanes.join("\n")}
134209
134216
  }
134210
134217
  if (context.preferences.provideRefactorNotApplicableReason) {
134211
134218
  return [
134212
- { name: refactorName, description: Diagnostics.Convert_default_export_to_named_export.message, actions: [
134219
+ { name: refactorName, description: getLocaleSpecificMessage(Diagnostics.Convert_default_export_to_named_export), actions: [
134213
134220
  { ...defaultToNamedAction, notApplicableReason: info.error },
134214
134221
  { ...namedToDefaultAction, notApplicableReason: info.error }
134215
134222
  ] }
@@ -134411,17 +134418,17 @@ ${lanes.join("\n")}
134411
134418
  actions = {
134412
134419
  [0 /* Named */]: {
134413
134420
  name: "Convert namespace import to named imports",
134414
- description: Diagnostics.Convert_namespace_import_to_named_imports.message,
134421
+ description: getLocaleSpecificMessage(Diagnostics.Convert_namespace_import_to_named_imports),
134415
134422
  kind: "refactor.rewrite.import.named"
134416
134423
  },
134417
134424
  [2 /* Namespace */]: {
134418
134425
  name: "Convert named imports to namespace import",
134419
- description: Diagnostics.Convert_named_imports_to_namespace_import.message,
134426
+ description: getLocaleSpecificMessage(Diagnostics.Convert_named_imports_to_namespace_import),
134420
134427
  kind: "refactor.rewrite.import.namespace"
134421
134428
  },
134422
134429
  [1 /* Default */]: {
134423
134430
  name: "Convert named imports to default import",
134424
- description: Diagnostics.Convert_named_imports_to_default_import.message,
134431
+ description: getLocaleSpecificMessage(Diagnostics.Convert_named_imports_to_default_import),
134425
134432
  kind: "refactor.rewrite.import.default"
134426
134433
  }
134427
134434
  };
@@ -135989,7 +135996,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
135989
135996
  init_ts4();
135990
135997
  init_ts_refactor();
135991
135998
  refactorName5 = "Convert overload list to single signature";
135992
- refactorDescription = Diagnostics.Convert_overload_list_to_single_signature.message;
135999
+ refactorDescription = getLocaleSpecificMessage(Diagnostics.Convert_overload_list_to_single_signature);
135993
136000
  functionOverloadAction = {
135994
136001
  name: refactorName5,
135995
136002
  description: refactorDescription,
@@ -136119,15 +136126,15 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
136119
136126
  init_ts4();
136120
136127
  init_ts_refactor();
136121
136128
  refactorName6 = "Add or remove braces in an arrow function";
136122
- refactorDescription2 = Diagnostics.Add_or_remove_braces_in_an_arrow_function.message;
136129
+ refactorDescription2 = getLocaleSpecificMessage(Diagnostics.Add_or_remove_braces_in_an_arrow_function);
136123
136130
  addBracesAction = {
136124
136131
  name: "Add braces to arrow function",
136125
- description: Diagnostics.Add_braces_to_arrow_function.message,
136132
+ description: getLocaleSpecificMessage(Diagnostics.Add_braces_to_arrow_function),
136126
136133
  kind: "refactor.rewrite.arrow.braces.add"
136127
136134
  };
136128
136135
  removeBracesAction = {
136129
136136
  name: "Remove braces from arrow function",
136130
- description: Diagnostics.Remove_braces_from_arrow_function.message,
136137
+ description: getLocaleSpecificMessage(Diagnostics.Remove_braces_from_arrow_function),
136131
136138
  kind: "refactor.rewrite.arrow.braces.remove"
136132
136139
  };
136133
136140
  registerRefactor(refactorName6, {
@@ -139033,7 +139040,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
139033
139040
  init_ts4();
139034
139041
  init_ts_refactor();
139035
139042
  actionName = "Generate 'get' and 'set' accessors";
139036
- actionDescription = Diagnostics.Generate_get_and_set_accessors.message;
139043
+ actionDescription = getLocaleSpecificMessage(Diagnostics.Generate_get_and_set_accessors);
139037
139044
  generateGetSetAction = {
139038
139045
  name: actionName,
139039
139046
  description: actionDescription,
@@ -139185,7 +139192,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
139185
139192
  init_ts4();
139186
139193
  init_ts_refactor();
139187
139194
  refactorName12 = "Infer function return type";
139188
- refactorDescription6 = Diagnostics.Infer_function_return_type.message;
139195
+ refactorDescription6 = getLocaleSpecificMessage(Diagnostics.Infer_function_return_type);
139189
139196
  inferReturnTypeAction = {
139190
139197
  name: refactorName12,
139191
139198
  description: refactorDescription6,
@@ -149228,9 +149235,6 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
149228
149235
  if (call === void 0) {
149229
149236
  return void 0;
149230
149237
  }
149231
- if (isPrivateIdentifier(token)) {
149232
- return void 0;
149233
- }
149234
149238
  const methodName = token.text;
149235
149239
  const addMethodDeclarationChanges = (modifierFlags2) => ts_textChanges_exports.ChangeTracker.with(context, (t) => addMethodDeclaration(context, t, call, token, modifierFlags2, parentDeclaration, declSourceFile));
149236
149240
  const actions2 = [createCodeFixAction(fixMissingMember, addMethodDeclarationChanges(modifierFlags & 32 /* Static */), [modifierFlags & 32 /* Static */ ? Diagnostics.Declare_static_method_0 : Diagnostics.Declare_method_0, methodName], fixMissingMember, Diagnostics.Add_all_missing_members)];
@@ -152567,6 +152571,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
152567
152571
  type === void 0 ? factory.createKeywordTypeNode(159 /* UnknownKeyword */) : type
152568
152572
  );
152569
152573
  case 261 /* FunctionDeclaration */:
152574
+ Debug.assert(typeof name === "string" || isIdentifier(name), "Unexpected name");
152570
152575
  return factory.createFunctionDeclaration(
152571
152576
  modifiers,
152572
152577
  asteriskToken,
package/lib/typescript.js CHANGED
@@ -35,7 +35,7 @@ var ts = (() => {
35
35
  "src/compiler/corePublic.ts"() {
36
36
  "use strict";
37
37
  versionMajorMinor = "5.2";
38
- version = `${versionMajorMinor}.0-dev.20230526`;
38
+ version = `${versionMajorMinor}.0-dev.20230528`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -60969,6 +60969,10 @@ ${lanes.join("\n")}
60969
60969
  return true;
60970
60970
  }
60971
60971
  switch (node.kind) {
60972
+ case 233 /* AsExpression */:
60973
+ if (!isConstAssertion(node)) {
60974
+ break;
60975
+ }
60972
60976
  case 293 /* JsxExpression */:
60973
60977
  case 216 /* ParenthesizedExpression */:
60974
60978
  return elaborateError(node.expression, source, target, relation, headMessage, containingMessageChain, errorOutputContainer);
@@ -75734,7 +75738,7 @@ ${lanes.join("\n")}
75734
75738
  Debug.assertIsDefined(leftType);
75735
75739
  const rightType = getLastResult(state);
75736
75740
  Debug.assertIsDefined(rightType);
75737
- result = checkBinaryLikeExpressionWorker(node.left, node.operatorToken, node.right, leftType, rightType, node);
75741
+ result = checkBinaryLikeExpressionWorker(node.left, node.operatorToken, node.right, leftType, rightType, state.checkMode, node);
75738
75742
  }
75739
75743
  state.skip = false;
75740
75744
  setLeftType(
@@ -75796,9 +75800,9 @@ ${lanes.join("\n")}
75796
75800
  leftType = checkExpression(left, checkMode);
75797
75801
  }
75798
75802
  const rightType = checkExpression(right, checkMode);
75799
- return checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, errorNode);
75803
+ return checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, checkMode, errorNode);
75800
75804
  }
75801
- function checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, errorNode) {
75805
+ function checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, checkMode, errorNode) {
75802
75806
  const operator = operatorToken.kind;
75803
75807
  switch (operator) {
75804
75808
  case 42 /* AsteriskToken */:
@@ -75955,12 +75959,14 @@ ${lanes.join("\n")}
75955
75959
  case 36 /* ExclamationEqualsToken */:
75956
75960
  case 37 /* EqualsEqualsEqualsToken */:
75957
75961
  case 38 /* ExclamationEqualsEqualsToken */:
75958
- if (isLiteralExpressionOfObject(left) || isLiteralExpressionOfObject(right)) {
75959
- const eqType = operator === 35 /* EqualsEqualsToken */ || operator === 37 /* EqualsEqualsEqualsToken */;
75960
- error(errorNode, Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
75962
+ if (!(checkMode && checkMode & 128 /* TypeOnly */)) {
75963
+ if (isLiteralExpressionOfObject(left) || isLiteralExpressionOfObject(right)) {
75964
+ const eqType = operator === 35 /* EqualsEqualsToken */ || operator === 37 /* EqualsEqualsEqualsToken */;
75965
+ error(errorNode, Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
75966
+ }
75967
+ checkNaNEquality(errorNode, operator, left, right);
75968
+ reportOperatorErrorUnless((left2, right2) => isTypeEqualityComparableTo(left2, right2) || isTypeEqualityComparableTo(right2, left2));
75961
75969
  }
75962
- checkNaNEquality(errorNode, operator, left, right);
75963
- reportOperatorErrorUnless((left2, right2) => isTypeEqualityComparableTo(left2, right2) || isTypeEqualityComparableTo(right2, left2));
75964
75970
  return booleanType;
75965
75971
  case 104 /* InstanceOfKeyword */:
75966
75972
  return checkInstanceOfExpression(left, right, leftType, rightType);
@@ -76271,7 +76277,7 @@ ${lanes.join("\n")}
76271
76277
  }
76272
76278
  }
76273
76279
  function checkConditionalExpression(node, checkMode) {
76274
- const type = checkTruthinessExpression(node.condition);
76280
+ const type = checkTruthinessExpression(node.condition, checkMode);
76275
76281
  checkTestingKnownTruthyCallableOrAwaitableType(node.condition, type, node.whenTrue);
76276
76282
  const type1 = checkExpression(node.whenTrue, checkMode);
76277
76283
  const type2 = checkExpression(node.whenFalse, checkMode);
@@ -76612,7 +76618,7 @@ ${lanes.join("\n")}
76612
76618
  }
76613
76619
  }
76614
76620
  const startInvocationCount = flowInvocationCount;
76615
- const type = checkExpression(node);
76621
+ const type = checkExpression(node, 128 /* TypeOnly */);
76616
76622
  if (flowInvocationCount !== startInvocationCount) {
76617
76623
  const cache = flowTypeCache || (flowTypeCache = []);
76618
76624
  cache[getNodeId(node)] = type;
@@ -85822,6 +85828,7 @@ ${lanes.join("\n")}
85822
85828
  CheckMode3[CheckMode3["IsForSignatureHelp"] = 16] = "IsForSignatureHelp";
85823
85829
  CheckMode3[CheckMode3["IsForStringLiteralArgumentCompletions"] = 32] = "IsForStringLiteralArgumentCompletions";
85824
85830
  CheckMode3[CheckMode3["RestBindingElement"] = 64] = "RestBindingElement";
85831
+ CheckMode3[CheckMode3["TypeOnly"] = 128] = "TypeOnly";
85825
85832
  return CheckMode3;
85826
85833
  })(CheckMode || {});
85827
85834
  SignatureCheckMode = /* @__PURE__ */ ((SignatureCheckMode3) => {
@@ -134201,12 +134208,12 @@ ${lanes.join("\n")}
134201
134208
  refactorName = "Convert export";
134202
134209
  defaultToNamedAction = {
134203
134210
  name: "Convert default export to named export",
134204
- description: Diagnostics.Convert_default_export_to_named_export.message,
134211
+ description: getLocaleSpecificMessage(Diagnostics.Convert_default_export_to_named_export),
134205
134212
  kind: "refactor.rewrite.export.named"
134206
134213
  };
134207
134214
  namedToDefaultAction = {
134208
134215
  name: "Convert named export to default export",
134209
- description: Diagnostics.Convert_named_export_to_default_export.message,
134216
+ description: getLocaleSpecificMessage(Diagnostics.Convert_named_export_to_default_export),
134210
134217
  kind: "refactor.rewrite.export.default"
134211
134218
  };
134212
134219
  registerRefactor(refactorName, {
@@ -134224,7 +134231,7 @@ ${lanes.join("\n")}
134224
134231
  }
134225
134232
  if (context.preferences.provideRefactorNotApplicableReason) {
134226
134233
  return [
134227
- { name: refactorName, description: Diagnostics.Convert_default_export_to_named_export.message, actions: [
134234
+ { name: refactorName, description: getLocaleSpecificMessage(Diagnostics.Convert_default_export_to_named_export), actions: [
134228
134235
  { ...defaultToNamedAction, notApplicableReason: info.error },
134229
134236
  { ...namedToDefaultAction, notApplicableReason: info.error }
134230
134237
  ] }
@@ -134426,17 +134433,17 @@ ${lanes.join("\n")}
134426
134433
  actions = {
134427
134434
  [0 /* Named */]: {
134428
134435
  name: "Convert namespace import to named imports",
134429
- description: Diagnostics.Convert_namespace_import_to_named_imports.message,
134436
+ description: getLocaleSpecificMessage(Diagnostics.Convert_namespace_import_to_named_imports),
134430
134437
  kind: "refactor.rewrite.import.named"
134431
134438
  },
134432
134439
  [2 /* Namespace */]: {
134433
134440
  name: "Convert named imports to namespace import",
134434
- description: Diagnostics.Convert_named_imports_to_namespace_import.message,
134441
+ description: getLocaleSpecificMessage(Diagnostics.Convert_named_imports_to_namespace_import),
134435
134442
  kind: "refactor.rewrite.import.namespace"
134436
134443
  },
134437
134444
  [1 /* Default */]: {
134438
134445
  name: "Convert named imports to default import",
134439
- description: Diagnostics.Convert_named_imports_to_default_import.message,
134446
+ description: getLocaleSpecificMessage(Diagnostics.Convert_named_imports_to_default_import),
134440
134447
  kind: "refactor.rewrite.import.default"
134441
134448
  }
134442
134449
  };
@@ -136004,7 +136011,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
136004
136011
  init_ts4();
136005
136012
  init_ts_refactor();
136006
136013
  refactorName5 = "Convert overload list to single signature";
136007
- refactorDescription = Diagnostics.Convert_overload_list_to_single_signature.message;
136014
+ refactorDescription = getLocaleSpecificMessage(Diagnostics.Convert_overload_list_to_single_signature);
136008
136015
  functionOverloadAction = {
136009
136016
  name: refactorName5,
136010
136017
  description: refactorDescription,
@@ -136134,15 +136141,15 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
136134
136141
  init_ts4();
136135
136142
  init_ts_refactor();
136136
136143
  refactorName6 = "Add or remove braces in an arrow function";
136137
- refactorDescription2 = Diagnostics.Add_or_remove_braces_in_an_arrow_function.message;
136144
+ refactorDescription2 = getLocaleSpecificMessage(Diagnostics.Add_or_remove_braces_in_an_arrow_function);
136138
136145
  addBracesAction = {
136139
136146
  name: "Add braces to arrow function",
136140
- description: Diagnostics.Add_braces_to_arrow_function.message,
136147
+ description: getLocaleSpecificMessage(Diagnostics.Add_braces_to_arrow_function),
136141
136148
  kind: "refactor.rewrite.arrow.braces.add"
136142
136149
  };
136143
136150
  removeBracesAction = {
136144
136151
  name: "Remove braces from arrow function",
136145
- description: Diagnostics.Remove_braces_from_arrow_function.message,
136152
+ description: getLocaleSpecificMessage(Diagnostics.Remove_braces_from_arrow_function),
136146
136153
  kind: "refactor.rewrite.arrow.braces.remove"
136147
136154
  };
136148
136155
  registerRefactor(refactorName6, {
@@ -139048,7 +139055,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
139048
139055
  init_ts4();
139049
139056
  init_ts_refactor();
139050
139057
  actionName = "Generate 'get' and 'set' accessors";
139051
- actionDescription = Diagnostics.Generate_get_and_set_accessors.message;
139058
+ actionDescription = getLocaleSpecificMessage(Diagnostics.Generate_get_and_set_accessors);
139052
139059
  generateGetSetAction = {
139053
139060
  name: actionName,
139054
139061
  description: actionDescription,
@@ -139200,7 +139207,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
139200
139207
  init_ts4();
139201
139208
  init_ts_refactor();
139202
139209
  refactorName12 = "Infer function return type";
139203
- refactorDescription6 = Diagnostics.Infer_function_return_type.message;
139210
+ refactorDescription6 = getLocaleSpecificMessage(Diagnostics.Infer_function_return_type);
139204
139211
  inferReturnTypeAction = {
139205
139212
  name: refactorName12,
139206
139213
  description: refactorDescription6,
@@ -149243,9 +149250,6 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
149243
149250
  if (call === void 0) {
149244
149251
  return void 0;
149245
149252
  }
149246
- if (isPrivateIdentifier(token)) {
149247
- return void 0;
149248
- }
149249
149253
  const methodName = token.text;
149250
149254
  const addMethodDeclarationChanges = (modifierFlags2) => ts_textChanges_exports.ChangeTracker.with(context, (t) => addMethodDeclaration(context, t, call, token, modifierFlags2, parentDeclaration, declSourceFile));
149251
149255
  const actions2 = [createCodeFixAction(fixMissingMember, addMethodDeclarationChanges(modifierFlags & 32 /* Static */), [modifierFlags & 32 /* Static */ ? Diagnostics.Declare_static_method_0 : Diagnostics.Declare_method_0, methodName], fixMissingMember, Diagnostics.Add_all_missing_members)];
@@ -152582,6 +152586,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
152582
152586
  type === void 0 ? factory.createKeywordTypeNode(159 /* UnknownKeyword */) : type
152583
152587
  );
152584
152588
  case 261 /* FunctionDeclaration */:
152589
+ Debug.assert(typeof name === "string" || isIdentifier(name), "Unexpected name");
152585
152590
  return factory.createFunctionDeclaration(
152586
152591
  modifiers,
152587
152592
  asteriskToken,
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
54
54
 
55
55
  // src/compiler/corePublic.ts
56
56
  var versionMajorMinor = "5.2";
57
- var version = `${versionMajorMinor}.0-dev.20230526`;
57
+ var version = `${versionMajorMinor}.0-dev.20230528`;
58
58
 
59
59
  // src/compiler/core.ts
60
60
  var emptyArray = [];
@@ -28916,6 +28916,7 @@ var CheckMode = /* @__PURE__ */ ((CheckMode3) => {
28916
28916
  CheckMode3[CheckMode3["IsForSignatureHelp"] = 16] = "IsForSignatureHelp";
28917
28917
  CheckMode3[CheckMode3["IsForStringLiteralArgumentCompletions"] = 32] = "IsForStringLiteralArgumentCompletions";
28918
28918
  CheckMode3[CheckMode3["RestBindingElement"] = 64] = "RestBindingElement";
28919
+ CheckMode3[CheckMode3["TypeOnly"] = 128] = "TypeOnly";
28919
28920
  return CheckMode3;
28920
28921
  })(CheckMode || {});
28921
28922
  var SignatureCheckMode = /* @__PURE__ */ ((SignatureCheckMode3) => {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "typescript",
3
3
  "author": "Microsoft Corp.",
4
4
  "homepage": "https://www.typescriptlang.org/",
5
- "version": "5.2.0-dev.20230526",
5
+ "version": "5.2.0-dev.20230528",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -113,5 +113,5 @@
113
113
  "node": "20.1.0",
114
114
  "npm": "8.19.4"
115
115
  },
116
- "gitHead": "fb7efcfe06ed68bf31614e43f474732167302728"
116
+ "gitHead": "ca0fafd694f13775f7491982a83620b51c2b785d"
117
117
  }