From 9b3b8e3203b71e24c0b285df598d964da6eaa8a2 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Wed, 17 Apr 2019 14:59:28 -0700 Subject: [PATCH] Ignore generic mapped types in isStringIndexSignatureOnlyType --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0c91e1ba062..b595d77295a 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -12043,7 +12043,7 @@ namespace ts { } function isStringIndexSignatureOnlyType(type: Type): boolean { - return type.flags & TypeFlags.Object && getPropertiesOfType(type).length === 0 && getIndexInfoOfType(type, IndexKind.String) && !getIndexInfoOfType(type, IndexKind.Number) || + return type.flags & TypeFlags.Object && !isGenericMappedType(type) && getPropertiesOfType(type).length === 0 && getIndexInfoOfType(type, IndexKind.String) && !getIndexInfoOfType(type, IndexKind.Number) || type.flags & TypeFlags.UnionOrIntersection && every((type).types, isStringIndexSignatureOnlyType) || false; }