File: neverAsDiscriminantType%28strict%3Dfalse%29.symbols

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 (197 lines) | stat: -rw-r--r-- 9,787 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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
=== tests/cases/compiler/neverAsDiscriminantType.ts ===
type Foo1 = { kind: 'a', a: number } | { kind: 'b' } | { kind: never };
>Foo1 : Symbol(Foo1, Decl(neverAsDiscriminantType.ts, 0, 0))
>kind : Symbol(kind, Decl(neverAsDiscriminantType.ts, 0, 13))
>a : Symbol(a, Decl(neverAsDiscriminantType.ts, 0, 24))
>kind : Symbol(kind, Decl(neverAsDiscriminantType.ts, 0, 40))
>kind : Symbol(kind, Decl(neverAsDiscriminantType.ts, 0, 56))

function f1(foo: Foo1) {
>f1 : Symbol(f1, Decl(neverAsDiscriminantType.ts, 0, 71))
>foo : Symbol(foo, Decl(neverAsDiscriminantType.ts, 2, 12))
>Foo1 : Symbol(Foo1, Decl(neverAsDiscriminantType.ts, 0, 0))

    if (foo.kind === 'a') {
>foo.kind : Symbol(kind, Decl(neverAsDiscriminantType.ts, 0, 13), Decl(neverAsDiscriminantType.ts, 0, 40), Decl(neverAsDiscriminantType.ts, 0, 56))
>foo : Symbol(foo, Decl(neverAsDiscriminantType.ts, 2, 12))
>kind : Symbol(kind, Decl(neverAsDiscriminantType.ts, 0, 13), Decl(neverAsDiscriminantType.ts, 0, 40), Decl(neverAsDiscriminantType.ts, 0, 56))

        foo.a;
>foo.a : Symbol(a, Decl(neverAsDiscriminantType.ts, 0, 24))
>foo : Symbol(foo, Decl(neverAsDiscriminantType.ts, 2, 12))
>a : Symbol(a, Decl(neverAsDiscriminantType.ts, 0, 24))
    }
}

type Foo2 = { kind?: 'a', a: number } | { kind?: 'b' } | { kind?: never };
>Foo2 : Symbol(Foo2, Decl(neverAsDiscriminantType.ts, 6, 1))
>kind : Symbol(kind, Decl(neverAsDiscriminantType.ts, 8, 13))
>a : Symbol(a, Decl(neverAsDiscriminantType.ts, 8, 25))
>kind : Symbol(kind, Decl(neverAsDiscriminantType.ts, 8, 41))
>kind : Symbol(kind, Decl(neverAsDiscriminantType.ts, 8, 58))

function f2(foo: Foo2) {
>f2 : Symbol(f2, Decl(neverAsDiscriminantType.ts, 8, 74))
>foo : Symbol(foo, Decl(neverAsDiscriminantType.ts, 10, 12))
>Foo2 : Symbol(Foo2, Decl(neverAsDiscriminantType.ts, 6, 1))

    if (foo.kind === 'a') {
>foo.kind : Symbol(kind, Decl(neverAsDiscriminantType.ts, 8, 13), Decl(neverAsDiscriminantType.ts, 8, 41), Decl(neverAsDiscriminantType.ts, 8, 58))
>foo : Symbol(foo, Decl(neverAsDiscriminantType.ts, 10, 12))
>kind : Symbol(kind, Decl(neverAsDiscriminantType.ts, 8, 13), Decl(neverAsDiscriminantType.ts, 8, 41), Decl(neverAsDiscriminantType.ts, 8, 58))

        foo.a;
>foo.a : Symbol(a, Decl(neverAsDiscriminantType.ts, 8, 25))
>foo : Symbol(foo, Decl(neverAsDiscriminantType.ts, 10, 12))
>a : Symbol(a, Decl(neverAsDiscriminantType.ts, 8, 25))
    }
}

// Repro from #50716

export interface GatewayPayloadStructure<O extends GatewayOpcode, T extends keyof GatewayEvents, D> {
>GatewayPayloadStructure : Symbol(GatewayPayloadStructure, Decl(neverAsDiscriminantType.ts, 14, 1))
>O : Symbol(O, Decl(neverAsDiscriminantType.ts, 18, 41))
>GatewayOpcode : Symbol(GatewayOpcode, Decl(neverAsDiscriminantType.ts, 35, 1))
>T : Symbol(T, Decl(neverAsDiscriminantType.ts, 18, 65))
>GatewayEvents : Symbol(GatewayEvents, Decl(neverAsDiscriminantType.ts, 49, 1))
>D : Symbol(D, Decl(neverAsDiscriminantType.ts, 18, 96))

    op: O
>op : Symbol(GatewayPayloadStructure.op, Decl(neverAsDiscriminantType.ts, 18, 101))
>O : Symbol(O, Decl(neverAsDiscriminantType.ts, 18, 41))

    d: D
>d : Symbol(GatewayPayloadStructure.d, Decl(neverAsDiscriminantType.ts, 19, 9))
>D : Symbol(D, Decl(neverAsDiscriminantType.ts, 18, 96))

    t?: T
>t : Symbol(GatewayPayloadStructure.t, Decl(neverAsDiscriminantType.ts, 20, 8))
>T : Symbol(T, Decl(neverAsDiscriminantType.ts, 18, 65))

    s?: number
>s : Symbol(GatewayPayloadStructure.s, Decl(neverAsDiscriminantType.ts, 21, 9))
}

export type GatewayPayload = {
>GatewayPayload : Symbol(GatewayPayload, Decl(neverAsDiscriminantType.ts, 23, 1))

    [O in GatewayOpcode]: O extends GatewayOpcode.DISPATCH
>O : Symbol(O, Decl(neverAsDiscriminantType.ts, 26, 5))
>GatewayOpcode : Symbol(GatewayOpcode, Decl(neverAsDiscriminantType.ts, 35, 1))
>O : Symbol(O, Decl(neverAsDiscriminantType.ts, 26, 5))
>GatewayOpcode : Symbol(GatewayOpcode, Decl(neverAsDiscriminantType.ts, 35, 1))
>DISPATCH : Symbol(GatewayOpcode.DISPATCH, Decl(neverAsDiscriminantType.ts, 37, 27))

    ? {
        [T in keyof GatewayEvents]: GatewayPayloadStructure<GatewayOpcode.DISPATCH, T, GatewayEvents[T]>
>T : Symbol(T, Decl(neverAsDiscriminantType.ts, 28, 9))
>GatewayEvents : Symbol(GatewayEvents, Decl(neverAsDiscriminantType.ts, 49, 1))
>GatewayPayloadStructure : Symbol(GatewayPayloadStructure, Decl(neverAsDiscriminantType.ts, 14, 1))
>GatewayOpcode : Symbol(GatewayOpcode, Decl(neverAsDiscriminantType.ts, 35, 1))
>DISPATCH : Symbol(GatewayOpcode.DISPATCH, Decl(neverAsDiscriminantType.ts, 37, 27))
>T : Symbol(T, Decl(neverAsDiscriminantType.ts, 28, 9))
>GatewayEvents : Symbol(GatewayEvents, Decl(neverAsDiscriminantType.ts, 49, 1))
>T : Symbol(T, Decl(neverAsDiscriminantType.ts, 28, 9))

    }[keyof GatewayEvents]
>GatewayEvents : Symbol(GatewayEvents, Decl(neverAsDiscriminantType.ts, 49, 1))

    : GatewayPayloadStructure<O, never, O extends keyof GatewayParams ? GatewayParams[O] : never>
>GatewayPayloadStructure : Symbol(GatewayPayloadStructure, Decl(neverAsDiscriminantType.ts, 14, 1))
>O : Symbol(O, Decl(neverAsDiscriminantType.ts, 26, 5))
>O : Symbol(O, Decl(neverAsDiscriminantType.ts, 26, 5))
>GatewayParams : Symbol(GatewayParams, Decl(neverAsDiscriminantType.ts, 31, 16))
>GatewayParams : Symbol(GatewayParams, Decl(neverAsDiscriminantType.ts, 31, 16))
>O : Symbol(O, Decl(neverAsDiscriminantType.ts, 26, 5))

}[GatewayOpcode]
>GatewayOpcode : Symbol(GatewayOpcode, Decl(neverAsDiscriminantType.ts, 35, 1))

export interface GatewayParams {
>GatewayParams : Symbol(GatewayParams, Decl(neverAsDiscriminantType.ts, 31, 16))

    [GatewayOpcode.HELLO]: { b: 1 }
>[GatewayOpcode.HELLO] : Symbol(GatewayParams[GatewayOpcode.HELLO], Decl(neverAsDiscriminantType.ts, 33, 32))
>GatewayOpcode.HELLO : Symbol(GatewayOpcode.HELLO, Decl(neverAsDiscriminantType.ts, 46, 24))
>GatewayOpcode : Symbol(GatewayOpcode, Decl(neverAsDiscriminantType.ts, 35, 1))
>HELLO : Symbol(GatewayOpcode.HELLO, Decl(neverAsDiscriminantType.ts, 46, 24))
>b : Symbol(b, Decl(neverAsDiscriminantType.ts, 34, 28))
}

export enum GatewayOpcode {
>GatewayOpcode : Symbol(GatewayOpcode, Decl(neverAsDiscriminantType.ts, 35, 1))

    DISPATCH = 0,
>DISPATCH : Symbol(GatewayOpcode.DISPATCH, Decl(neverAsDiscriminantType.ts, 37, 27))

    HEARTBEAT = 1,
>HEARTBEAT : Symbol(GatewayOpcode.HEARTBEAT, Decl(neverAsDiscriminantType.ts, 38, 17))

    IDENTIFY = 2,
>IDENTIFY : Symbol(GatewayOpcode.IDENTIFY, Decl(neverAsDiscriminantType.ts, 39, 18))

    PRESENCE_UPDATE = 3,
>PRESENCE_UPDATE : Symbol(GatewayOpcode.PRESENCE_UPDATE, Decl(neverAsDiscriminantType.ts, 40, 17))

    VOICE_STATE_UPDATE = 4,
>VOICE_STATE_UPDATE : Symbol(GatewayOpcode.VOICE_STATE_UPDATE, Decl(neverAsDiscriminantType.ts, 41, 24))

    RESUME = 6,
>RESUME : Symbol(GatewayOpcode.RESUME, Decl(neverAsDiscriminantType.ts, 42, 27))

    RECONNECT = 7,
>RECONNECT : Symbol(GatewayOpcode.RECONNECT, Decl(neverAsDiscriminantType.ts, 43, 15))

    REQUEST_GUILD_MEMBERS = 8,
>REQUEST_GUILD_MEMBERS : Symbol(GatewayOpcode.REQUEST_GUILD_MEMBERS, Decl(neverAsDiscriminantType.ts, 44, 18))

    INVALID_SESSION = 9,
>INVALID_SESSION : Symbol(GatewayOpcode.INVALID_SESSION, Decl(neverAsDiscriminantType.ts, 45, 30))

    HELLO = 10,
>HELLO : Symbol(GatewayOpcode.HELLO, Decl(neverAsDiscriminantType.ts, 46, 24))

    HEARTBEAT_ACK = 11,
>HEARTBEAT_ACK : Symbol(GatewayOpcode.HEARTBEAT_ACK, Decl(neverAsDiscriminantType.ts, 47, 15))
}

export interface GatewayEvents {
>GatewayEvents : Symbol(GatewayEvents, Decl(neverAsDiscriminantType.ts, 49, 1))

    MESSAGE_CREATE: { a: 1 }
>MESSAGE_CREATE : Symbol(GatewayEvents.MESSAGE_CREATE, Decl(neverAsDiscriminantType.ts, 51, 32))
>a : Symbol(a, Decl(neverAsDiscriminantType.ts, 52, 21))

    MESSAGE_UPDATE: { a: 2 }
>MESSAGE_UPDATE : Symbol(GatewayEvents.MESSAGE_UPDATE, Decl(neverAsDiscriminantType.ts, 52, 28))
>a : Symbol(a, Decl(neverAsDiscriminantType.ts, 53, 21))

    MESSAGE_DELETE: { a: 3 }
>MESSAGE_DELETE : Symbol(GatewayEvents.MESSAGE_DELETE, Decl(neverAsDiscriminantType.ts, 53, 28))
>a : Symbol(a, Decl(neverAsDiscriminantType.ts, 54, 21))
}

function assertMessage(event: { a: 1 }) { }
>assertMessage : Symbol(assertMessage, Decl(neverAsDiscriminantType.ts, 55, 1))
>event : Symbol(event, Decl(neverAsDiscriminantType.ts, 57, 23))
>a : Symbol(a, Decl(neverAsDiscriminantType.ts, 57, 31))

export async function adaptSession(input: GatewayPayload) {
>adaptSession : Symbol(adaptSession, Decl(neverAsDiscriminantType.ts, 57, 43))
>input : Symbol(input, Decl(neverAsDiscriminantType.ts, 59, 35))
>GatewayPayload : Symbol(GatewayPayload, Decl(neverAsDiscriminantType.ts, 23, 1))

    if (input.t === 'MESSAGE_CREATE') {
>input.t : Symbol(GatewayPayloadStructure.t, Decl(neverAsDiscriminantType.ts, 20, 8), Decl(neverAsDiscriminantType.ts, 20, 8), Decl(neverAsDiscriminantType.ts, 20, 8), Decl(neverAsDiscriminantType.ts, 20, 8), Decl(neverAsDiscriminantType.ts, 20, 8) ... and 8 more)
>input : Symbol(input, Decl(neverAsDiscriminantType.ts, 59, 35))
>t : Symbol(GatewayPayloadStructure.t, Decl(neverAsDiscriminantType.ts, 20, 8), Decl(neverAsDiscriminantType.ts, 20, 8), Decl(neverAsDiscriminantType.ts, 20, 8), Decl(neverAsDiscriminantType.ts, 20, 8), Decl(neverAsDiscriminantType.ts, 20, 8) ... and 8 more)

        assertMessage(input.d)
>assertMessage : Symbol(assertMessage, Decl(neverAsDiscriminantType.ts, 55, 1))
>input.d : Symbol(GatewayPayloadStructure.d, Decl(neverAsDiscriminantType.ts, 19, 9))
>input : Symbol(input, Decl(neverAsDiscriminantType.ts, 59, 35))
>d : Symbol(GatewayPayloadStructure.d, Decl(neverAsDiscriminantType.ts, 19, 9))
    }
}