@typescript-deploys/pr-build 5.4.0-pr-56878-6 → 5.4.0-pr-56859-8

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.4";
21
- var version = `${versionMajorMinor}.0-insiders.20240104`;
21
+ var version = `${versionMajorMinor}.0-insiders.20240105`;
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -73887,6 +73887,9 @@ function createTypeChecker(host) {
73887
73887
  let fallbackReturnType = voidType;
73888
73888
  if (func.body.kind !== 241 /* Block */) {
73889
73889
  returnType = checkExpressionCached(func.body, checkMode && checkMode & ~8 /* SkipGenericFunctions */);
73890
+ if (isConstContext(func.body)) {
73891
+ returnType = getRegularTypeOfLiteralType(returnType);
73892
+ }
73890
73893
  if (isAsync) {
73891
73894
  returnType = unwrapAwaitedType(checkAwaitedType(
73892
73895
  returnType,
@@ -74019,7 +74022,10 @@ function createTypeChecker(host) {
74019
74022
  const nextTypes = [];
74020
74023
  const isAsync = (getFunctionFlags(func) & 2 /* Async */) !== 0;
74021
74024
  forEachYieldExpression(func.body, (yieldExpression) => {
74022
- const yieldExpressionType = yieldExpression.expression ? checkExpression(yieldExpression.expression, checkMode) : undefinedWideningType;
74025
+ let yieldExpressionType = yieldExpression.expression ? checkExpression(yieldExpression.expression, checkMode) : undefinedWideningType;
74026
+ if (yieldExpression.expression && isConstContext(yieldExpression.expression)) {
74027
+ yieldExpressionType = getRegularTypeOfLiteralType(yieldExpressionType);
74028
+ }
74023
74029
  pushIfUnique(yieldTypes, getYieldedTypeOfYieldExpression(yieldExpression, yieldExpressionType, anyType, isAsync));
74024
74030
  let nextType;
74025
74031
  if (yieldExpression.asteriskToken) {
@@ -74134,7 +74140,7 @@ function createTypeChecker(host) {
74134
74140
  if (type.flags & 131072 /* Never */) {
74135
74141
  hasReturnOfTypeNever = true;
74136
74142
  }
74137
- pushIfUnique(aggregatedTypes, type);
74143
+ pushIfUnique(aggregatedTypes, isConstContext(expr) ? getRegularTypeOfLiteralType(type) : type);
74138
74144
  } else {
74139
74145
  hasReturnWithNoExpression = true;
74140
74146
  }
@@ -76770,7 +76776,7 @@ function createTypeChecker(host) {
76770
76776
  return type;
76771
76777
  }
76772
76778
  const apparentObjectType = getApparentType(objectType);
76773
- if (getIndexInfoOfType(apparentObjectType, numberType) && isApplicableIndexType(indexType, numberType)) {
76779
+ if (getIndexInfoOfType(apparentObjectType, numberType) && isTypeAssignableToKind(indexType, 296 /* NumberLike */)) {
76774
76780
  return type;
76775
76781
  }
76776
76782
  if (isGenericObjectType(objectType)) {
package/lib/tsserver.js CHANGED
@@ -2341,7 +2341,7 @@ module.exports = __toCommonJS(server_exports);
2341
2341
 
2342
2342
  // src/compiler/corePublic.ts
2343
2343
  var versionMajorMinor = "5.4";
2344
- var version = `${versionMajorMinor}.0-insiders.20240104`;
2344
+ var version = `${versionMajorMinor}.0-insiders.20240105`;
2345
2345
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2346
2346
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2347
2347
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -78615,6 +78615,9 @@ function createTypeChecker(host) {
78615
78615
  let fallbackReturnType = voidType;
78616
78616
  if (func.body.kind !== 241 /* Block */) {
78617
78617
  returnType = checkExpressionCached(func.body, checkMode && checkMode & ~8 /* SkipGenericFunctions */);
78618
+ if (isConstContext(func.body)) {
78619
+ returnType = getRegularTypeOfLiteralType(returnType);
78620
+ }
78618
78621
  if (isAsync) {
78619
78622
  returnType = unwrapAwaitedType(checkAwaitedType(
78620
78623
  returnType,
@@ -78747,7 +78750,10 @@ function createTypeChecker(host) {
78747
78750
  const nextTypes = [];
78748
78751
  const isAsync = (getFunctionFlags(func) & 2 /* Async */) !== 0;
78749
78752
  forEachYieldExpression(func.body, (yieldExpression) => {
78750
- const yieldExpressionType = yieldExpression.expression ? checkExpression(yieldExpression.expression, checkMode) : undefinedWideningType;
78753
+ let yieldExpressionType = yieldExpression.expression ? checkExpression(yieldExpression.expression, checkMode) : undefinedWideningType;
78754
+ if (yieldExpression.expression && isConstContext(yieldExpression.expression)) {
78755
+ yieldExpressionType = getRegularTypeOfLiteralType(yieldExpressionType);
78756
+ }
78751
78757
  pushIfUnique(yieldTypes, getYieldedTypeOfYieldExpression(yieldExpression, yieldExpressionType, anyType, isAsync));
78752
78758
  let nextType;
78753
78759
  if (yieldExpression.asteriskToken) {
@@ -78862,7 +78868,7 @@ function createTypeChecker(host) {
78862
78868
  if (type.flags & 131072 /* Never */) {
78863
78869
  hasReturnOfTypeNever = true;
78864
78870
  }
78865
- pushIfUnique(aggregatedTypes, type);
78871
+ pushIfUnique(aggregatedTypes, isConstContext(expr) ? getRegularTypeOfLiteralType(type) : type);
78866
78872
  } else {
78867
78873
  hasReturnWithNoExpression = true;
78868
78874
  }
@@ -81498,7 +81504,7 @@ function createTypeChecker(host) {
81498
81504
  return type;
81499
81505
  }
81500
81506
  const apparentObjectType = getApparentType(objectType);
81501
- if (getIndexInfoOfType(apparentObjectType, numberType) && isApplicableIndexType(indexType, numberType)) {
81507
+ if (getIndexInfoOfType(apparentObjectType, numberType) && isTypeAssignableToKind(indexType, 296 /* NumberLike */)) {
81502
81508
  return type;
81503
81509
  }
81504
81510
  if (isGenericObjectType(objectType)) {
@@ -139962,11 +139968,9 @@ registerRefactor(refactorName3, {
139962
139968
  function getRangeToExtract(context, considerEmptySpans = true) {
139963
139969
  const { file, startPosition } = context;
139964
139970
  const isJS = isSourceFileJS(file);
139965
- const current = getTokenAtPosition(file, startPosition);
139966
139971
  const range = createTextRangeFromSpan(getRefactorContextSpan(context));
139967
- const cursorRequest = range.pos === range.end && considerEmptySpans;
139968
- const overlappingRange = nodeOverlapsWithStartEnd(current, file, range.pos, range.end);
139969
- const firstType = findAncestor(current, (node) => node.parent && isTypeNode(node) && !rangeContainsSkipTrivia(range, node.parent, file) && (cursorRequest || overlappingRange));
139972
+ const isCursorRequest = range.pos === range.end && considerEmptySpans;
139973
+ const firstType = getFirstTypeAt(file, startPosition, range, isCursorRequest);
139970
139974
  if (!firstType || !isTypeNode(firstType))
139971
139975
  return { error: getLocaleSpecificMessage(Diagnostics.Selection_is_not_a_valid_type_node) };
139972
139976
  const checker = context.program.getTypeChecker();
@@ -139992,6 +139996,21 @@ function getRangeToExtract(context, considerEmptySpans = true) {
139992
139996
  const typeElements = flattenTypeLiteralNodeReference(checker, selection);
139993
139997
  return { isJS, selection, enclosingNode, typeParameters, typeElements };
139994
139998
  }
139999
+ function getFirstTypeAt(file, startPosition, range, isCursorRequest) {
140000
+ const currentNodes = [
140001
+ () => getTokenAtPosition(file, startPosition),
140002
+ () => getTouchingToken(file, startPosition, () => true)
140003
+ ];
140004
+ for (const f of currentNodes) {
140005
+ const current = f();
140006
+ const overlappingRange = nodeOverlapsWithStartEnd(current, file, range.pos, range.end);
140007
+ const firstType = findAncestor(current, (node) => node.parent && isTypeNode(node) && !rangeContainsSkipTrivia(range, node.parent, file) && (isCursorRequest || overlappingRange));
140008
+ if (firstType) {
140009
+ return firstType;
140010
+ }
140011
+ }
140012
+ return void 0;
140013
+ }
139995
140014
  function flattenTypeLiteralNodeReference(checker, selection) {
139996
140015
  if (!selection)
139997
140016
  return void 0;
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.4";
38
- version = `${versionMajorMinor}.0-insiders.20240104`;
38
+ version = `${versionMajorMinor}.0-insiders.20240105`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -76369,6 +76369,9 @@ ${lanes.join("\n")}
76369
76369
  let fallbackReturnType = voidType;
76370
76370
  if (func.body.kind !== 241 /* Block */) {
76371
76371
  returnType = checkExpressionCached(func.body, checkMode && checkMode & ~8 /* SkipGenericFunctions */);
76372
+ if (isConstContext(func.body)) {
76373
+ returnType = getRegularTypeOfLiteralType(returnType);
76374
+ }
76372
76375
  if (isAsync) {
76373
76376
  returnType = unwrapAwaitedType(checkAwaitedType(
76374
76377
  returnType,
@@ -76501,7 +76504,10 @@ ${lanes.join("\n")}
76501
76504
  const nextTypes = [];
76502
76505
  const isAsync = (getFunctionFlags(func) & 2 /* Async */) !== 0;
76503
76506
  forEachYieldExpression(func.body, (yieldExpression) => {
76504
- const yieldExpressionType = yieldExpression.expression ? checkExpression(yieldExpression.expression, checkMode) : undefinedWideningType;
76507
+ let yieldExpressionType = yieldExpression.expression ? checkExpression(yieldExpression.expression, checkMode) : undefinedWideningType;
76508
+ if (yieldExpression.expression && isConstContext(yieldExpression.expression)) {
76509
+ yieldExpressionType = getRegularTypeOfLiteralType(yieldExpressionType);
76510
+ }
76505
76511
  pushIfUnique(yieldTypes, getYieldedTypeOfYieldExpression(yieldExpression, yieldExpressionType, anyType, isAsync));
76506
76512
  let nextType;
76507
76513
  if (yieldExpression.asteriskToken) {
@@ -76616,7 +76622,7 @@ ${lanes.join("\n")}
76616
76622
  if (type.flags & 131072 /* Never */) {
76617
76623
  hasReturnOfTypeNever = true;
76618
76624
  }
76619
- pushIfUnique(aggregatedTypes, type);
76625
+ pushIfUnique(aggregatedTypes, isConstContext(expr) ? getRegularTypeOfLiteralType(type) : type);
76620
76626
  } else {
76621
76627
  hasReturnWithNoExpression = true;
76622
76628
  }
@@ -79252,7 +79258,7 @@ ${lanes.join("\n")}
79252
79258
  return type;
79253
79259
  }
79254
79260
  const apparentObjectType = getApparentType(objectType);
79255
- if (getIndexInfoOfType(apparentObjectType, numberType) && isApplicableIndexType(indexType, numberType)) {
79261
+ if (getIndexInfoOfType(apparentObjectType, numberType) && isTypeAssignableToKind(indexType, 296 /* NumberLike */)) {
79256
79262
  return type;
79257
79263
  }
79258
79264
  if (isGenericObjectType(objectType)) {
@@ -138260,11 +138266,9 @@ ${lanes.join("\n")}
138260
138266
  function getRangeToExtract(context, considerEmptySpans = true) {
138261
138267
  const { file, startPosition } = context;
138262
138268
  const isJS = isSourceFileJS(file);
138263
- const current = getTokenAtPosition(file, startPosition);
138264
138269
  const range = createTextRangeFromSpan(getRefactorContextSpan(context));
138265
- const cursorRequest = range.pos === range.end && considerEmptySpans;
138266
- const overlappingRange = nodeOverlapsWithStartEnd(current, file, range.pos, range.end);
138267
- const firstType = findAncestor(current, (node) => node.parent && isTypeNode(node) && !rangeContainsSkipTrivia(range, node.parent, file) && (cursorRequest || overlappingRange));
138270
+ const isCursorRequest = range.pos === range.end && considerEmptySpans;
138271
+ const firstType = getFirstTypeAt(file, startPosition, range, isCursorRequest);
138268
138272
  if (!firstType || !isTypeNode(firstType))
138269
138273
  return { error: getLocaleSpecificMessage(Diagnostics.Selection_is_not_a_valid_type_node) };
138270
138274
  const checker = context.program.getTypeChecker();
@@ -138290,6 +138294,21 @@ ${lanes.join("\n")}
138290
138294
  const typeElements = flattenTypeLiteralNodeReference(checker, selection);
138291
138295
  return { isJS, selection, enclosingNode, typeParameters, typeElements };
138292
138296
  }
138297
+ function getFirstTypeAt(file, startPosition, range, isCursorRequest) {
138298
+ const currentNodes = [
138299
+ () => getTokenAtPosition(file, startPosition),
138300
+ () => getTouchingToken(file, startPosition, () => true)
138301
+ ];
138302
+ for (const f of currentNodes) {
138303
+ const current = f();
138304
+ const overlappingRange = nodeOverlapsWithStartEnd(current, file, range.pos, range.end);
138305
+ const firstType = findAncestor(current, (node) => node.parent && isTypeNode(node) && !rangeContainsSkipTrivia(range, node.parent, file) && (isCursorRequest || overlappingRange));
138306
+ if (firstType) {
138307
+ return firstType;
138308
+ }
138309
+ }
138310
+ return void 0;
138311
+ }
138293
138312
  function flattenTypeLiteralNodeReference(checker, selection) {
138294
138313
  if (!selection)
138295
138314
  return void 0;
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
54
54
 
55
55
  // src/compiler/corePublic.ts
56
56
  var versionMajorMinor = "5.4";
57
- var version = `${versionMajorMinor}.0-insiders.20240104`;
57
+ var version = `${versionMajorMinor}.0-insiders.20240105`;
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.4.0-pr-56878-6",
5
+ "version": "5.4.0-pr-56859-8",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -114,5 +114,5 @@
114
114
  "node": "20.1.0",
115
115
  "npm": "8.19.4"
116
116
  },
117
- "gitHead": "5a05f78d175d6dff8785929533135d4603e5b4c8"
117
+ "gitHead": "8f655f85c9fd59b743309dc0ade1e183c9f8ffc2"
118
118
  }