File: tsxSpreadAttributesResolution9.types

package info (click to toggle)
node-typescript 4.9.5%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 533,908 kB
  • sloc: javascript: 2,018,330; makefile: 7; sh: 1
file content (73 lines) | stat: -rw-r--r-- 1,257 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
=== tests/cases/conformance/jsx/file.tsx ===
import React = require('react');
>React : typeof React

interface OptionProp {
    x?: 2
>x : 2

    y?: boolean
>y : boolean
}

class Opt extends React.Component<OptionProp, {}> {
>Opt : Opt
>React.Component : React.Component<OptionProp, {}>
>React : typeof React
>Component : typeof React.Component

    render() {
>render : () => JSX.Element

        return <div>Hello</div>;
><div>Hello</div> : JSX.Element
>div : any
>div : any
    }
}

const obj: OptionProp = {};
>obj : OptionProp
>{} : {}

const obj1: OptionProp = {
>obj1 : OptionProp
>{    x: 2} : { x: 2; }

    x: 2
>x : 2
>2 : 2
}

// OK
let p = <Opt />;
>p : JSX.Element
><Opt /> : JSX.Element
>Opt : typeof Opt

let y = <Opt {...obj} />;
>y : JSX.Element
><Opt {...obj} /> : JSX.Element
>Opt : typeof Opt
>obj : OptionProp

let y1 = <Opt {...obj1} />;
>y1 : JSX.Element
><Opt {...obj1} /> : JSX.Element
>Opt : typeof Opt
>obj1 : OptionProp

let y2 = <Opt {...obj1} y/>;
>y2 : JSX.Element
><Opt {...obj1} y/> : JSX.Element
>Opt : typeof Opt
>obj1 : OptionProp
>y : true

let y3 = <Opt x={2} />;
>y3 : JSX.Element
><Opt x={2} /> : JSX.Element
>Opt : typeof Opt
>x : 2
>2 : 2