File: unknownLikeUnionObjectFlagsNotPropagated.types

package info (click to toggle)
node-typescript 5.0.4%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 459,116 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (49 lines) | stat: -rw-r--r-- 1,769 bytes parent folder | download
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
}