File: templateExpressionAsPossiblyDiscriminantValue.types

package info (click to toggle)
node-typescript 5.2.2-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 497,488 kB
  • sloc: javascript: 2,107,274; makefile: 6; sh: 1
file content (54 lines) | stat: -rw-r--r-- 1,553 bytes parent folder | download
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
//// [tests/cases/compiler/templateExpressionAsPossiblyDiscriminantValue.ts] ////

=== templateExpressionAsPossiblyDiscriminantValue.ts ===
// repro mentioned in https://github.com/microsoft/TypeScript/issues/53888

type BiomePlainLinkProps = {
>BiomePlainLinkProps : { href: string; onClick?: ((event: string) => void) | undefined; }

  href: string;
>href : string

  onClick?: (event: string) => void;
>onClick : ((event: string) => void) | undefined
>event : string
}

type BiomeButtonProps = {
>BiomeButtonProps : { href?: undefined; onClick?: ((event: number) => void) | undefined; }

  href?: never;
>href : undefined

  onClick?: (event: number) => void;
>onClick : ((event: number) => void) | undefined
>event : number
}

export type ClickableDiscriminatedUnion =
>ClickableDiscriminatedUnion : BiomePlainLinkProps | BiomeButtonProps

  | BiomePlainLinkProps
  | BiomeButtonProps;

const p3: ClickableDiscriminatedUnion = {
>p3 : ClickableDiscriminatedUnion
>{  href: `2${undefined}332132`,  onClick: (ev) => console.log('@@@@', ev),} : { href: string; onClick: (ev: string) => void; }

  href: `2${undefined}332132`,
>href : string
>`2${undefined}332132` : string
>undefined : undefined

  onClick: (ev) => console.log('@@@@', ev),
>onClick : (ev: string) => void
>(ev) => console.log('@@@@', ev) : (ev: string) => void
>ev : string
>console.log('@@@@', ev) : void
>console.log : (...data: any[]) => void
>console : Console
>log : (...data: any[]) => void
>'@@@@' : "@@@@"
>ev : string
}