-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Expand file tree
/
Copy pathprotectedMethodTypeofParameter.types
More file actions
106 lines (85 loc) · 3.09 KB
/
protectedMethodTypeofParameter.types
File metadata and controls
106 lines (85 loc) · 3.09 KB
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
94
95
96
97
98
99
100
101
102
103
104
105
106
//// [tests/cases/compiler/protectedMethodTypeofParameter.ts] ////
=== protectedMethodTypeofParameter.ts ===
export interface Properties {
propertyA: number;
>propertyA : number
> : ^^^^^^
propertyB: string;
>propertyB : string
> : ^^^^^^
}
export class A {
>A : A
> : ^
public getPropertyValue_Ok(
>getPropertyValue_Ok : (properties: Properties, propertyName: keyof Properties) => Properties[typeof propertyName]
> : ^ ^^ ^^ ^^ ^^^^^
properties: Properties,
>properties : Properties
> : ^^^^^^^^^^
propertyName: keyof Properties,
>propertyName : keyof Properties
> : ^^^^^^^^^^^^^^^^
): Properties[typeof propertyName] {
>propertyName : keyof Properties
> : ^^^^^^^^^^^^^^^^
return properties[propertyName];
>properties[propertyName] : string | number
> : ^^^^^^^^^^^^^^^
>properties : Properties
> : ^^^^^^^^^^
>propertyName : keyof Properties
> : ^^^^^^^^^^^^^^^^
}
protected getPropertyValue_Protected(
>getPropertyValue_Protected : (properties: Properties, propertyName: keyof Properties) => Properties[typeof propertyName]
> : ^ ^^ ^^ ^^ ^^^^^
properties: Properties,
>properties : Properties
> : ^^^^^^^^^^
propertyName: keyof Properties,
>propertyName : keyof Properties
> : ^^^^^^^^^^^^^^^^
): Properties[typeof propertyName] {
>propertyName : keyof Properties
> : ^^^^^^^^^^^^^^^^
return properties[propertyName];
>properties[propertyName] : string | number
> : ^^^^^^^^^^^^^^^
>properties : Properties
> : ^^^^^^^^^^
>propertyName : keyof Properties
> : ^^^^^^^^^^^^^^^^
}
protected setPropertyValue_Protected(
>setPropertyValue_Protected : (properties: Properties, propertyName: keyof Properties, propertyValue: Properties[typeof propertyName]) => void
> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^
properties: Properties,
>properties : Properties
> : ^^^^^^^^^^
propertyName: keyof Properties,
>propertyName : keyof Properties
> : ^^^^^^^^^^^^^^^^
propertyValue: Properties[typeof propertyName],
>propertyValue : string | number
> : ^^^^^^^^^^^^^^^
>propertyName : keyof Properties
> : ^^^^^^^^^^^^^^^^
): void {
void properties;
>void properties : undefined
> : ^^^^^^^^^
>properties : Properties
> : ^^^^^^^^^^
void propertyName;
>void propertyName : undefined
> : ^^^^^^^^^
>propertyName : keyof Properties
> : ^^^^^^^^^^^^^^^^
void propertyValue;
>void propertyValue : undefined
> : ^^^^^^^^^
>propertyValue : string | number
> : ^^^^^^^^^^^^^^^
}
}