File: contextuallyTypedJsxAttribute.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 (66 lines) | stat: -rw-r--r-- 1,616 bytes parent folder | download | duplicates (3)
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
=== tests/cases/compiler/index.tsx ===
interface Elements {
  foo: { callback?: (value: number) => void };
>foo : { callback?: (value: number) => void; }
>callback : (value: number) => void
>value : number

  bar: { callback?: (value: string) => void };
>bar : { callback?: (value: string) => void; }
>callback : (value: string) => void
>value : string
}

type Props<C extends keyof Elements> = { as?: C } & Elements[C];
>Props : Props<C>
>as : C

declare function Test<C extends keyof Elements>(props: Props<C>): null;
>Test : <C extends keyof Elements>(props: Props<C>) => null
>props : Props<C>
>null : null

<Test
><Test  as="bar"  callback={(value) => {}}/> : error
>Test : <C extends keyof Elements>(props: Props<C>) => null

  as="bar"
>as : "bar"

  callback={(value) => {}}
>callback : (value: string) => void
>(value) => {} : (value: string) => void
>value : string

/>;

Test({
>Test({  as: "bar",  callback: (value) => {},}) : null
>Test : <C extends keyof Elements>(props: Props<C>) => null
>{  as: "bar",  callback: (value) => {},} : { as: "bar"; callback: (value: string) => void; }

  as: "bar",
>as : "bar"
>"bar" : "bar"

  callback: (value) => {},
>callback : (value: string) => void
>(value) => {} : (value: string) => void
>value : string

});

<Test<'bar'>
><Test<'bar'>  as="bar"  callback={(value) => {}}/> : error
>Test : <C extends keyof Elements>(props: Props<C>) => null

  as="bar"
>as : "bar"

  callback={(value) => {}}
>callback : (value: string) => void
>(value) => {} : (value: string) => void
>value : string

/>;