Don't allow everything to be assignable to string within string mappings like Uppercase/Lowercase (#52734)

This commit is contained in:
Jake Bailey
2023-02-13 17:58:56 -05:00
committed by GitHub
parent 5b71f59450
commit 79df2bcd35
6 changed files with 48 additions and 2 deletions

View File

@@ -23875,10 +23875,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
}
function isMemberOfStringMapping(source: Type, target: Type): boolean {
if (target.flags & (TypeFlags.String | TypeFlags.Any)) {
if (target.flags & TypeFlags.Any) {
return true;
}
if (target.flags & TypeFlags.TemplateLiteral) {
if (target.flags & (TypeFlags.String | TypeFlags.TemplateLiteral)) {
return isTypeAssignableTo(source, target);
}
if (target.flags & TypeFlags.StringMapping) {