File tree Expand file tree Collapse file tree 1 file changed +7
-4
lines changed Expand file tree Collapse file tree 1 file changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -6564,6 +6564,12 @@ namespace ts {
6564
6564
return mapper;
6565
6565
}
6566
6566
6567
+ function createReplacementMapper(source: Type, target: Type, baseMapper: TypeMapper) {
6568
+ const mapper: TypeMapper = t => t === source ? target : baseMapper(t);
6569
+ mapper.mappedTypes = baseMapper.mappedTypes;
6570
+ return mapper;
6571
+ }
6572
+
6567
6573
function cloneTypeParameter(typeParameter: TypeParameter): TypeParameter {
6568
6574
const result = <TypeParameter>createType(TypeFlags.TypeParameter);
6569
6575
result.symbol = typeParameter.symbol;
@@ -6662,10 +6668,7 @@ namespace ts {
6662
6668
if (typeVariable !== mappedTypeVariable) {
6663
6669
return mapType(mappedTypeVariable, t => {
6664
6670
if (isMappableType(t)) {
6665
- const replacementMapper = createUnaryTypeMapper(typeVariable, t);
6666
- const combinedMapper = mapper.mappedTypes && mapper.mappedTypes.length === 1 ? replacementMapper : combineTypeMappers(replacementMapper, mapper);
6667
- combinedMapper.mappedTypes = mapper.mappedTypes;
6668
- return instantiateMappedObjectType(type, combinedMapper);
6671
+ return instantiateMappedObjectType(type, createReplacementMapper(typeVariable, t, mapper));
6669
6672
}
6670
6673
return t;
6671
6674
});
You can’t perform that action at this time.
0 commit comments