fix property completion in unions of object types and template literal types (#52196)

This commit is contained in:
Tobias S
2023-02-14 10:50:53 -08:00
committed by GitHub
parent 48e812aa07
commit df6b9e5754
2 changed files with 27 additions and 1 deletions
+1 -1
View File
@@ -6053,7 +6053,7 @@ export const enum TypeFlags {
/** @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,
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,
@@ -0,0 +1,26 @@
/// <reference path="fourslash.ts" />
////type UnionType = {
//// key1: string;
////} | {
//// key2: number;
////} | `string literal ${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' }]
})