forked from microsoft/TypeScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcheckJsxChildrenProperty12.types
More file actions
119 lines (102 loc) · 3.21 KB
/
checkJsxChildrenProperty12.types
File metadata and controls
119 lines (102 loc) · 3.21 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
107
108
109
110
111
112
113
114
115
116
117
118
119
//// [tests/cases/conformance/jsx/checkJsxChildrenProperty12.tsx] ////
=== file.tsx ===
/// <reference path="react.d.ts" />
import React = require('react');
>React : typeof React
> : ^^^^^^^^^^^^
interface ButtonProp {
a: number,
>a : number
> : ^^^^^^
b: string,
>b : string
> : ^^^^^^
children: Button;
>children : Button
> : ^^^^^^
}
class Button extends React.Component<ButtonProp, any> {
>Button : Button
> : ^^^^^^
>React.Component : React.Component<ButtonProp, any>
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>React : typeof React
> : ^^^^^^^^^^^^
>Component : typeof React.Component
> : ^^^^^^^^^^^^^^^^^^^^^^
render() {
>render : () => JSX.Element
> : ^^^^^^^^^^^^^^^^^
let condition: boolean;
>condition : boolean
> : ^^^^^^^
if (condition) {
>condition : boolean
> : ^^^^^^^
return <InnerButton {...this.props} />
><InnerButton {...this.props} /> : JSX.Element
> : ^^^^^^^^^^^
>InnerButton : typeof InnerButton
> : ^^^^^^^^^^^^^^^^^^
>this.props : ButtonProp & { children?: React.ReactNode | undefined; }
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>this : this
> : ^^^^
>props : ButtonProp & { children?: React.ReactNode | undefined; }
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
}
else {
return (<InnerButton {...this.props} >
>(<InnerButton {...this.props} > <div>Hello World</div> </InnerButton>) : JSX.Element
> : ^^^^^^^^^^^
><InnerButton {...this.props} > <div>Hello World</div> </InnerButton> : JSX.Element
> : ^^^^^^^^^^^
>InnerButton : typeof InnerButton
> : ^^^^^^^^^^^^^^^^^^
>this.props : ButtonProp & { children?: React.ReactNode | undefined; }
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>this : this
> : ^^^^
>props : ButtonProp & { children?: React.ReactNode | undefined; }
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<div>Hello World</div>
><div>Hello World</div> : JSX.Element
> : ^^^^^^^^^^^
>div : any
> : ^^^
>div : any
> : ^^^
</InnerButton>);
>InnerButton : typeof InnerButton
> : ^^^^^^^^^^^^^^^^^^
}
}
}
interface InnerButtonProp {
a: number
>a : number
> : ^^^^^^
}
class InnerButton extends React.Component<InnerButtonProp, any> {
>InnerButton : InnerButton
> : ^^^^^^^^^^^
>React.Component : React.Component<InnerButtonProp, any>
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>React : typeof React
> : ^^^^^^^^^^^^
>Component : typeof React.Component
> : ^^^^^^^^^^^^^^^^^^^^^^
render() {
>render : () => JSX.Element
> : ^^^^^^^^^^^^^^^^^
return (<button>Hello</button>);
>(<button>Hello</button>) : JSX.Element
> : ^^^^^^^^^^^
><button>Hello</button> : JSX.Element
> : ^^^^^^^^^^^
>button : any
> : ^^^
>button : any
> : ^^^
}
}