TypeScript/tests/baselines/reference/TypeGuardWithEnumUnion.types

101 lines
1.7 KiB
Plaintext
Raw Normal View History

2015-01-25 02:23:22 +01:00
=== tests/cases/conformance/expressions/typeGuards/TypeGuardWithEnumUnion.ts ===
enum Color { R, G, B }
>Color : Color
>R : Color
>G : Color
>B : Color
2015-01-25 02:23:22 +01:00
function f1(x: Color | string) {
>f1 : (x: string | Color) => void
>x : string | Color
>Color : Color
2015-01-25 02:23:22 +01:00
if (typeof x === "number") {
>typeof x === "number" : boolean
>typeof x : string
>x : string | Color
2015-04-13 21:36:11 +02:00
>"number" : string
2015-01-25 02:23:22 +01:00
var y = x;
>y : Color
>x : Color
2015-01-25 02:23:22 +01:00
var y: Color;
>y : Color
>Color : Color
2015-01-25 02:23:22 +01:00
}
else {
var z = x;
>z : string
>x : string
2015-01-25 02:23:22 +01:00
var z: string;
>z : string
2015-01-25 02:23:22 +01:00
}
}
function f2(x: Color | string | string[]) {
>f2 : (x: string | string[] | Color) => void
>x : string | string[] | Color
>Color : Color
2015-01-25 02:23:22 +01:00
if (typeof x === "object") {
>typeof x === "object" : boolean
>typeof x : string
>x : string | string[] | Color
2015-04-13 21:36:11 +02:00
>"object" : string
2015-01-25 02:23:22 +01:00
var y = x;
>y : string[]
>x : string[]
2015-01-25 02:23:22 +01:00
var y: string[];
>y : string[]
2015-01-25 02:23:22 +01:00
}
if (typeof x === "number") {
>typeof x === "number" : boolean
>typeof x : string
>x : string | string[] | Color
2015-04-13 21:36:11 +02:00
>"number" : string
2015-01-25 02:23:22 +01:00
var z = x;
>z : Color
>x : Color
2015-01-25 02:23:22 +01:00
var z: Color;
>z : Color
>Color : Color
2015-01-25 02:23:22 +01:00
}
else {
var w = x;
>w : string | string[]
>x : string | string[]
2015-01-25 02:23:22 +01:00
var w: string | string[];
>w : string | string[]
2015-01-25 02:23:22 +01:00
}
if (typeof x === "string") {
>typeof x === "string" : boolean
>typeof x : string
>x : string | string[] | Color
2015-04-13 21:36:11 +02:00
>"string" : string
2015-01-25 02:23:22 +01:00
var a = x;
>a : string
>x : string
2015-01-25 02:23:22 +01:00
var a: string;
>a : string
2015-01-25 02:23:22 +01:00
}
else {
var b = x;
>b : string[] | Color
>x : string[] | Color
2015-01-25 02:23:22 +01:00
var b: Color | string[];
>b : string[] | Color
>Color : Color
2015-01-25 02:23:22 +01:00
}
}