Skip to content

Commit 585091e

Browse files
committed
Improve relationship checking
1 parent 4c69959 commit 585091e

2 files changed

Lines changed: 6 additions & 52 deletions

File tree

src/compiler/checker.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22565,7 +22565,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
2256522565
}
2256622566
}
2256722567
else if (sourceFlags & TypeFlags.Index) {
22568-
if (result = isRelatedTo(keyofConstraintType, target, RecursionFlags.Source, reportErrors)) {
22568+
const indexType = source as IndexType;
22569+
let sourceKeys = keyofConstraintType;
22570+
if (isGenericMappedType(indexType.type)) {
22571+
sourceKeys = getMappedTypeNameTypeKind(indexType.type) !== MappedTypeNameTypeKind.None ? getNameTypeFromMappedType(indexType.type)! : getConstraintTypeFromMappedType(indexType.type);
22572+
}
22573+
if (result = isRelatedTo(sourceKeys, target, RecursionFlags.Source, reportErrors)) {
2256922574
return result;
2257022575
}
2257122576
}

tests/baselines/reference/keyRemappingKeyofResult2.errors.txt

Lines changed: 0 additions & 51 deletions
This file was deleted.

0 commit comments

Comments
 (0)