forked from microsoft/TypeScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTypeGuardWithArrayUnion.types
More file actions
36 lines (30 loc) · 932 Bytes
/
TypeGuardWithArrayUnion.types
File metadata and controls
36 lines (30 loc) · 932 Bytes
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
//// [tests/cases/conformance/expressions/typeGuards/TypeGuardWithArrayUnion.ts] ////
=== TypeGuardWithArrayUnion.ts ===
class Message {
>Message : Message
> : ^^^^^^^
value: string;
>value : string
> : ^^^^^^
}
function saySize(message: Message | Message[]) {
>saySize : (message: Message | Message[]) => number | undefined
> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^
>message : Message[] | Message
> : ^^^^^^^^^^^^^^^^^^^
if (message instanceof Array) {
>message instanceof Array : boolean
> : ^^^^^^^
>message : Message[] | Message
> : ^^^^^^^^^^^^^^^^^^^
>Array : ArrayConstructor
> : ^^^^^^^^^^^^^^^^
return message.length; // Should have type Message[] here
>message.length : number
> : ^^^^^^
>message : Message[]
> : ^^^^^^^^^
>length : number
> : ^^^^^^
}
}