File: constIndexedAccess.types

package info (click to toggle)
node-typescript 2.1.5-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 203,952 kB
  • ctags: 52,987
  • sloc: sh: 11; makefile: 5
file content (93 lines) | stat: -rw-r--r-- 1,803 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
90
91
92
93
=== tests/cases/compiler/constIndexedAccess.ts ===

const enum numbers {
>numbers : numbers

    zero,
>zero : numbers.zero

    one
>one : numbers.one
}

interface indexAccess {
>indexAccess : indexAccess

    0: string;
    1: number;
}

let test: indexAccess;
>test : indexAccess
>indexAccess : indexAccess

let s = test[0];
>s : string
>test[0] : string
>test : indexAccess
>0 : 0

let n = test[1];
>n : number
>test[1] : number
>test : indexAccess
>1 : 1

let s1 = test[numbers.zero];
>s1 : string
>test[numbers.zero] : string
>test : indexAccess
>numbers.zero : numbers.zero
>numbers : typeof numbers
>zero : numbers.zero

let n1 = test[numbers.one];
>n1 : number
>test[numbers.one] : number
>test : indexAccess
>numbers.one : numbers.one
>numbers : typeof numbers
>one : numbers.one

let s2 = test[numbers["zero"]];
>s2 : string
>test[numbers["zero"]] : string
>test : indexAccess
>numbers["zero"] : numbers.zero
>numbers : typeof numbers
>"zero" : "zero"

let n2 = test[numbers["one"]];
>n2 : number
>test[numbers["one"]] : number
>test : indexAccess
>numbers["one"] : numbers.one
>numbers : typeof numbers
>"one" : "one"

enum numbersNotConst {
>numbersNotConst : numbersNotConst

    zero,
>zero : numbersNotConst.zero

    one
>one : numbersNotConst.one
}

let s3 = test[numbersNotConst.zero];
>s3 : string
>test[numbersNotConst.zero] : string
>test : indexAccess
>numbersNotConst.zero : numbersNotConst.zero
>numbersNotConst : typeof numbersNotConst
>zero : numbersNotConst.zero

let n3 = test[numbersNotConst.one];
>n3 : number
>test[numbersNotConst.one] : number
>test : indexAccess
>numbersNotConst.one : numbersNotConst.one
>numbersNotConst : typeof numbersNotConst
>one : numbersNotConst.one