File: tsxStatelessFunctionComponents1.js

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 (104 lines) | stat: -rw-r--r-- 2,309 bytes parent folder | download | duplicates (5)
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
//// [file.tsx]
function EmptyPropSFC() {
    return <div> Default Greeting </div>;
}

function Greet(x: {name: string}) {
	return <div>Hello, {x}</div>;
}
function Meet({name = 'world'}) {
	return <div>Hello, {name}</div>;
}
function MeetAndGreet(k: {"prop-name": string}) {
	return <div>Hi Hi</div>;
}

// OK
let a = <Greet name='world' />;
let a1 = <Greet name='world' extra-prop />;
// Error
let b = <Greet naaame='world' />;

// OK
let c = <Meet />;
let c1 = <Meet extra-prop/>;
// OK
let d = <Meet name='me' />;
// Error
let e = <Meet name={42} />;
// Error
let f = <Meet naaaaaaame='no' />;

// OK
let g = <MeetAndGreet prop-name="Bob" />;
// Error
let h = <MeetAndGreet extra-prop-name="World" />;

// Error
let i = <EmptyPropSFC prop1 />
let i1 = <EmptyPropSFC ref={x => x.greeting.substr(10)} />

let o = {
    prop1: true;
}

// OK as access properties are allow when spread
let i2 = <EmptyPropSFC {...o} />

let o1: any;
// OK
let j = <EmptyPropSFC {...o1} />
let j1 = <EmptyPropSFC />
let j2 = <EmptyPropSFC data-prop />
let j3 = <EmptyPropSFC {...{}} />
let j4 = <EmptyPropSFC {...{ "data-info": "hi"}} />



//// [file.jsx]
function EmptyPropSFC() {
    return <div> Default Greeting </div>;
}
function Greet(x) {
    return <div>Hello, {x}</div>;
}
function Meet(_a) {
    var _b = _a.name, name = _b === void 0 ? 'world' : _b;
    return <div>Hello, {name}</div>;
}
function MeetAndGreet(k) {
    return <div>Hi Hi</div>;
}
// OK
var a = <Greet name='world'/>;
var a1 = <Greet name='world' extra-prop/>;
// Error
var b = <Greet naaame='world'/>;
// OK
var c = <Meet />;
var c1 = <Meet extra-prop/>;
// OK
var d = <Meet name='me'/>;
// Error
var e = <Meet name={42}/>;
// Error
var f = <Meet naaaaaaame='no'/>;
// OK
var g = <MeetAndGreet prop-name="Bob"/>;
// Error
var h = <MeetAndGreet extra-prop-name="World"/>;
// Error
var i = <EmptyPropSFC prop1/>;
var i1 = <EmptyPropSFC ref={function (x) { return x.greeting.substr(10); }}/>;
var o = {
    prop1: true
};
// OK as access properties are allow when spread
var i2 = <EmptyPropSFC {...o}/>;
var o1;
// OK
var j = <EmptyPropSFC {...o1}/>;
var j1 = <EmptyPropSFC />;
var j2 = <EmptyPropSFC data-prop/>;
var j3 = <EmptyPropSFC {...{}}/>;
var j4 = <EmptyPropSFC {...{ "data-info": "hi" }}/>;