File tree 1 file changed +9
-4
lines changed
1 file changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -15589,10 +15589,15 @@ m2: ${(this.mapper2 as unknown as DebugTypeMapper).__debugToString().split("\n")
15589
15589
return accessFlags & AccessFlags.IncludeUndefined ? getUnionType([indexInfo.type, undefinedType]) : indexInfo.type;
15590
15590
}
15591
15591
errorIfWritingToReadonlyIndex(indexInfo);
15592
- if (accessFlags & AccessFlags.IncludeUndefined) {
15593
- if (objectType.symbol && objectType.symbol.flags & (SymbolFlags.RegularEnum | SymbolFlags.ConstEnum) && (indexType.symbol && indexType.flags & TypeFlags.EnumLiteral && getParentOfSymbol(indexType.symbol) === objectType.symbol)) {
15594
- return indexInfo.type;
15595
- }
15592
+ // When accessing an enum object with its own type,
15593
+ // e.g. E[E.A] for enum E { A }, undefined shouldn't
15594
+ // be included in the result type
15595
+ if ((accessFlags & AccessFlags.IncludeUndefined) &&
15596
+ !(objectType.symbol &&
15597
+ objectType.symbol.flags & (SymbolFlags.RegularEnum | SymbolFlags.ConstEnum) &&
15598
+ (indexType.symbol &&
15599
+ indexType.flags & TypeFlags.EnumLiteral &&
15600
+ getParentOfSymbol(indexType.symbol) === objectType.symbol))) {
15596
15601
return getUnionType([indexInfo.type, undefinedType]);
15597
15602
}
15598
15603
return indexInfo.type;
You can’t perform that action at this time.
0 commit comments