@@ -6628,17 +6628,19 @@ namespace ts {
6628
6628
const constraintType = getConstraintTypeFromMappedType(type);
6629
6629
if (constraintType.flags & TypeFlags.Index) {
6630
6630
const typeVariable = (<IndexType>constraintType).type;
6631
- const mappedTypeVariable = instantiateType(typeVariable, mapper);
6632
- if (typeVariable !== mappedTypeVariable) {
6633
- return mapType(mappedTypeVariable, t => {
6634
- if (isMappableType(t)) {
6635
- const replacementMapper = createUnaryTypeMapper(typeVariable, t);
6636
- const combinedMapper = mapper.mappedTypes && mapper.mappedTypes.length === 1 ? replacementMapper : combineTypeMappers(replacementMapper, mapper);
6637
- combinedMapper.mappedTypes = mapper.mappedTypes;
6638
- return instantiateMappedObjectType(type, combinedMapper);
6639
- }
6640
- return t;
6641
- });
6631
+ if (typeVariable.flags & TypeFlags.TypeParameter) {
6632
+ const mappedTypeVariable = instantiateType(typeVariable, mapper);
6633
+ if (typeVariable !== mappedTypeVariable) {
6634
+ return mapType(mappedTypeVariable, t => {
6635
+ if (isMappableType(t)) {
6636
+ const replacementMapper = createUnaryTypeMapper(typeVariable, t);
6637
+ const combinedMapper = mapper.mappedTypes && mapper.mappedTypes.length === 1 ? replacementMapper : combineTypeMappers(replacementMapper, mapper);
6638
+ combinedMapper.mappedTypes = mapper.mappedTypes;
6639
+ return instantiateMappedObjectType(type, combinedMapper);
6640
+ }
6641
+ return t;
6642
+ });
6643
+ }
6642
6644
}
6643
6645
}
6644
6646
return instantiateMappedObjectType(type, mapper);
0 commit comments