@@ -82,14 +82,13 @@ if (!(u === 42)) {
82
82
>isTrue : Symbol(isTrue, Decl(unknownType2.ts, 0, 53))
83
83
>isUnknown : Symbol(isUnknown, Decl(unknownType2.ts, 0, 0))
84
84
>u : Symbol(u, Decl(unknownType2.ts, 6, 5))
85
-
86
85
}
87
86
88
87
if (u !== 42) {
89
88
>u : Symbol(u, Decl(unknownType2.ts, 6, 5))
90
89
91
90
type B = isTrue<isUnknown<typeof u>>
92
- >B : Symbol(B, Decl(unknownType2.ts, 35 , 15))
91
+ >B : Symbol(B, Decl(unknownType2.ts, 34 , 15))
93
92
>isTrue : Symbol(isTrue, Decl(unknownType2.ts, 0, 53))
94
93
>isUnknown : Symbol(isUnknown, Decl(unknownType2.ts, 0, 0))
95
94
>u : Symbol(u, Decl(unknownType2.ts, 6, 5))
@@ -99,7 +98,7 @@ if (u == 42) {
99
98
>u : Symbol(u, Decl(unknownType2.ts, 6, 5))
100
99
101
100
type C = isTrue<isUnknown<typeof u>>
102
- >C : Symbol(C, Decl(unknownType2.ts, 39 , 14))
101
+ >C : Symbol(C, Decl(unknownType2.ts, 38 , 14))
103
102
>isTrue : Symbol(isTrue, Decl(unknownType2.ts, 0, 53))
104
103
>isUnknown : Symbol(isUnknown, Decl(unknownType2.ts, 0, 0))
105
104
>u : Symbol(u, Decl(unknownType2.ts, 6, 5))
@@ -109,7 +108,7 @@ if (u == true) {
109
108
>u : Symbol(u, Decl(unknownType2.ts, 6, 5))
110
109
111
110
type D = isTrue<isUnknown<typeof u>>
112
- >D : Symbol(D, Decl(unknownType2.ts, 43 , 16))
111
+ >D : Symbol(D, Decl(unknownType2.ts, 42 , 16))
113
112
>isTrue : Symbol(isTrue, Decl(unknownType2.ts, 0, 53))
114
113
>isUnknown : Symbol(isUnknown, Decl(unknownType2.ts, 0, 0))
115
114
>u : Symbol(u, Decl(unknownType2.ts, 6, 5))
@@ -120,9 +119,177 @@ if (u == Object) {
120
119
>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
121
120
122
121
type E = isTrue<isUnknown<typeof u>>
123
- >E : Symbol(E, Decl(unknownType2.ts, 47 , 18))
122
+ >E : Symbol(E, Decl(unknownType2.ts, 46 , 18))
124
123
>isTrue : Symbol(isTrue, Decl(unknownType2.ts, 0, 53))
125
124
>isUnknown : Symbol(isUnknown, Decl(unknownType2.ts, 0, 0))
126
125
>u : Symbol(u, Decl(unknownType2.ts, 6, 5))
127
126
}
128
127
128
+ declare const aString: string;
129
+ >aString : Symbol(aString, Decl(unknownType2.ts, 50, 13))
130
+
131
+ declare const aBoolean: boolean;
132
+ >aBoolean : Symbol(aBoolean, Decl(unknownType2.ts, 51, 13))
133
+
134
+ declare const aNumber: number;
135
+ >aNumber : Symbol(aNumber, Decl(unknownType2.ts, 52, 13))
136
+
137
+ declare const anObject: object;
138
+ >anObject : Symbol(anObject, Decl(unknownType2.ts, 53, 13))
139
+
140
+ declare const anObjectLiteral: { x: number };
141
+ >anObjectLiteral : Symbol(anObjectLiteral, Decl(unknownType2.ts, 54, 13))
142
+ >x : Symbol(x, Decl(unknownType2.ts, 54, 32))
143
+
144
+ declare const aUnion: { x: number } | { y: string };
145
+ >aUnion : Symbol(aUnion, Decl(unknownType2.ts, 55, 13))
146
+ >x : Symbol(x, Decl(unknownType2.ts, 55, 23))
147
+ >y : Symbol(y, Decl(unknownType2.ts, 55, 39))
148
+
149
+ declare const anIntersection: { x: number } & { y: string };
150
+ >anIntersection : Symbol(anIntersection, Decl(unknownType2.ts, 56, 13))
151
+ >x : Symbol(x, Decl(unknownType2.ts, 56, 31))
152
+ >y : Symbol(y, Decl(unknownType2.ts, 56, 47))
153
+
154
+ declare const aFunction: () => number;
155
+ >aFunction : Symbol(aFunction, Decl(unknownType2.ts, 57, 13))
156
+
157
+ if (u === aString) {
158
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
159
+ >aString : Symbol(aString, Decl(unknownType2.ts, 50, 13))
160
+
161
+ let uString: string = u;
162
+ >uString : Symbol(uString, Decl(unknownType2.ts, 60, 7))
163
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
164
+ }
165
+
166
+ if (u === aBoolean) {
167
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
168
+ >aBoolean : Symbol(aBoolean, Decl(unknownType2.ts, 51, 13))
169
+
170
+ let uString: boolean = u;
171
+ >uString : Symbol(uString, Decl(unknownType2.ts, 64, 7))
172
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
173
+ }
174
+
175
+ if (u === aNumber) {
176
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
177
+ >aNumber : Symbol(aNumber, Decl(unknownType2.ts, 52, 13))
178
+
179
+ let uNumber: number = u;
180
+ >uNumber : Symbol(uNumber, Decl(unknownType2.ts, 68, 7))
181
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
182
+ }
183
+
184
+ if (u === anObject) {
185
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
186
+ >anObject : Symbol(anObject, Decl(unknownType2.ts, 53, 13))
187
+
188
+ let uObject: object = u;
189
+ >uObject : Symbol(uObject, Decl(unknownType2.ts, 72, 7))
190
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
191
+ }
192
+
193
+ if (u === anObjectLiteral) {
194
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
195
+ >anObjectLiteral : Symbol(anObjectLiteral, Decl(unknownType2.ts, 54, 13))
196
+
197
+ let uObjectLiteral: object = u;
198
+ >uObjectLiteral : Symbol(uObjectLiteral, Decl(unknownType2.ts, 76, 7))
199
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
200
+ }
201
+
202
+ if (u === aUnion) {
203
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
204
+ >aUnion : Symbol(aUnion, Decl(unknownType2.ts, 55, 13))
205
+
206
+ type unionDoesNotNarrow = isTrue<isUnknown<typeof u>>
207
+ >unionDoesNotNarrow : Symbol(unionDoesNotNarrow, Decl(unknownType2.ts, 79, 19))
208
+ >isTrue : Symbol(isTrue, Decl(unknownType2.ts, 0, 53))
209
+ >isUnknown : Symbol(isUnknown, Decl(unknownType2.ts, 0, 0))
210
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
211
+ }
212
+
213
+ if (u === anIntersection) {
214
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
215
+ >anIntersection : Symbol(anIntersection, Decl(unknownType2.ts, 56, 13))
216
+
217
+ type intersectionDoesNotNarrow = isTrue<isUnknown<typeof u>>
218
+ >intersectionDoesNotNarrow : Symbol(intersectionDoesNotNarrow, Decl(unknownType2.ts, 83, 27))
219
+ >isTrue : Symbol(isTrue, Decl(unknownType2.ts, 0, 53))
220
+ >isUnknown : Symbol(isUnknown, Decl(unknownType2.ts, 0, 0))
221
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
222
+ }
223
+
224
+ if (u === aFunction) {
225
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
226
+ >aFunction : Symbol(aFunction, Decl(unknownType2.ts, 57, 13))
227
+
228
+ let uFunction: object = u;
229
+ >uFunction : Symbol(uFunction, Decl(unknownType2.ts, 88, 7))
230
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
231
+ }
232
+
233
+ enum NumberEnum {
234
+ >NumberEnum : Symbol(NumberEnum, Decl(unknownType2.ts, 89, 1))
235
+
236
+ A,
237
+ >A : Symbol(NumberEnum.A, Decl(unknownType2.ts, 91, 17))
238
+
239
+ B,
240
+ >B : Symbol(NumberEnum.B, Decl(unknownType2.ts, 92, 6))
241
+
242
+ C
243
+ >C : Symbol(NumberEnum.C, Decl(unknownType2.ts, 93, 6))
244
+ }
245
+
246
+ enum StringEnum {
247
+ >StringEnum : Symbol(StringEnum, Decl(unknownType2.ts, 95, 1))
248
+
249
+ A = "A",
250
+ >A : Symbol(StringEnum.A, Decl(unknownType2.ts, 97, 17))
251
+
252
+ B = "B",
253
+ >B : Symbol(StringEnum.B, Decl(unknownType2.ts, 98, 12))
254
+
255
+ C = "C"
256
+ >C : Symbol(StringEnum.C, Decl(unknownType2.ts, 99, 12))
257
+ }
258
+
259
+ if (u === NumberEnum || u === StringEnum) {
260
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
261
+ >NumberEnum : Symbol(NumberEnum, Decl(unknownType2.ts, 89, 1))
262
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
263
+ >StringEnum : Symbol(StringEnum, Decl(unknownType2.ts, 95, 1))
264
+
265
+ let enumObj: object = u;
266
+ >enumObj : Symbol(enumObj, Decl(unknownType2.ts, 104, 7))
267
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
268
+ }
269
+
270
+ if(u === NumberEnum.A) {
271
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
272
+ >NumberEnum.A : Symbol(NumberEnum.A, Decl(unknownType2.ts, 91, 17))
273
+ >NumberEnum : Symbol(NumberEnum, Decl(unknownType2.ts, 89, 1))
274
+ >A : Symbol(NumberEnum.A, Decl(unknownType2.ts, 91, 17))
275
+
276
+ let a: NumberEnum.A = u
277
+ >a : Symbol(a, Decl(unknownType2.ts, 108, 7))
278
+ >NumberEnum : Symbol(NumberEnum, Decl(unknownType2.ts, 89, 1))
279
+ >A : Symbol(NumberEnum.A, Decl(unknownType2.ts, 91, 17))
280
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
281
+ }
282
+
283
+ if(u === StringEnum.B) {
284
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
285
+ >StringEnum.B : Symbol(StringEnum.B, Decl(unknownType2.ts, 98, 12))
286
+ >StringEnum : Symbol(StringEnum, Decl(unknownType2.ts, 95, 1))
287
+ >B : Symbol(StringEnum.B, Decl(unknownType2.ts, 98, 12))
288
+
289
+ let b: StringEnum.B = u
290
+ >b : Symbol(b, Decl(unknownType2.ts, 112, 7))
291
+ >StringEnum : Symbol(StringEnum, Decl(unknownType2.ts, 95, 1))
292
+ >B : Symbol(StringEnum.B, Decl(unknownType2.ts, 98, 12))
293
+ >u : Symbol(u, Decl(unknownType2.ts, 6, 5))
294
+ }
295
+
0 commit comments