@typescript-deploys/pr-build 5.3.0-pr-55696-3 → 5.3.0-pr-55718-6

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.3";
21
- var version = `${versionMajorMinor}.0-insiders.20230911`;
21
+ var version = `${versionMajorMinor}.0-insiders.20230912`;
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -56266,8 +56266,7 @@ function createTypeChecker(host) {
56266
56266
  if (elementFlags.length === 1 && elementFlags[0] & 4 /* Rest */) {
56267
56267
  return readonly ? globalReadonlyArrayType : globalArrayType;
56268
56268
  }
56269
- const memberIds = mapDefined(namedMemberDeclarations, (node) => node ? getNodeId(node) : void 0);
56270
- const key = map(elementFlags, (f) => f & 1 /* Required */ ? "#" : f & 2 /* Optional */ ? "?" : f & 4 /* Rest */ ? "." : "*").join() + (readonly ? "R" : "") + (memberIds.length ? "," + memberIds.join(",") : "");
56269
+ const key = map(elementFlags, (f) => f & 1 /* Required */ ? "#" : f & 2 /* Optional */ ? "?" : f & 4 /* Rest */ ? "." : "*").join() + (readonly ? "R" : "") + (some(namedMemberDeclarations, (node) => !!node) ? "," + map(namedMemberDeclarations, (node) => node ? getNodeId(node) : "_").join(",") : "");
56271
56270
  let type = tupleTypes.get(key);
56272
56271
  if (!type) {
56273
56272
  tupleTypes.set(key, type = createTupleTargetType(elementFlags, readonly, namedMemberDeclarations));
@@ -73973,7 +73972,11 @@ function createTypeChecker(host) {
73973
73972
  error(errorNode, Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
73974
73973
  }
73975
73974
  checkNaNEquality(errorNode, operator, left, right);
73976
- reportOperatorErrorUnless((left2, right2) => isTypeEqualityComparableTo(left2, right2) || isTypeEqualityComparableTo(right2, left2));
73975
+ if (isUnitType(leftType) && isUnitType(rightType) && isTypeIdenticalTo(leftType, rightType)) {
73976
+ error(errorNode, Diagnostics.This_condition_will_always_return_0, operator === 37 /* EqualsEqualsEqualsToken */ || operator === 35 /* EqualsEqualsToken */ ? "true" : "false");
73977
+ } else {
73978
+ reportOperatorErrorUnless((left2, right2) => isTypeEqualityComparableTo(left2, right2) || isTypeEqualityComparableTo(right2, left2));
73979
+ }
73977
73980
  }
73978
73981
  return booleanType;
73979
73982
  case 104 /* InstanceOfKeyword */:
@@ -79199,19 +79202,14 @@ function createTypeChecker(host) {
79199
79202
  function computeConstantValue(member) {
79200
79203
  const isConstEnum = isEnumConst(member.parent);
79201
79204
  const initializer = member.initializer;
79202
- const evaluated = evaluate(initializer, member);
79203
- if (evaluated) {
79204
- const { value } = evaluated;
79205
+ const value = evaluate(initializer, member);
79206
+ if (value !== void 0) {
79205
79207
  if (isConstEnum && typeof value === "number" && !isFinite(value)) {
79206
79208
  error(
79207
79209
  initializer,
79208
79210
  isNaN(value) ? Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value
79209
79211
  );
79210
- } else if (typeof value !== "string" && typeof value !== "number") {
79211
- checkTypeAssignableTo(checkExpression(initializer), numberType, initializer, Diagnostics.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values);
79212
- return void 0;
79213
79212
  }
79214
- return value;
79215
79213
  } else if (isConstEnum) {
79216
79214
  error(initializer, Diagnostics.const_enum_member_initializers_must_be_constant_expressions);
79217
79215
  } else if (member.parent.flags & 33554432 /* Ambient */) {
@@ -79219,113 +79217,65 @@ function createTypeChecker(host) {
79219
79217
  } else {
79220
79218
  checkTypeAssignableTo(checkExpression(initializer), numberType, initializer, Diagnostics.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values);
79221
79219
  }
79222
- return void 0;
79220
+ return value;
79223
79221
  }
79224
79222
  function evaluate(expr, location) {
79225
79223
  switch (expr.kind) {
79226
- case 224 /* PrefixUnaryExpression */: {
79227
- const evaluated = evaluate(expr.operand, location);
79228
- if (!evaluated) {
79229
- break;
79230
- }
79231
- const { value } = evaluated;
79224
+ case 224 /* PrefixUnaryExpression */:
79225
+ const value = evaluate(expr.operand, location);
79232
79226
  if (typeof value === "number") {
79233
79227
  switch (expr.operator) {
79234
79228
  case 40 /* PlusToken */:
79235
- return { value };
79229
+ return value;
79236
79230
  case 41 /* MinusToken */:
79237
- return { value: -value };
79231
+ return -value;
79238
79232
  case 55 /* TildeToken */:
79239
- return { value: ~value };
79233
+ return ~value;
79240
79234
  }
79241
79235
  }
79242
- if (typeof value === "boolean" && expr.operator === 54 /* ExclamationToken */) {
79243
- return { value: !value };
79244
- }
79245
79236
  break;
79246
- }
79247
- case 226 /* BinaryExpression */: {
79248
- const evaluatedLeft = evaluate(expr.left, location);
79249
- if (!evaluatedLeft) {
79250
- break;
79251
- }
79252
- const evaluatedRight = evaluate(expr.right, location);
79253
- if (!evaluatedRight) {
79254
- break;
79255
- }
79256
- const left = evaluatedLeft.value;
79257
- const right = evaluatedRight.value;
79237
+ case 226 /* BinaryExpression */:
79238
+ const left = evaluate(expr.left, location);
79239
+ const right = evaluate(expr.right, location);
79258
79240
  if (typeof left === "number" && typeof right === "number") {
79259
79241
  switch (expr.operatorToken.kind) {
79260
79242
  case 52 /* BarToken */:
79261
- return { value: left | right };
79243
+ return left | right;
79262
79244
  case 51 /* AmpersandToken */:
79263
- return { value: left & right };
79245
+ return left & right;
79264
79246
  case 49 /* GreaterThanGreaterThanToken */:
79265
- return { value: left >> right };
79247
+ return left >> right;
79266
79248
  case 50 /* GreaterThanGreaterThanGreaterThanToken */:
79267
- return { value: left >>> right };
79249
+ return left >>> right;
79268
79250
  case 48 /* LessThanLessThanToken */:
79269
- return { value: left << right };
79251
+ return left << right;
79270
79252
  case 53 /* CaretToken */:
79271
- return { value: left ^ right };
79253
+ return left ^ right;
79272
79254
  case 42 /* AsteriskToken */:
79273
- return { value: left * right };
79255
+ return left * right;
79274
79256
  case 44 /* SlashToken */:
79275
- return { value: left / right };
79257
+ return left / right;
79276
79258
  case 40 /* PlusToken */:
79277
- return { value: left + right };
79259
+ return left + right;
79278
79260
  case 41 /* MinusToken */:
79279
- return { value: left - right };
79261
+ return left - right;
79280
79262
  case 45 /* PercentToken */:
79281
- return { value: left % right };
79263
+ return left % right;
79282
79264
  case 43 /* AsteriskAsteriskToken */:
79283
- return { value: left ** right };
79265
+ return left ** right;
79284
79266
  }
79285
- } else if (typeof left === "bigint" && typeof right === "bigint") {
79286
- switch (expr.operatorToken.kind) {
79287
- case 52 /* BarToken */:
79288
- return { value: left | right };
79289
- case 51 /* AmpersandToken */:
79290
- return { value: left & right };
79291
- case 49 /* GreaterThanGreaterThanToken */:
79292
- return { value: left >> right };
79293
- case 48 /* LessThanLessThanToken */:
79294
- return { value: left << right };
79295
- case 53 /* CaretToken */:
79296
- return { value: left ^ right };
79297
- case 42 /* AsteriskToken */:
79298
- return { value: left * right };
79299
- case 44 /* SlashToken */:
79300
- return { value: left / right };
79301
- case 40 /* PlusToken */:
79302
- return { value: left + right };
79303
- case 41 /* MinusToken */:
79304
- return { value: left - right };
79305
- case 45 /* PercentToken */:
79306
- return { value: left % right };
79307
- case 43 /* AsteriskAsteriskToken */:
79308
- return { value: left ** right };
79309
- }
79310
- } else if ((typeof left === "string" || typeof right === "string") && expr.operatorToken.kind === 40 /* PlusToken */) {
79311
- return { value: "" + left + right };
79267
+ } else if ((typeof left === "string" || typeof left === "number") && (typeof right === "string" || typeof right === "number") && expr.operatorToken.kind === 40 /* PlusToken */) {
79268
+ return "" + left + right;
79312
79269
  }
79313
79270
  break;
79314
- }
79315
79271
  case 11 /* StringLiteral */:
79316
79272
  case 15 /* NoSubstitutionTemplateLiteral */:
79317
- return { value: expr.text };
79318
- case 228 /* TemplateExpression */: {
79319
- const value = evaluateTemplateExpression(expr, location);
79320
- if (typeof value === "undefined") {
79321
- break;
79322
- }
79323
- return { value };
79324
- }
79273
+ return expr.text;
79274
+ case 228 /* TemplateExpression */:
79275
+ return evaluateTemplateExpression(expr, location);
79325
79276
  case 9 /* NumericLiteral */:
79326
- return { value: +expr.text };
79327
- case 10 /* BigIntLiteral */:
79328
- return { value: BigInt(expr.text) };
79277
+ checkGrammarNumericLiteral(expr);
79278
+ return +expr.text;
79329
79279
  case 217 /* ParenthesizedExpression */:
79330
79280
  return evaluate(expr.expression, location);
79331
79281
  case 80 /* Identifier */: {
@@ -79341,7 +79291,7 @@ function createTypeChecker(host) {
79341
79291
  /*diagnostic*/
79342
79292
  void 0
79343
79293
  )) {
79344
- return { value: +identifier.escapedText };
79294
+ return +identifier.escapedText;
79345
79295
  }
79346
79296
  }
79347
79297
  case 211 /* PropertyAccessExpression */:
@@ -79354,11 +79304,7 @@ function createTypeChecker(host) {
79354
79304
  );
79355
79305
  if (symbol) {
79356
79306
  if (symbol.flags & 8 /* EnumMember */) {
79357
- const value = location ? evaluateEnumMember(expr, symbol, location) : getEnumMemberValue(symbol.valueDeclaration);
79358
- if (typeof value === "undefined") {
79359
- break;
79360
- }
79361
- return { value };
79307
+ return location ? evaluateEnumMember(expr, symbol, location) : getEnumMemberValue(symbol.valueDeclaration);
79362
79308
  }
79363
79309
  if (isConstantVariable(symbol)) {
79364
79310
  const declaration = symbol.valueDeclaration;
@@ -79382,23 +79328,11 @@ function createTypeChecker(host) {
79382
79328
  const name = escapeLeadingUnderscores(expr.argumentExpression.text);
79383
79329
  const member = rootSymbol.exports.get(name);
79384
79330
  if (member) {
79385
- const value = location ? evaluateEnumMember(expr, member, location) : getEnumMemberValue(member.valueDeclaration);
79386
- if (typeof value === "undefined") {
79387
- break;
79388
- }
79389
- return { value };
79331
+ return location ? evaluateEnumMember(expr, member, location) : getEnumMemberValue(member.valueDeclaration);
79390
79332
  }
79391
79333
  }
79392
79334
  }
79393
79335
  break;
79394
- case 112 /* TrueKeyword */:
79395
- return { value: true };
79396
- case 97 /* FalseKeyword */:
79397
- return { value: false };
79398
- case 106 /* NullKeyword */:
79399
- return { value: null };
79400
- case 157 /* UndefinedKeyword */:
79401
- return { value: void 0 };
79402
79336
  }
79403
79337
  return void 0;
79404
79338
  }
@@ -79417,11 +79351,11 @@ function createTypeChecker(host) {
79417
79351
  function evaluateTemplateExpression(expr, location) {
79418
79352
  let result = expr.head.text;
79419
79353
  for (const span of expr.templateSpans) {
79420
- const evaluated = evaluate(span.expression, location);
79421
- if (!evaluated) {
79354
+ const value = evaluate(span.expression, location);
79355
+ if (value === void 0) {
79422
79356
  return void 0;
79423
79357
  }
79424
- result += evaluated.value;
79358
+ result += value;
79425
79359
  result += span.literal.text;
79426
79360
  }
79427
79361
  return result;
package/lib/tsserver.js CHANGED
@@ -2327,7 +2327,7 @@ module.exports = __toCommonJS(server_exports);
2327
2327
 
2328
2328
  // src/compiler/corePublic.ts
2329
2329
  var versionMajorMinor = "5.3";
2330
- var version = `${versionMajorMinor}.0-insiders.20230911`;
2330
+ var version = `${versionMajorMinor}.0-insiders.20230912`;
2331
2331
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2332
2332
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2333
2333
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -60968,8 +60968,7 @@ function createTypeChecker(host) {
60968
60968
  if (elementFlags.length === 1 && elementFlags[0] & 4 /* Rest */) {
60969
60969
  return readonly ? globalReadonlyArrayType : globalArrayType;
60970
60970
  }
60971
- const memberIds = mapDefined(namedMemberDeclarations, (node) => node ? getNodeId(node) : void 0);
60972
- const key = map(elementFlags, (f) => f & 1 /* Required */ ? "#" : f & 2 /* Optional */ ? "?" : f & 4 /* Rest */ ? "." : "*").join() + (readonly ? "R" : "") + (memberIds.length ? "," + memberIds.join(",") : "");
60971
+ const key = map(elementFlags, (f) => f & 1 /* Required */ ? "#" : f & 2 /* Optional */ ? "?" : f & 4 /* Rest */ ? "." : "*").join() + (readonly ? "R" : "") + (some(namedMemberDeclarations, (node) => !!node) ? "," + map(namedMemberDeclarations, (node) => node ? getNodeId(node) : "_").join(",") : "");
60973
60972
  let type = tupleTypes.get(key);
60974
60973
  if (!type) {
60975
60974
  tupleTypes.set(key, type = createTupleTargetType(elementFlags, readonly, namedMemberDeclarations));
@@ -78675,7 +78674,11 @@ function createTypeChecker(host) {
78675
78674
  error2(errorNode, Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
78676
78675
  }
78677
78676
  checkNaNEquality(errorNode, operator, left, right);
78678
- reportOperatorErrorUnless((left2, right2) => isTypeEqualityComparableTo(left2, right2) || isTypeEqualityComparableTo(right2, left2));
78677
+ if (isUnitType(leftType) && isUnitType(rightType) && isTypeIdenticalTo(leftType, rightType)) {
78678
+ error2(errorNode, Diagnostics.This_condition_will_always_return_0, operator === 37 /* EqualsEqualsEqualsToken */ || operator === 35 /* EqualsEqualsToken */ ? "true" : "false");
78679
+ } else {
78680
+ reportOperatorErrorUnless((left2, right2) => isTypeEqualityComparableTo(left2, right2) || isTypeEqualityComparableTo(right2, left2));
78681
+ }
78679
78682
  }
78680
78683
  return booleanType;
78681
78684
  case 104 /* InstanceOfKeyword */:
@@ -83901,19 +83904,14 @@ function createTypeChecker(host) {
83901
83904
  function computeConstantValue(member) {
83902
83905
  const isConstEnum = isEnumConst(member.parent);
83903
83906
  const initializer = member.initializer;
83904
- const evaluated = evaluate(initializer, member);
83905
- if (evaluated) {
83906
- const { value } = evaluated;
83907
+ const value = evaluate(initializer, member);
83908
+ if (value !== void 0) {
83907
83909
  if (isConstEnum && typeof value === "number" && !isFinite(value)) {
83908
83910
  error2(
83909
83911
  initializer,
83910
83912
  isNaN(value) ? Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value
83911
83913
  );
83912
- } else if (typeof value !== "string" && typeof value !== "number") {
83913
- checkTypeAssignableTo(checkExpression(initializer), numberType, initializer, Diagnostics.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values);
83914
- return void 0;
83915
83914
  }
83916
- return value;
83917
83915
  } else if (isConstEnum) {
83918
83916
  error2(initializer, Diagnostics.const_enum_member_initializers_must_be_constant_expressions);
83919
83917
  } else if (member.parent.flags & 33554432 /* Ambient */) {
@@ -83921,113 +83919,65 @@ function createTypeChecker(host) {
83921
83919
  } else {
83922
83920
  checkTypeAssignableTo(checkExpression(initializer), numberType, initializer, Diagnostics.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values);
83923
83921
  }
83924
- return void 0;
83922
+ return value;
83925
83923
  }
83926
83924
  function evaluate(expr, location) {
83927
83925
  switch (expr.kind) {
83928
- case 224 /* PrefixUnaryExpression */: {
83929
- const evaluated = evaluate(expr.operand, location);
83930
- if (!evaluated) {
83931
- break;
83932
- }
83933
- const { value } = evaluated;
83926
+ case 224 /* PrefixUnaryExpression */:
83927
+ const value = evaluate(expr.operand, location);
83934
83928
  if (typeof value === "number") {
83935
83929
  switch (expr.operator) {
83936
83930
  case 40 /* PlusToken */:
83937
- return { value };
83931
+ return value;
83938
83932
  case 41 /* MinusToken */:
83939
- return { value: -value };
83933
+ return -value;
83940
83934
  case 55 /* TildeToken */:
83941
- return { value: ~value };
83935
+ return ~value;
83942
83936
  }
83943
83937
  }
83944
- if (typeof value === "boolean" && expr.operator === 54 /* ExclamationToken */) {
83945
- return { value: !value };
83946
- }
83947
83938
  break;
83948
- }
83949
- case 226 /* BinaryExpression */: {
83950
- const evaluatedLeft = evaluate(expr.left, location);
83951
- if (!evaluatedLeft) {
83952
- break;
83953
- }
83954
- const evaluatedRight = evaluate(expr.right, location);
83955
- if (!evaluatedRight) {
83956
- break;
83957
- }
83958
- const left = evaluatedLeft.value;
83959
- const right = evaluatedRight.value;
83939
+ case 226 /* BinaryExpression */:
83940
+ const left = evaluate(expr.left, location);
83941
+ const right = evaluate(expr.right, location);
83960
83942
  if (typeof left === "number" && typeof right === "number") {
83961
83943
  switch (expr.operatorToken.kind) {
83962
83944
  case 52 /* BarToken */:
83963
- return { value: left | right };
83945
+ return left | right;
83964
83946
  case 51 /* AmpersandToken */:
83965
- return { value: left & right };
83947
+ return left & right;
83966
83948
  case 49 /* GreaterThanGreaterThanToken */:
83967
- return { value: left >> right };
83949
+ return left >> right;
83968
83950
  case 50 /* GreaterThanGreaterThanGreaterThanToken */:
83969
- return { value: left >>> right };
83951
+ return left >>> right;
83970
83952
  case 48 /* LessThanLessThanToken */:
83971
- return { value: left << right };
83953
+ return left << right;
83972
83954
  case 53 /* CaretToken */:
83973
- return { value: left ^ right };
83955
+ return left ^ right;
83974
83956
  case 42 /* AsteriskToken */:
83975
- return { value: left * right };
83957
+ return left * right;
83976
83958
  case 44 /* SlashToken */:
83977
- return { value: left / right };
83959
+ return left / right;
83978
83960
  case 40 /* PlusToken */:
83979
- return { value: left + right };
83961
+ return left + right;
83980
83962
  case 41 /* MinusToken */:
83981
- return { value: left - right };
83963
+ return left - right;
83982
83964
  case 45 /* PercentToken */:
83983
- return { value: left % right };
83965
+ return left % right;
83984
83966
  case 43 /* AsteriskAsteriskToken */:
83985
- return { value: left ** right };
83967
+ return left ** right;
83986
83968
  }
83987
- } else if (typeof left === "bigint" && typeof right === "bigint") {
83988
- switch (expr.operatorToken.kind) {
83989
- case 52 /* BarToken */:
83990
- return { value: left | right };
83991
- case 51 /* AmpersandToken */:
83992
- return { value: left & right };
83993
- case 49 /* GreaterThanGreaterThanToken */:
83994
- return { value: left >> right };
83995
- case 48 /* LessThanLessThanToken */:
83996
- return { value: left << right };
83997
- case 53 /* CaretToken */:
83998
- return { value: left ^ right };
83999
- case 42 /* AsteriskToken */:
84000
- return { value: left * right };
84001
- case 44 /* SlashToken */:
84002
- return { value: left / right };
84003
- case 40 /* PlusToken */:
84004
- return { value: left + right };
84005
- case 41 /* MinusToken */:
84006
- return { value: left - right };
84007
- case 45 /* PercentToken */:
84008
- return { value: left % right };
84009
- case 43 /* AsteriskAsteriskToken */:
84010
- return { value: left ** right };
84011
- }
84012
- } else if ((typeof left === "string" || typeof right === "string") && expr.operatorToken.kind === 40 /* PlusToken */) {
84013
- return { value: "" + left + right };
83969
+ } else if ((typeof left === "string" || typeof left === "number") && (typeof right === "string" || typeof right === "number") && expr.operatorToken.kind === 40 /* PlusToken */) {
83970
+ return "" + left + right;
84014
83971
  }
84015
83972
  break;
84016
- }
84017
83973
  case 11 /* StringLiteral */:
84018
83974
  case 15 /* NoSubstitutionTemplateLiteral */:
84019
- return { value: expr.text };
84020
- case 228 /* TemplateExpression */: {
84021
- const value = evaluateTemplateExpression(expr, location);
84022
- if (typeof value === "undefined") {
84023
- break;
84024
- }
84025
- return { value };
84026
- }
83975
+ return expr.text;
83976
+ case 228 /* TemplateExpression */:
83977
+ return evaluateTemplateExpression(expr, location);
84027
83978
  case 9 /* NumericLiteral */:
84028
- return { value: +expr.text };
84029
- case 10 /* BigIntLiteral */:
84030
- return { value: BigInt(expr.text) };
83979
+ checkGrammarNumericLiteral(expr);
83980
+ return +expr.text;
84031
83981
  case 217 /* ParenthesizedExpression */:
84032
83982
  return evaluate(expr.expression, location);
84033
83983
  case 80 /* Identifier */: {
@@ -84043,7 +83993,7 @@ function createTypeChecker(host) {
84043
83993
  /*diagnostic*/
84044
83994
  void 0
84045
83995
  )) {
84046
- return { value: +identifier.escapedText };
83996
+ return +identifier.escapedText;
84047
83997
  }
84048
83998
  }
84049
83999
  case 211 /* PropertyAccessExpression */:
@@ -84056,11 +84006,7 @@ function createTypeChecker(host) {
84056
84006
  );
84057
84007
  if (symbol) {
84058
84008
  if (symbol.flags & 8 /* EnumMember */) {
84059
- const value = location ? evaluateEnumMember(expr, symbol, location) : getEnumMemberValue(symbol.valueDeclaration);
84060
- if (typeof value === "undefined") {
84061
- break;
84062
- }
84063
- return { value };
84009
+ return location ? evaluateEnumMember(expr, symbol, location) : getEnumMemberValue(symbol.valueDeclaration);
84064
84010
  }
84065
84011
  if (isConstantVariable(symbol)) {
84066
84012
  const declaration = symbol.valueDeclaration;
@@ -84084,23 +84030,11 @@ function createTypeChecker(host) {
84084
84030
  const name = escapeLeadingUnderscores(expr.argumentExpression.text);
84085
84031
  const member = rootSymbol.exports.get(name);
84086
84032
  if (member) {
84087
- const value = location ? evaluateEnumMember(expr, member, location) : getEnumMemberValue(member.valueDeclaration);
84088
- if (typeof value === "undefined") {
84089
- break;
84090
- }
84091
- return { value };
84033
+ return location ? evaluateEnumMember(expr, member, location) : getEnumMemberValue(member.valueDeclaration);
84092
84034
  }
84093
84035
  }
84094
84036
  }
84095
84037
  break;
84096
- case 112 /* TrueKeyword */:
84097
- return { value: true };
84098
- case 97 /* FalseKeyword */:
84099
- return { value: false };
84100
- case 106 /* NullKeyword */:
84101
- return { value: null };
84102
- case 157 /* UndefinedKeyword */:
84103
- return { value: void 0 };
84104
84038
  }
84105
84039
  return void 0;
84106
84040
  }
@@ -84119,11 +84053,11 @@ function createTypeChecker(host) {
84119
84053
  function evaluateTemplateExpression(expr, location) {
84120
84054
  let result = expr.head.text;
84121
84055
  for (const span of expr.templateSpans) {
84122
- const evaluated = evaluate(span.expression, location);
84123
- if (!evaluated) {
84056
+ const value = evaluate(span.expression, location);
84057
+ if (value === void 0) {
84124
84058
  return void 0;
84125
84059
  }
84126
- result += evaluated.value;
84060
+ result += value;
84127
84061
  result += span.literal.text;
84128
84062
  }
84129
84063
  return result;
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.3";
38
- version = `${versionMajorMinor}.0-insiders.20230911`;
38
+ version = `${versionMajorMinor}.0-insiders.20230912`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -58735,8 +58735,7 @@ ${lanes.join("\n")}
58735
58735
  if (elementFlags.length === 1 && elementFlags[0] & 4 /* Rest */) {
58736
58736
  return readonly ? globalReadonlyArrayType : globalArrayType;
58737
58737
  }
58738
- const memberIds = mapDefined(namedMemberDeclarations, (node) => node ? getNodeId(node) : void 0);
58739
- const key = map(elementFlags, (f) => f & 1 /* Required */ ? "#" : f & 2 /* Optional */ ? "?" : f & 4 /* Rest */ ? "." : "*").join() + (readonly ? "R" : "") + (memberIds.length ? "," + memberIds.join(",") : "");
58738
+ const key = map(elementFlags, (f) => f & 1 /* Required */ ? "#" : f & 2 /* Optional */ ? "?" : f & 4 /* Rest */ ? "." : "*").join() + (readonly ? "R" : "") + (some(namedMemberDeclarations, (node) => !!node) ? "," + map(namedMemberDeclarations, (node) => node ? getNodeId(node) : "_").join(",") : "");
58740
58739
  let type = tupleTypes.get(key);
58741
58740
  if (!type) {
58742
58741
  tupleTypes.set(key, type = createTupleTargetType(elementFlags, readonly, namedMemberDeclarations));
@@ -76442,7 +76441,11 @@ ${lanes.join("\n")}
76442
76441
  error2(errorNode, Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
76443
76442
  }
76444
76443
  checkNaNEquality(errorNode, operator, left, right);
76445
- reportOperatorErrorUnless((left2, right2) => isTypeEqualityComparableTo(left2, right2) || isTypeEqualityComparableTo(right2, left2));
76444
+ if (isUnitType(leftType) && isUnitType(rightType) && isTypeIdenticalTo(leftType, rightType)) {
76445
+ error2(errorNode, Diagnostics.This_condition_will_always_return_0, operator === 37 /* EqualsEqualsEqualsToken */ || operator === 35 /* EqualsEqualsToken */ ? "true" : "false");
76446
+ } else {
76447
+ reportOperatorErrorUnless((left2, right2) => isTypeEqualityComparableTo(left2, right2) || isTypeEqualityComparableTo(right2, left2));
76448
+ }
76446
76449
  }
76447
76450
  return booleanType;
76448
76451
  case 104 /* InstanceOfKeyword */:
@@ -81668,19 +81671,14 @@ ${lanes.join("\n")}
81668
81671
  function computeConstantValue(member) {
81669
81672
  const isConstEnum = isEnumConst(member.parent);
81670
81673
  const initializer = member.initializer;
81671
- const evaluated = evaluate(initializer, member);
81672
- if (evaluated) {
81673
- const { value } = evaluated;
81674
+ const value = evaluate(initializer, member);
81675
+ if (value !== void 0) {
81674
81676
  if (isConstEnum && typeof value === "number" && !isFinite(value)) {
81675
81677
  error2(
81676
81678
  initializer,
81677
81679
  isNaN(value) ? Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value
81678
81680
  );
81679
- } else if (typeof value !== "string" && typeof value !== "number") {
81680
- checkTypeAssignableTo(checkExpression(initializer), numberType, initializer, Diagnostics.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values);
81681
- return void 0;
81682
81681
  }
81683
- return value;
81684
81682
  } else if (isConstEnum) {
81685
81683
  error2(initializer, Diagnostics.const_enum_member_initializers_must_be_constant_expressions);
81686
81684
  } else if (member.parent.flags & 33554432 /* Ambient */) {
@@ -81688,113 +81686,65 @@ ${lanes.join("\n")}
81688
81686
  } else {
81689
81687
  checkTypeAssignableTo(checkExpression(initializer), numberType, initializer, Diagnostics.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values);
81690
81688
  }
81691
- return void 0;
81689
+ return value;
81692
81690
  }
81693
81691
  function evaluate(expr, location) {
81694
81692
  switch (expr.kind) {
81695
- case 224 /* PrefixUnaryExpression */: {
81696
- const evaluated = evaluate(expr.operand, location);
81697
- if (!evaluated) {
81698
- break;
81699
- }
81700
- const { value } = evaluated;
81693
+ case 224 /* PrefixUnaryExpression */:
81694
+ const value = evaluate(expr.operand, location);
81701
81695
  if (typeof value === "number") {
81702
81696
  switch (expr.operator) {
81703
81697
  case 40 /* PlusToken */:
81704
- return { value };
81698
+ return value;
81705
81699
  case 41 /* MinusToken */:
81706
- return { value: -value };
81700
+ return -value;
81707
81701
  case 55 /* TildeToken */:
81708
- return { value: ~value };
81702
+ return ~value;
81709
81703
  }
81710
81704
  }
81711
- if (typeof value === "boolean" && expr.operator === 54 /* ExclamationToken */) {
81712
- return { value: !value };
81713
- }
81714
81705
  break;
81715
- }
81716
- case 226 /* BinaryExpression */: {
81717
- const evaluatedLeft = evaluate(expr.left, location);
81718
- if (!evaluatedLeft) {
81719
- break;
81720
- }
81721
- const evaluatedRight = evaluate(expr.right, location);
81722
- if (!evaluatedRight) {
81723
- break;
81724
- }
81725
- const left = evaluatedLeft.value;
81726
- const right = evaluatedRight.value;
81706
+ case 226 /* BinaryExpression */:
81707
+ const left = evaluate(expr.left, location);
81708
+ const right = evaluate(expr.right, location);
81727
81709
  if (typeof left === "number" && typeof right === "number") {
81728
81710
  switch (expr.operatorToken.kind) {
81729
81711
  case 52 /* BarToken */:
81730
- return { value: left | right };
81712
+ return left | right;
81731
81713
  case 51 /* AmpersandToken */:
81732
- return { value: left & right };
81714
+ return left & right;
81733
81715
  case 49 /* GreaterThanGreaterThanToken */:
81734
- return { value: left >> right };
81716
+ return left >> right;
81735
81717
  case 50 /* GreaterThanGreaterThanGreaterThanToken */:
81736
- return { value: left >>> right };
81718
+ return left >>> right;
81737
81719
  case 48 /* LessThanLessThanToken */:
81738
- return { value: left << right };
81720
+ return left << right;
81739
81721
  case 53 /* CaretToken */:
81740
- return { value: left ^ right };
81722
+ return left ^ right;
81741
81723
  case 42 /* AsteriskToken */:
81742
- return { value: left * right };
81724
+ return left * right;
81743
81725
  case 44 /* SlashToken */:
81744
- return { value: left / right };
81726
+ return left / right;
81745
81727
  case 40 /* PlusToken */:
81746
- return { value: left + right };
81728
+ return left + right;
81747
81729
  case 41 /* MinusToken */:
81748
- return { value: left - right };
81730
+ return left - right;
81749
81731
  case 45 /* PercentToken */:
81750
- return { value: left % right };
81732
+ return left % right;
81751
81733
  case 43 /* AsteriskAsteriskToken */:
81752
- return { value: left ** right };
81734
+ return left ** right;
81753
81735
  }
81754
- } else if (typeof left === "bigint" && typeof right === "bigint") {
81755
- switch (expr.operatorToken.kind) {
81756
- case 52 /* BarToken */:
81757
- return { value: left | right };
81758
- case 51 /* AmpersandToken */:
81759
- return { value: left & right };
81760
- case 49 /* GreaterThanGreaterThanToken */:
81761
- return { value: left >> right };
81762
- case 48 /* LessThanLessThanToken */:
81763
- return { value: left << right };
81764
- case 53 /* CaretToken */:
81765
- return { value: left ^ right };
81766
- case 42 /* AsteriskToken */:
81767
- return { value: left * right };
81768
- case 44 /* SlashToken */:
81769
- return { value: left / right };
81770
- case 40 /* PlusToken */:
81771
- return { value: left + right };
81772
- case 41 /* MinusToken */:
81773
- return { value: left - right };
81774
- case 45 /* PercentToken */:
81775
- return { value: left % right };
81776
- case 43 /* AsteriskAsteriskToken */:
81777
- return { value: left ** right };
81778
- }
81779
- } else if ((typeof left === "string" || typeof right === "string") && expr.operatorToken.kind === 40 /* PlusToken */) {
81780
- return { value: "" + left + right };
81736
+ } else if ((typeof left === "string" || typeof left === "number") && (typeof right === "string" || typeof right === "number") && expr.operatorToken.kind === 40 /* PlusToken */) {
81737
+ return "" + left + right;
81781
81738
  }
81782
81739
  break;
81783
- }
81784
81740
  case 11 /* StringLiteral */:
81785
81741
  case 15 /* NoSubstitutionTemplateLiteral */:
81786
- return { value: expr.text };
81787
- case 228 /* TemplateExpression */: {
81788
- const value = evaluateTemplateExpression(expr, location);
81789
- if (typeof value === "undefined") {
81790
- break;
81791
- }
81792
- return { value };
81793
- }
81742
+ return expr.text;
81743
+ case 228 /* TemplateExpression */:
81744
+ return evaluateTemplateExpression(expr, location);
81794
81745
  case 9 /* NumericLiteral */:
81795
- return { value: +expr.text };
81796
- case 10 /* BigIntLiteral */:
81797
- return { value: BigInt(expr.text) };
81746
+ checkGrammarNumericLiteral(expr);
81747
+ return +expr.text;
81798
81748
  case 217 /* ParenthesizedExpression */:
81799
81749
  return evaluate(expr.expression, location);
81800
81750
  case 80 /* Identifier */: {
@@ -81810,7 +81760,7 @@ ${lanes.join("\n")}
81810
81760
  /*diagnostic*/
81811
81761
  void 0
81812
81762
  )) {
81813
- return { value: +identifier.escapedText };
81763
+ return +identifier.escapedText;
81814
81764
  }
81815
81765
  }
81816
81766
  case 211 /* PropertyAccessExpression */:
@@ -81823,11 +81773,7 @@ ${lanes.join("\n")}
81823
81773
  );
81824
81774
  if (symbol) {
81825
81775
  if (symbol.flags & 8 /* EnumMember */) {
81826
- const value = location ? evaluateEnumMember(expr, symbol, location) : getEnumMemberValue(symbol.valueDeclaration);
81827
- if (typeof value === "undefined") {
81828
- break;
81829
- }
81830
- return { value };
81776
+ return location ? evaluateEnumMember(expr, symbol, location) : getEnumMemberValue(symbol.valueDeclaration);
81831
81777
  }
81832
81778
  if (isConstantVariable(symbol)) {
81833
81779
  const declaration = symbol.valueDeclaration;
@@ -81851,23 +81797,11 @@ ${lanes.join("\n")}
81851
81797
  const name = escapeLeadingUnderscores(expr.argumentExpression.text);
81852
81798
  const member = rootSymbol.exports.get(name);
81853
81799
  if (member) {
81854
- const value = location ? evaluateEnumMember(expr, member, location) : getEnumMemberValue(member.valueDeclaration);
81855
- if (typeof value === "undefined") {
81856
- break;
81857
- }
81858
- return { value };
81800
+ return location ? evaluateEnumMember(expr, member, location) : getEnumMemberValue(member.valueDeclaration);
81859
81801
  }
81860
81802
  }
81861
81803
  }
81862
81804
  break;
81863
- case 112 /* TrueKeyword */:
81864
- return { value: true };
81865
- case 97 /* FalseKeyword */:
81866
- return { value: false };
81867
- case 106 /* NullKeyword */:
81868
- return { value: null };
81869
- case 157 /* UndefinedKeyword */:
81870
- return { value: void 0 };
81871
81805
  }
81872
81806
  return void 0;
81873
81807
  }
@@ -81886,11 +81820,11 @@ ${lanes.join("\n")}
81886
81820
  function evaluateTemplateExpression(expr, location) {
81887
81821
  let result = expr.head.text;
81888
81822
  for (const span of expr.templateSpans) {
81889
- const evaluated = evaluate(span.expression, location);
81890
- if (!evaluated) {
81823
+ const value = evaluate(span.expression, location);
81824
+ if (value === void 0) {
81891
81825
  return void 0;
81892
81826
  }
81893
- result += evaluated.value;
81827
+ result += value;
81894
81828
  result += span.literal.text;
81895
81829
  }
81896
81830
  return result;
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
54
54
 
55
55
  // src/compiler/corePublic.ts
56
56
  var versionMajorMinor = "5.3";
57
- var version = `${versionMajorMinor}.0-insiders.20230911`;
57
+ var version = `${versionMajorMinor}.0-insiders.20230912`;
58
58
 
59
59
  // src/compiler/core.ts
60
60
  var emptyArray = [];
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.3.0-pr-55696-3",
5
+ "version": "5.3.0-pr-55718-6",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -59,7 +59,7 @@
59
59
  "chalk": "^4.1.2",
60
60
  "chokidar": "^3.5.3",
61
61
  "diff": "^5.1.0",
62
- "dprint": "^0.40.2",
62
+ "dprint": "^0.41.0",
63
63
  "esbuild": "^0.19.0",
64
64
  "eslint": "^8.22.0",
65
65
  "eslint-formatter-autolinkable-stylish": "^1.2.0",
@@ -113,5 +113,5 @@
113
113
  "node": "20.1.0",
114
114
  "npm": "8.19.4"
115
115
  },
116
- "gitHead": "d855889d5e0e370ff7cf13b358a7dbbae5ad92ce"
116
+ "gitHead": "3746c7e4e22e0b0b56c18c3463f73aef5e0faa52"
117
117
  }