File: stringLiteralTypesInUnionTypes04.types

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (89 lines) | stat: -rw-r--r-- 973 bytes parent folder | download | duplicates (2)
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
=== tests/cases/conformance/types/stringLiteral/stringLiteralTypesInUnionTypes04.ts ===
type T = "" | "foo";
>T : T

let x: T = undefined;
>x : T
>undefined : undefined

let y: T = undefined;
>y : T
>undefined : undefined

if (x === "") {
>x === "" : boolean
>x : T
>"" : ""

    let a = x;
>a : ""
>x : ""
}

if (x !== "") {
>x !== "" : boolean
>x : T
>"" : ""

    let b = x;
>b : "foo"
>x : "foo"
}

if (x == "") {
>x == "" : boolean
>x : T
>"" : ""

    let c = x;
>c : ""
>x : ""
}

if (x != "") {
>x != "" : boolean
>x : T
>"" : ""

    let d = x;
>d : "foo"
>x : "foo"
}

if (x) {
>x : T

    let e = x;
>e : "foo"
>x : "foo"
}

if (!x) {
>!x : boolean
>x : T

    let f = x;
>f : T
>x : T
}

if (!!x) {
>!!x : boolean
>!x : boolean
>x : T

    let g = x;
>g : "foo"
>x : "foo"
}

if (!!!x) {
>!!!x : boolean
>!!x : boolean
>!x : boolean
>x : T

    let h = x;
>h : T
>x : T
}