File: awaitInNonAsyncFunction.types

package info (click to toggle)
node-typescript 4.9.5%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 533,908 kB
  • sloc: javascript: 2,018,330; makefile: 7; sh: 1
file content (108 lines) | stat: -rw-r--r-- 2,152 bytes parent folder | download | duplicates (4)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
=== tests/cases/compiler/awaitInNonAsyncFunction.ts ===
// https://github.com/Microsoft/TypeScript/issues/26586

function normalFunc(p: Promise<number>) {
>normalFunc : (p: Promise<number>) => number
>p : Promise<number>

  for await (const _ of []);
>_ : any
>[] : undefined[]

  return await p;
>await p : number
>p : Promise<number>
}

export function exportedFunc(p: Promise<number>) {
>exportedFunc : (p: Promise<number>) => number
>p : Promise<number>

  for await (const _ of []);
>_ : any
>[] : undefined[]

  return await p;
>await p : number
>p : Promise<number>
}

const functionExpression = function(p: Promise<number>) {
>functionExpression : (p: Promise<number>) => void
>function(p: Promise<number>) {  for await (const _ of []);  await p;} : (p: Promise<number>) => void
>p : Promise<number>

  for await (const _ of []);
>_ : any
>[] : undefined[]

  await p;
>await p : number
>p : Promise<number>
}

const arrowFunc = (p: Promise<number>) => {
>arrowFunc : (p: Promise<number>) => number
>(p: Promise<number>) => {  for await (const _ of []);  return await p;} : (p: Promise<number>) => number
>p : Promise<number>

  for await (const _ of []);
>_ : any
>[] : undefined[]

  return await p;
>await p : number
>p : Promise<number>

};

function* generatorFunc(p: Promise<number>) {
>generatorFunc : (p: Promise<number>) => Generator<number, void, unknown>
>p : Promise<number>

  for await (const _ of []);
>_ : any
>[] : undefined[]

  yield await p;
>yield await p : any
>await p : number
>p : Promise<number>
}

class clazz {
>clazz : clazz

  constructor(p: Promise<number>) {
>p : Promise<number>

    for await (const _ of []);
>_ : any
>[] : undefined[]

    await p;
>await p : number
>p : Promise<number>
  }
  method(p: Promise<number>) {
>method : (p: Promise<number>) => void
>p : Promise<number>

  for await (const _ of []);
>_ : any
>[] : undefined[]

    await p;
>await p : number
>p : Promise<number>
  }
}

for await (const _ of []);
>_ : any
>[] : undefined[]

await null;
>await null : null
>null : null