@@ -10666,16 +10666,6 @@ namespace ts {
10666
10666
type;
10667
10667
}
10668
10668
10669
- function getWidenedLiteralLikeType(type: Type): Type {
10670
- return type.flags & TypeFlags.EnumLiteral ? getBaseTypeOfEnumLiteralType(<LiteralType>type) :
10671
- type.flags & TypeFlags.StringLiteral && type.flags & TypeFlags.FreshLiteral ? stringType :
10672
- type.flags & TypeFlags.NumberLiteral && type.flags & TypeFlags.FreshLiteral ? numberType :
10673
- type.flags & TypeFlags.BooleanLiteral ? booleanType :
10674
- type.flags & TypeFlags.UniqueESSymbol ? esSymbolType :
10675
- type.flags & TypeFlags.Union ? getUnionType(sameMap((<UnionType>type).types, getWidenedLiteralLikeType)) :
10676
- type;
10677
- }
10678
-
10679
10669
function getWidenedLiteralType(type: Type): Type {
10680
10670
return type.flags & TypeFlags.EnumLiteral ? getBaseTypeOfEnumLiteralType(<LiteralType>type) :
10681
10671
type.flags & TypeFlags.StringLiteral && type.flags & TypeFlags.FreshLiteral ? stringType :
@@ -10692,12 +10682,13 @@ namespace ts {
10692
10682
}
10693
10683
10694
10684
function getWidenedLiteralLikeTypeForContextualType(type: Type, contextualType: Type) {
10695
- const widenLiterals = !isLiteralContextualType(contextualType);
10696
- const widenSymbols = !isUniqueESSymbolContextualType(contextualType);
10697
- return widenLiterals && widenSymbols ? getWidenedLiteralLikeType(type) :
10698
- widenLiterals ? getWidenedLiteralType(type) :
10699
- widenSymbols ? getWidenedUniqueESSymbolType(type) :
10700
- type;
10685
+ if (!isLiteralContextualType(contextualType)) {
10686
+ type = getWidenedLiteralType(type);
10687
+ }
10688
+ if (!isUniqueESSymbolContextualType(contextualType)) {
10689
+ type = getWidenedUniqueESSymbolType(type);
10690
+ }
10691
+ return type;
10701
10692
}
10702
10693
10703
10694
/**
0 commit comments