2015-01-12 23:51:20 +01:00
|
|
|
=== tests/cases/conformance/expressions/typeGuards/TypeGuardWithArrayUnion.ts ===
|
|
|
|
class Message {
|
2015-04-16 01:44:20 +02:00
|
|
|
>Message : Message
|
2015-01-12 23:51:20 +01:00
|
|
|
|
|
|
|
value: string;
|
2015-04-16 01:44:20 +02:00
|
|
|
>value : string
|
2015-01-12 23:51:20 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
function saySize(message: Message | Message[]) {
|
2015-04-16 01:44:20 +02:00
|
|
|
>saySize : (message: Message | Message[]) => number
|
|
|
|
>message : Message | Message[]
|
|
|
|
>Message : Message
|
|
|
|
>Message : Message
|
2015-01-12 23:51:20 +01:00
|
|
|
|
|
|
|
if (message instanceof Array) {
|
|
|
|
>message instanceof Array : boolean
|
2015-04-16 01:44:20 +02:00
|
|
|
>message : Message | Message[]
|
|
|
|
>Array : ArrayConstructor
|
2015-01-12 23:51:20 +01:00
|
|
|
|
|
|
|
return message.length; // Should have type Message[] here
|
2015-04-16 01:44:20 +02:00
|
|
|
>message.length : number
|
|
|
|
>message : Message[]
|
|
|
|
>length : number
|
2015-01-12 23:51:20 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|