@typescript-deploys/pr-build 5.8.0-pr-60910-2 → 5.8.0-pr-60834-11

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.8";
21
- var version = `${versionMajorMinor}.0-insiders.20250103`;
21
+ var version = `${versionMajorMinor}.0-insiders.20250104`;
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -41407,7 +41407,7 @@ function loadModuleFromNearestNodeModulesDirectoryTypesScope(moduleName, directo
41407
41407
  );
41408
41408
  }
41409
41409
  function loadModuleFromNearestNodeModulesDirectoryWorker(extensions, moduleName, directory, state, typesScopeOnly, cache, redirectedReference) {
41410
- const mode = state.features === 0 ? void 0 : state.features & 32 /* EsmMode */ || state.conditions.includes("import") ? 99 /* ESNext */ : 1 /* CommonJS */;
41410
+ const mode = state.features === 0 ? void 0 : state.features & 32 /* EsmMode */ ? 99 /* ESNext */ : 1 /* CommonJS */;
41411
41411
  const priorityExtensions = extensions & (1 /* TypeScript */ | 4 /* Declaration */);
41412
41412
  const secondaryExtensions = extensions & ~(1 /* TypeScript */ | 4 /* Declaration */);
41413
41413
  if (priorityExtensions) {
@@ -77870,7 +77870,7 @@ function createTypeChecker(host) {
77870
77870
  return false;
77871
77871
  }
77872
77872
  }
77873
- function getTypePredicateFromBody(func) {
77873
+ function getTypePredicateFromBody(func, contextualTypePredicate) {
77874
77874
  switch (func.kind) {
77875
77875
  case 176 /* Constructor */:
77876
77876
  case 177 /* GetAccessor */:
@@ -77889,28 +77889,29 @@ function createTypeChecker(host) {
77889
77889
  });
77890
77890
  if (bailedEarly || !singleReturn || functionHasImplicitReturn(func)) return void 0;
77891
77891
  }
77892
- return checkIfExpressionRefinesAnyParameter(func, singleReturn);
77893
- }
77894
- function checkIfExpressionRefinesAnyParameter(func, expr) {
77895
- expr = skipParentheses(
77896
- expr,
77892
+ const expr = skipParentheses(
77893
+ singleReturn,
77897
77894
  /*excludeJSDocTypeAssertions*/
77898
77895
  true
77899
77896
  );
77900
77897
  const returnType = checkExpressionCached(expr);
77901
- if (!(returnType.flags & 16 /* Boolean */)) return void 0;
77902
- return forEach(func.parameters, (param, i) => {
77903
- const initType = getTypeOfSymbol(param.symbol);
77904
- if (!initType || initType.flags & 16 /* Boolean */ || !isIdentifier(param.name) || isSymbolAssigned(param.symbol) || isRestParameter(param)) {
77905
- return;
77906
- }
77907
- const trueType2 = checkIfExpressionRefinesParameter(func, expr, param, initType);
77908
- if (trueType2) {
77909
- return createTypePredicate(1 /* Identifier */, unescapeLeadingUnderscores(param.name.escapedText), i, trueType2);
77898
+ if (contextualTypePredicate && returnType.flags & 512 /* BooleanLiteral */) {
77899
+ const param = func.parameters[contextualTypePredicate.parameterIndex];
77900
+ if (!isIdentifier(param.name)) {
77901
+ return void 0;
77910
77902
  }
77911
- });
77903
+ const refinedType = returnType.intrinsicName === "true" ? getTypeOfSymbol(param.symbol) : neverType;
77904
+ return createTypePredicate(1 /* Identifier */, unescapeLeadingUnderscores(param.name.escapedText), contextualTypePredicate.parameterIndex, refinedType);
77905
+ }
77906
+ if (!(returnType.flags & 16 /* Boolean */)) return void 0;
77907
+ return contextualTypePredicate ? getTypePredicateIfRefinesParameterAtIndex(func, expr, contextualTypePredicate, contextualTypePredicate.parameterIndex) : forEach(func.parameters, (_, i) => getTypePredicateIfRefinesParameterAtIndex(func, expr, contextualTypePredicate, i));
77912
77908
  }
77913
- function checkIfExpressionRefinesParameter(func, expr, param, initType) {
77909
+ function getTypePredicateIfRefinesParameterAtIndex(func, expr, contextualTypePredicate, parameterIndex) {
77910
+ const param = func.parameters[parameterIndex];
77911
+ const initType = getTypeOfSymbol(param.symbol);
77912
+ if (!initType || initType.flags & 16 /* Boolean */ || !isIdentifier(param.name) || isSymbolAssigned(param.symbol) || isRestParameter(param)) {
77913
+ return;
77914
+ }
77914
77915
  const antecedent = canHaveFlowNode(expr) && expr.flowNode || expr.parent.kind === 253 /* ReturnStatement */ && expr.parent.flowNode || createFlowNode(
77915
77916
  2 /* Start */,
77916
77917
  /*node*/
@@ -77920,10 +77921,12 @@ function createTypeChecker(host) {
77920
77921
  );
77921
77922
  const trueCondition = createFlowNode(32 /* TrueCondition */, expr, antecedent);
77922
77923
  const trueType2 = getFlowTypeOfReference(param.name, initType, initType, func, trueCondition);
77923
- if (trueType2 === initType) return void 0;
77924
+ if (!contextualTypePredicate && trueType2 === initType) {
77925
+ return void 0;
77926
+ }
77924
77927
  const falseCondition = createFlowNode(64 /* FalseCondition */, expr, antecedent);
77925
77928
  const falseSubtype = getFlowTypeOfReference(param.name, initType, trueType2, func, falseCondition);
77926
- return falseSubtype.flags & 131072 /* Never */ ? trueType2 : void 0;
77929
+ return falseSubtype.flags & 131072 /* Never */ ? createTypePredicate(1 /* Identifier */, unescapeLeadingUnderscores(param.name.escapedText), parameterIndex, trueType2) : void 0;
77927
77930
  }
77928
77931
  function checkAllCodePathsInNonVoidFunctionReturnOrThrow(func, returnType) {
77929
77932
  addLazyDiagnostic(checkAllCodePathsInNonVoidFunctionReturnOrThrowDiagnostics);
@@ -78034,10 +78037,11 @@ function createTypeChecker(host) {
78034
78037
  inferFromAnnotatedParameters(signature, contextualSignature, inferenceContext);
78035
78038
  }
78036
78039
  }
78037
- if (contextualSignature && !getReturnTypeFromAnnotation(node) && !signature.resolvedReturnType) {
78038
- const returnType = getReturnTypeFromBody(node, checkMode);
78039
- if (!signature.resolvedReturnType) {
78040
- signature.resolvedReturnType = returnType;
78040
+ if (contextualSignature && !getReturnTypeFromAnnotation(node)) {
78041
+ const returnType = signature.resolvedReturnType ?? getReturnTypeFromBody(node, checkMode);
78042
+ signature.resolvedReturnType ?? (signature.resolvedReturnType = returnType);
78043
+ if (signature.resolvedReturnType.flags && 16 /* Boolean */ && contextualSignature.resolvedTypePredicate && contextualSignature.resolvedTypePredicate !== noTypePredicate && contextualSignature.resolvedTypePredicate.kind === 1 /* Identifier */) {
78044
+ signature.resolvedTypePredicate ?? (signature.resolvedTypePredicate = getTypePredicateFromBody(node, contextualSignature.resolvedTypePredicate) ?? noTypePredicate);
78041
78045
  }
78042
78046
  }
78043
78047
  checkSignatureDeclaration(node);
package/lib/typescript.js CHANGED
@@ -2279,7 +2279,7 @@ module.exports = __toCommonJS(typescript_exports);
2279
2279
 
2280
2280
  // src/compiler/corePublic.ts
2281
2281
  var versionMajorMinor = "5.8";
2282
- var version = `${versionMajorMinor}.0-insiders.20250103`;
2282
+ var version = `${versionMajorMinor}.0-insiders.20250104`;
2283
2283
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2284
2284
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2285
2285
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -45893,7 +45893,7 @@ function loadModuleFromNearestNodeModulesDirectoryTypesScope(moduleName, directo
45893
45893
  );
45894
45894
  }
45895
45895
  function loadModuleFromNearestNodeModulesDirectoryWorker(extensions, moduleName, directory, state, typesScopeOnly, cache, redirectedReference) {
45896
- const mode = state.features === 0 ? void 0 : state.features & 32 /* EsmMode */ || state.conditions.includes("import") ? 99 /* ESNext */ : 1 /* CommonJS */;
45896
+ const mode = state.features === 0 ? void 0 : state.features & 32 /* EsmMode */ ? 99 /* ESNext */ : 1 /* CommonJS */;
45897
45897
  const priorityExtensions = extensions & (1 /* TypeScript */ | 4 /* Declaration */);
45898
45898
  const secondaryExtensions = extensions & ~(1 /* TypeScript */ | 4 /* Declaration */);
45899
45899
  if (priorityExtensions) {
@@ -82474,7 +82474,7 @@ function createTypeChecker(host) {
82474
82474
  return false;
82475
82475
  }
82476
82476
  }
82477
- function getTypePredicateFromBody(func) {
82477
+ function getTypePredicateFromBody(func, contextualTypePredicate) {
82478
82478
  switch (func.kind) {
82479
82479
  case 176 /* Constructor */:
82480
82480
  case 177 /* GetAccessor */:
@@ -82493,28 +82493,29 @@ function createTypeChecker(host) {
82493
82493
  });
82494
82494
  if (bailedEarly || !singleReturn || functionHasImplicitReturn(func)) return void 0;
82495
82495
  }
82496
- return checkIfExpressionRefinesAnyParameter(func, singleReturn);
82497
- }
82498
- function checkIfExpressionRefinesAnyParameter(func, expr) {
82499
- expr = skipParentheses(
82500
- expr,
82496
+ const expr = skipParentheses(
82497
+ singleReturn,
82501
82498
  /*excludeJSDocTypeAssertions*/
82502
82499
  true
82503
82500
  );
82504
82501
  const returnType = checkExpressionCached(expr);
82505
- if (!(returnType.flags & 16 /* Boolean */)) return void 0;
82506
- return forEach(func.parameters, (param, i) => {
82507
- const initType = getTypeOfSymbol(param.symbol);
82508
- if (!initType || initType.flags & 16 /* Boolean */ || !isIdentifier(param.name) || isSymbolAssigned(param.symbol) || isRestParameter(param)) {
82509
- return;
82510
- }
82511
- const trueType2 = checkIfExpressionRefinesParameter(func, expr, param, initType);
82512
- if (trueType2) {
82513
- return createTypePredicate(1 /* Identifier */, unescapeLeadingUnderscores(param.name.escapedText), i, trueType2);
82502
+ if (contextualTypePredicate && returnType.flags & 512 /* BooleanLiteral */) {
82503
+ const param = func.parameters[contextualTypePredicate.parameterIndex];
82504
+ if (!isIdentifier(param.name)) {
82505
+ return void 0;
82514
82506
  }
82515
- });
82507
+ const refinedType = returnType.intrinsicName === "true" ? getTypeOfSymbol(param.symbol) : neverType;
82508
+ return createTypePredicate(1 /* Identifier */, unescapeLeadingUnderscores(param.name.escapedText), contextualTypePredicate.parameterIndex, refinedType);
82509
+ }
82510
+ if (!(returnType.flags & 16 /* Boolean */)) return void 0;
82511
+ return contextualTypePredicate ? getTypePredicateIfRefinesParameterAtIndex(func, expr, contextualTypePredicate, contextualTypePredicate.parameterIndex) : forEach(func.parameters, (_, i) => getTypePredicateIfRefinesParameterAtIndex(func, expr, contextualTypePredicate, i));
82516
82512
  }
82517
- function checkIfExpressionRefinesParameter(func, expr, param, initType) {
82513
+ function getTypePredicateIfRefinesParameterAtIndex(func, expr, contextualTypePredicate, parameterIndex) {
82514
+ const param = func.parameters[parameterIndex];
82515
+ const initType = getTypeOfSymbol(param.symbol);
82516
+ if (!initType || initType.flags & 16 /* Boolean */ || !isIdentifier(param.name) || isSymbolAssigned(param.symbol) || isRestParameter(param)) {
82517
+ return;
82518
+ }
82518
82519
  const antecedent = canHaveFlowNode(expr) && expr.flowNode || expr.parent.kind === 253 /* ReturnStatement */ && expr.parent.flowNode || createFlowNode(
82519
82520
  2 /* Start */,
82520
82521
  /*node*/
@@ -82524,10 +82525,12 @@ function createTypeChecker(host) {
82524
82525
  );
82525
82526
  const trueCondition = createFlowNode(32 /* TrueCondition */, expr, antecedent);
82526
82527
  const trueType2 = getFlowTypeOfReference(param.name, initType, initType, func, trueCondition);
82527
- if (trueType2 === initType) return void 0;
82528
+ if (!contextualTypePredicate && trueType2 === initType) {
82529
+ return void 0;
82530
+ }
82528
82531
  const falseCondition = createFlowNode(64 /* FalseCondition */, expr, antecedent);
82529
82532
  const falseSubtype = getFlowTypeOfReference(param.name, initType, trueType2, func, falseCondition);
82530
- return falseSubtype.flags & 131072 /* Never */ ? trueType2 : void 0;
82533
+ return falseSubtype.flags & 131072 /* Never */ ? createTypePredicate(1 /* Identifier */, unescapeLeadingUnderscores(param.name.escapedText), parameterIndex, trueType2) : void 0;
82531
82534
  }
82532
82535
  function checkAllCodePathsInNonVoidFunctionReturnOrThrow(func, returnType) {
82533
82536
  addLazyDiagnostic(checkAllCodePathsInNonVoidFunctionReturnOrThrowDiagnostics);
@@ -82638,10 +82641,11 @@ function createTypeChecker(host) {
82638
82641
  inferFromAnnotatedParameters(signature, contextualSignature, inferenceContext);
82639
82642
  }
82640
82643
  }
82641
- if (contextualSignature && !getReturnTypeFromAnnotation(node) && !signature.resolvedReturnType) {
82642
- const returnType = getReturnTypeFromBody(node, checkMode);
82643
- if (!signature.resolvedReturnType) {
82644
- signature.resolvedReturnType = returnType;
82644
+ if (contextualSignature && !getReturnTypeFromAnnotation(node)) {
82645
+ const returnType = signature.resolvedReturnType ?? getReturnTypeFromBody(node, checkMode);
82646
+ signature.resolvedReturnType ?? (signature.resolvedReturnType = returnType);
82647
+ if (signature.resolvedReturnType.flags && 16 /* Boolean */ && contextualSignature.resolvedTypePredicate && contextualSignature.resolvedTypePredicate !== noTypePredicate && contextualSignature.resolvedTypePredicate.kind === 1 /* Identifier */) {
82648
+ signature.resolvedTypePredicate ?? (signature.resolvedTypePredicate = getTypePredicateFromBody(node, contextualSignature.resolvedTypePredicate) ?? noTypePredicate);
82645
82649
  }
82646
82650
  }
82647
82651
  checkSignatureDeclaration(node);
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.8.0-pr-60910-2",
5
+ "version": "5.8.0-pr-60834-11",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [