mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-05 08:11:30 -06:00
Fix property completion in unions of object types and string mappings (#52767)
This commit is contained in:
parent
137c461bd0
commit
f555ad73db
@ -6086,8 +6086,6 @@ export const enum TypeFlags {
|
||||
PossiblyFalsy = DefinitelyFalsy | String | Number | BigInt | Boolean,
|
||||
/** @internal */
|
||||
Intrinsic = Any | Unknown | String | Number | BigInt | Boolean | BooleanLiteral | ESSymbol | Void | Undefined | Null | Never | NonPrimitive,
|
||||
/** @internal */
|
||||
Primitive = String | Number | BigInt | Boolean | Enum | EnumLiteral | ESSymbol | Void | Undefined | Null | Literal | UniqueESSymbol | TemplateLiteral,
|
||||
StringLike = String | StringLiteral | TemplateLiteral | StringMapping,
|
||||
NumberLike = Number | NumberLiteral | Enum,
|
||||
BigIntLike = BigInt | BigIntLiteral,
|
||||
@ -6096,6 +6094,8 @@ export const enum TypeFlags {
|
||||
ESSymbolLike = ESSymbol | UniqueESSymbol,
|
||||
VoidLike = Void | Undefined,
|
||||
/** @internal */
|
||||
Primitive = StringLike | NumberLike | BigIntLike | BooleanLike | EnumLike | ESSymbolLike | VoidLike | Null,
|
||||
/** @internal */
|
||||
DefinitelyNonNullable = StringLike | NumberLike | BigIntLike | BooleanLike | EnumLike | ESSymbolLike | Object | NonPrimitive,
|
||||
/** @internal */
|
||||
DisjointDomains = NonPrimitive | StringLike | NumberLike | BigIntLike | BooleanLike | ESSymbolLike | VoidLike | Null,
|
||||
|
||||
@ -0,0 +1,26 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
////type UnionType = {
|
||||
//// key1: string;
|
||||
////} | {
|
||||
//// key2: number;
|
||||
////} | Uppercase<string>;
|
||||
////
|
||||
////const obj1: UnionType = {
|
||||
//// /*1*/
|
||||
////};
|
||||
////
|
||||
////const obj2: UnionType = {
|
||||
//// key1: "abc",
|
||||
//// /*2*/
|
||||
////};
|
||||
|
||||
verify.completions({
|
||||
marker: '1',
|
||||
exact: [{ name: 'key1' }, { name: 'key2' }]
|
||||
})
|
||||
|
||||
verify.completions({
|
||||
marker: '2',
|
||||
exact: [{ name: 'key2' }]
|
||||
})
|
||||
Loading…
x
Reference in New Issue
Block a user