1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
=== tests/cases/compiler/unknownLikeUnionObjectFlagsNotPropagated.ts ===
// repro from #52475#issuecomment-1411215277
type MyType = {} | null | undefined;
>MyType : {} | null | undefined
>null : null
const myVar: MyType = null as MyType;
>myVar : MyType
>null as MyType : MyType
>null : null
myVar?.toLocaleString;
>myVar?.toLocaleString : (() => string) | undefined
>myVar : MyType
>toLocaleString : (() => string) | undefined
myVar;
>myVar : MyType
async function myUnusedFunction() {
>myUnusedFunction : () => Promise<void>
const fetch1 = Promise.resolve(['hello', 'world']);
>fetch1 : Promise<string[]>
>Promise.resolve(['hello', 'world']) : Promise<string[]>
>Promise.resolve : { (): Promise<void>; <T>(value: T): Promise<Awaited<T>>; <T>(value: T | PromiseLike<T>): Promise<Awaited<T>>; }
>Promise : PromiseConstructor
>resolve : { (): Promise<void>; <T>(value: T): Promise<Awaited<T>>; <T>(value: T | PromiseLike<T>): Promise<Awaited<T>>; }
>['hello', 'world'] : string[]
>'hello' : "hello"
>'world' : "world"
const [data1] = await Promise.all([fetch1]);
>data1 : string[]
>await Promise.all([fetch1]) : [string[]]
>Promise.all([fetch1]) : Promise<[string[]]>
>Promise.all : { <T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>; <T extends readonly unknown[] | []>(values: T): Promise<{ -readonly [P in keyof T]: Awaited<T[P]>; }>; }
>Promise : PromiseConstructor
>all : { <T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>; <T extends readonly unknown[] | []>(values: T): Promise<{ -readonly [P in keyof T]: Awaited<T[P]>; }>; }
>[fetch1] : [Promise<string[]>]
>fetch1 : Promise<string[]>
data1.length;
>data1.length : number
>data1 : string[]
>length : number
}
|