File: tsxElementResolution8.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 (63 lines) | stat: -rw-r--r-- 922 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
=== tests/cases/conformance/jsx/file.tsx ===
declare module JSX {
	interface Element { }
	interface IntrinsicElements { }
}

// Error
var Div = 3;
>Div : number
>3 : 3

<Div />;
><Div /> : JSX.Element
>Div : number

// OK
function Fact(): any { return null; }
>Fact : () => any
>null : null

<Fact />
><Fact /> : JSX.Element
>Fact : () => any

// Error
function Fnum(): number{ return 42; }
>Fnum : () => number
>42 : 42

<Fnum />
><Fnum /> : JSX.Element
>Fnum : () => number

interface Obj1 {
	new(): {};
	(): number;
}
var Obj1: Obj1;
>Obj1 : Obj1

<Obj1 />; // OK, prefer construct signatures
><Obj1 /> : JSX.Element
>Obj1 : Obj1

interface Obj2 {
	(): number;
}
var Obj2: Obj2;
>Obj2 : Obj2

<Obj2 />; // Error
><Obj2 /> : JSX.Element
>Obj2 : Obj2

interface Obj3 {
}
var Obj3: Obj3;
>Obj3 : Obj3

<Obj3 />; // Error
><Obj3 /> : JSX.Element
>Obj3 : Obj3