Skip to content

Commit d7f8f00

Browse files
committed
Include conditional types in top-level type parameter check
1 parent e8bf958 commit d7f8f00

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/compiler/checker.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15208,7 +15208,11 @@ namespace ts {
1520815208
}
1520915209

1521015210
function isTypeParameterAtTopLevel(type: Type, typeParameter: TypeParameter): boolean {
15211-
return type === typeParameter || !!(type.flags & TypeFlags.UnionOrIntersection) && some((<UnionOrIntersectionType>type).types, t => isTypeParameterAtTopLevel(t, typeParameter));
15211+
return !!(type === typeParameter ||
15212+
type.flags & TypeFlags.UnionOrIntersection && some((<UnionOrIntersectionType>type).types, t => isTypeParameterAtTopLevel(t, typeParameter)) ||
15213+
type.flags & TypeFlags.Conditional && (
15214+
isTypeParameterAtTopLevel(getTrueTypeFromConditionalType(<ConditionalType>type), typeParameter) ||
15215+
isTypeParameterAtTopLevel(getFalseTypeFromConditionalType(<ConditionalType>type), typeParameter)));
1521215216
}
1521315217

1521415218
/** Create an object with properties named in the string literal type. Every property has type `any` */

0 commit comments

Comments
 (0)