Skip to content

Commit b9dbf5d

Browse files
committed
Simplify literal/unique symbol widening
1 parent d0fb7e4 commit b9dbf5d

File tree

1 file changed

+7
-16
lines changed

1 file changed

+7
-16
lines changed

src/compiler/checker.ts

+7-16
Original file line numberDiff line numberDiff line change
@@ -10666,16 +10666,6 @@ namespace ts {
1066610666
type;
1066710667
}
1066810668

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-
1067910669
function getWidenedLiteralType(type: Type): Type {
1068010670
return type.flags & TypeFlags.EnumLiteral ? getBaseTypeOfEnumLiteralType(<LiteralType>type) :
1068110671
type.flags & TypeFlags.StringLiteral && type.flags & TypeFlags.FreshLiteral ? stringType :
@@ -10692,12 +10682,13 @@ namespace ts {
1069210682
}
1069310683

1069410684
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;
1070110692
}
1070210693

1070310694
/**

0 commit comments

Comments
 (0)