diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 2bd24d25f30..e01e703104a 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7530,6 +7530,9 @@ namespace ts { } function getIndexType(type: Type): Type { + if (type.flags & TypeFlags.Readonly || getObjectFlags(type) & ObjectFlags.Readonly) { + type = (type).type; + } return maybeTypeOfKind(type, TypeFlags.TypeVariable) ? getIndexTypeForGenericType(type) : getObjectFlags(type) & ObjectFlags.Mapped ? getConstraintTypeFromMappedType(type) : type.flags & TypeFlags.Any || getIndexInfoOfType(type, IndexKind.String) ? stringType :