typescript 5.7.0-dev.20240916 → 5.7.0-dev.20240918

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.7";
21
- var version = `${versionMajorMinor}.0-dev.20240916`;
21
+ var version = `${versionMajorMinor}.0-dev.20240918`;
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -45878,6 +45878,7 @@ function createTypeChecker(host) {
45878
45878
  getBaseTypeOfLiteralType,
45879
45879
  getWidenedType,
45880
45880
  getWidenedLiteralType,
45881
+ fillMissingTypeArguments,
45881
45882
  getTypeFromTypeNode: (nodeIn) => {
45882
45883
  const node = getParseTreeNode(nodeIn, isTypeNode);
45883
45884
  return node ? getTypeFromTypeNode(node) : errorType;
package/lib/typescript.js CHANGED
@@ -2269,7 +2269,7 @@ module.exports = __toCommonJS(typescript_exports);
2269
2269
 
2270
2270
  // src/compiler/corePublic.ts
2271
2271
  var versionMajorMinor = "5.7";
2272
- var version = `${versionMajorMinor}.0-dev.20240916`;
2272
+ var version = `${versionMajorMinor}.0-dev.20240918`;
2273
2273
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2274
2274
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2275
2275
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -50471,6 +50471,7 @@ function createTypeChecker(host) {
50471
50471
  getBaseTypeOfLiteralType,
50472
50472
  getWidenedType,
50473
50473
  getWidenedLiteralType,
50474
+ fillMissingTypeArguments,
50474
50475
  getTypeFromTypeNode: (nodeIn) => {
50475
50476
  const node = getParseTreeNode(nodeIn, isTypeNode);
50476
50477
  return node ? getTypeFromTypeNode(node) : errorType;
@@ -152654,8 +152655,10 @@ __export(ts_codefix_exports, {
152654
152655
  setJsonCompilerOptionValue: () => setJsonCompilerOptionValue,
152655
152656
  setJsonCompilerOptionValues: () => setJsonCompilerOptionValues,
152656
152657
  tryGetAutoImportableReferenceFromTypeNode: () => tryGetAutoImportableReferenceFromTypeNode,
152658
+ typeNodeToAutoImportableTypeNode: () => typeNodeToAutoImportableTypeNode,
152657
152659
  typePredicateToAutoImportableTypeNode: () => typePredicateToAutoImportableTypeNode,
152658
- typeToAutoImportableTypeNode: () => typeToAutoImportableTypeNode
152660
+ typeToAutoImportableTypeNode: () => typeToAutoImportableTypeNode,
152661
+ typeToMinimizedReferenceType: () => typeToMinimizedReferenceType
152659
152662
  });
152660
152663
 
152661
152664
  // src/services/codeFixProvider.ts
@@ -161031,7 +161034,7 @@ function withContext(context, typePrintMode, cb) {
161031
161034
  }
161032
161035
  function typeToTypeNode2(type, enclosingDeclaration, flags = 0 /* None */) {
161033
161036
  let isTruncated = false;
161034
- const result2 = typeToAutoImportableTypeNode(typeChecker, importAdder, type, enclosingDeclaration, scriptTarget, declarationEmitNodeBuilderFlags2 | flags, declarationEmitInternalNodeBuilderFlags2, {
161037
+ const minimizedTypeNode = typeToMinimizedReferenceType(typeChecker, type, enclosingDeclaration, declarationEmitNodeBuilderFlags2 | flags, declarationEmitInternalNodeBuilderFlags2, {
161035
161038
  moduleResolverHost: program,
161036
161039
  trackSymbol() {
161037
161040
  return true;
@@ -161040,6 +161043,10 @@ function withContext(context, typePrintMode, cb) {
161040
161043
  isTruncated = true;
161041
161044
  }
161042
161045
  });
161046
+ if (!minimizedTypeNode) {
161047
+ return void 0;
161048
+ }
161049
+ const result2 = typeNodeToAutoImportableTypeNode(minimizedTypeNode, importAdder, scriptTarget);
161043
161050
  return isTruncated ? factory.createKeywordTypeNode(133 /* AnyKeyword */) : result2;
161044
161051
  }
161045
161052
  function typePredicateToTypeNode(typePredicate, enclosingDeclaration, flags = 0 /* None */) {
@@ -162743,7 +162750,13 @@ function createTypeParameterName(index) {
162743
162750
  return 84 /* T */ + index <= 90 /* Z */ ? String.fromCharCode(84 /* T */ + index) : `T${index}`;
162744
162751
  }
162745
162752
  function typeToAutoImportableTypeNode(checker, importAdder, type, contextNode, scriptTarget, flags, internalFlags, tracker) {
162746
- let typeNode = checker.typeToTypeNode(type, contextNode, flags, internalFlags, tracker);
162753
+ const typeNode = checker.typeToTypeNode(type, contextNode, flags, internalFlags, tracker);
162754
+ if (!typeNode) {
162755
+ return void 0;
162756
+ }
162757
+ return typeNodeToAutoImportableTypeNode(typeNode, importAdder, scriptTarget);
162758
+ }
162759
+ function typeNodeToAutoImportableTypeNode(typeNode, importAdder, scriptTarget) {
162747
162760
  if (typeNode && isImportTypeNode(typeNode)) {
162748
162761
  const importableReference = tryGetAutoImportableReferenceFromTypeNode(typeNode, scriptTarget);
162749
162762
  if (importableReference) {
@@ -162753,6 +162766,42 @@ function typeToAutoImportableTypeNode(checker, importAdder, type, contextNode, s
162753
162766
  }
162754
162767
  return getSynthesizedDeepClone(typeNode);
162755
162768
  }
162769
+ function endOfRequiredTypeParameters(checker, type) {
162770
+ Debug.assert(type.typeArguments);
162771
+ const fullTypeArguments = type.typeArguments;
162772
+ const target = type.target;
162773
+ for (let cutoff = 0; cutoff < fullTypeArguments.length; cutoff++) {
162774
+ const typeArguments = fullTypeArguments.slice(0, cutoff);
162775
+ const filledIn = checker.fillMissingTypeArguments(
162776
+ typeArguments,
162777
+ target.typeParameters,
162778
+ cutoff,
162779
+ /*isJavaScriptImplicitAny*/
162780
+ false
162781
+ );
162782
+ if (filledIn.every((fill, i) => fill === fullTypeArguments[i])) {
162783
+ return cutoff;
162784
+ }
162785
+ }
162786
+ return fullTypeArguments.length;
162787
+ }
162788
+ function typeToMinimizedReferenceType(checker, type, contextNode, flags, internalFlags, tracker) {
162789
+ let typeNode = checker.typeToTypeNode(type, contextNode, flags, internalFlags, tracker);
162790
+ if (!typeNode) {
162791
+ return void 0;
162792
+ }
162793
+ if (isTypeReferenceNode(typeNode)) {
162794
+ const genericType = type;
162795
+ if (genericType.typeArguments && typeNode.typeArguments) {
162796
+ const cutoff = endOfRequiredTypeParameters(checker, genericType);
162797
+ if (cutoff < typeNode.typeArguments.length) {
162798
+ const newTypeArguments = factory.createNodeArray(typeNode.typeArguments.slice(0, cutoff));
162799
+ typeNode = factory.updateTypeReferenceNode(typeNode, typeNode.typeName, newTypeArguments);
162800
+ }
162801
+ }
162802
+ }
162803
+ return typeNode;
162804
+ }
162756
162805
  function typePredicateToAutoImportableTypeNode(checker, importAdder, typePredicate, contextNode, scriptTarget, flags, internalFlags, tracker) {
162757
162806
  let typePredicateNode = checker.typePredicateToTypePredicateNode(typePredicate, contextNode, flags, internalFlags, tracker);
162758
162807
  if ((typePredicateNode == null ? void 0 : typePredicateNode.type) && isImportTypeNode(typePredicateNode.type)) {
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.7.0-dev.20240916",
5
+ "version": "5.7.0-dev.20240918",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -116,5 +116,5 @@
116
116
  "node": "20.1.0",
117
117
  "npm": "8.19.4"
118
118
  },
119
- "gitHead": "52eaa7b02fdeaa8969f88c7f5c0b252f5f0bd147"
119
+ "gitHead": "8230bc66a7eb4b88cfb6cdaa4ea8324808b39a07"
120
120
  }