File: declarationEmitExpandoWithGenericConstraint.types

package info (click to toggle)
node-typescript 5.0.4%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 459,116 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (48 lines) | stat: -rw-r--r-- 1,310 bytes parent folder | download | duplicates (4)
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
=== tests/cases/compiler/declarationEmitExpandoWithGenericConstraint.ts ===
export interface Point {
    readonly x: number;
>x : number

    readonly y: number;
>y : number
}

export interface Rect<p extends Point> {
    readonly a: p;
>a : p

    readonly b: p;
>b : p
}

export const Point = (x: number, y: number): Point => ({ x, y });
>Point : { (x: number, y: number): Point; zero(): Point; }
>(x: number, y: number): Point => ({ x, y }) : { (x: number, y: number): Point; zero(): Point; }
>x : number
>y : number
>({ x, y }) : { x: number; y: number; }
>{ x, y } : { x: number; y: number; }
>x : number
>y : number

export const Rect = <p extends Point>(a: p, b: p): Rect<p> => ({ a, b });
>Rect : <p extends Point>(a: p, b: p) => Rect<p>
><p extends Point>(a: p, b: p): Rect<p> => ({ a, b }) : <p extends Point>(a: p, b: p) => Rect<p>
>a : p
>b : p
>({ a, b }) : { a: p; b: p; }
>{ a, b } : { a: p; b: p; }
>a : p
>b : p

Point.zero = (): Point => Point(0, 0);
>Point.zero = (): Point => Point(0, 0) : () => Point
>Point.zero : () => Point
>Point : { (x: number, y: number): Point; zero(): Point; }
>zero : () => Point
>(): Point => Point(0, 0) : () => Point
>Point(0, 0) : Point
>Point : { (x: number, y: number): Point; zero(): Point; }
>0 : 0
>0 : 0