diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 8f7d8aa0d6..8aa9a03da0 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -15316,11 +15316,12 @@ namespace ts { } function checkMappedType(node: MappedTypeNode) { - getTypeFromMappedTypeNode(node); - // const type = getTypeFromMappedTypeNode(node); - // const constraintType = getConstraintTypeFromMappedType(type); - // const keyType = constraintType.flags & TypeFlags.TypeParameter ? getApparentTypeOfTypeParameter(constraintType) : constraintType; - // checkTypeAssignableTo(keyType, stringOrNumberType, node.typeParameter.constraint); + checkSourceElement(node.typeParameter); + checkSourceElement(node.type); + const type = getTypeFromMappedTypeNode(node); + const constraintType = getConstraintTypeFromMappedType(type); + const keyType = constraintType.flags & TypeFlags.TypeParameter ? getApparentTypeOfTypeParameter(constraintType) : constraintType; + checkTypeAssignableTo(keyType, stringOrNumberType, node.typeParameter.constraint); } function isPrivateWithinAmbient(node: Node): boolean {