mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Narrow types by satisfies expressions (#60782)
This commit is contained in:
@@ -27185,7 +27185,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
return target.kind === SyntaxKind.SuperKeyword;
|
||||
case SyntaxKind.NonNullExpression:
|
||||
case SyntaxKind.ParenthesizedExpression:
|
||||
return isMatchingReference((source as NonNullExpression | ParenthesizedExpression).expression, target);
|
||||
case SyntaxKind.SatisfiesExpression:
|
||||
return isMatchingReference((source as NonNullExpression | ParenthesizedExpression | SatisfiesExpression).expression, target);
|
||||
case SyntaxKind.PropertyAccessExpression:
|
||||
case SyntaxKind.ElementAccessExpression:
|
||||
const sourcePropertyName = getAccessedPropertyName(source as AccessExpression);
|
||||
@@ -29537,7 +29538,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
return narrowTypeByCallExpression(type, expr as CallExpression, assumeTrue);
|
||||
case SyntaxKind.ParenthesizedExpression:
|
||||
case SyntaxKind.NonNullExpression:
|
||||
return narrowType(type, (expr as ParenthesizedExpression | NonNullExpression).expression, assumeTrue);
|
||||
case SyntaxKind.SatisfiesExpression:
|
||||
return narrowType(type, (expr as ParenthesizedExpression | NonNullExpression | SatisfiesExpression).expression, assumeTrue);
|
||||
case SyntaxKind.BinaryExpression:
|
||||
return narrowTypeByBinaryExpression(type, expr as BinaryExpression, assumeTrue);
|
||||
case SyntaxKind.PrefixUnaryExpression:
|
||||
|
||||
Reference in New Issue
Block a user