mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Removing duplicated code
This commit is contained in:
@@ -15589,10 +15589,15 @@ m2: ${(this.mapper2 as unknown as DebugTypeMapper).__debugToString().split("\n")
|
||||
return accessFlags & AccessFlags.IncludeUndefined ? getUnionType([indexInfo.type, undefinedType]) : indexInfo.type;
|
||||
}
|
||||
errorIfWritingToReadonlyIndex(indexInfo);
|
||||
if (accessFlags & AccessFlags.IncludeUndefined) {
|
||||
if (objectType.symbol && objectType.symbol.flags & (SymbolFlags.RegularEnum | SymbolFlags.ConstEnum) && (indexType.symbol && indexType.flags & TypeFlags.EnumLiteral && getParentOfSymbol(indexType.symbol) === objectType.symbol)) {
|
||||
return indexInfo.type;
|
||||
}
|
||||
// When accessing an enum object with its own type,
|
||||
// e.g. E[E.A] for enum E { A }, undefined shouldn't
|
||||
// be included in the result type
|
||||
if ((accessFlags & AccessFlags.IncludeUndefined) &&
|
||||
!(objectType.symbol &&
|
||||
objectType.symbol.flags & (SymbolFlags.RegularEnum | SymbolFlags.ConstEnum) &&
|
||||
(indexType.symbol &&
|
||||
indexType.flags & TypeFlags.EnumLiteral &&
|
||||
getParentOfSymbol(indexType.symbol) === objectType.symbol))) {
|
||||
return getUnionType([indexInfo.type, undefinedType]);
|
||||
}
|
||||
return indexInfo.type;
|
||||
|
||||
Reference in New Issue
Block a user