File: emitArrowFunctionES6.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 (104 lines) | stat: -rw-r--r-- 2,813 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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
=== tests/cases/conformance/es6/arrowFunction/emitArrowFunctionES6.ts ===
var f1 = () => { }
>f1 : () => void
>() => { } : () => void

var f2 = (x: string, y: string) => { }
>f2 : (x: string, y: string) => void
>(x: string, y: string) => { } : (x: string, y: string) => void
>x : string
>y : string

var f3 = (x: string, y: number, ...rest) => { }
>f3 : (x: string, y: number, ...rest: any[]) => void
>(x: string, y: number, ...rest) => { } : (x: string, y: number, ...rest: any[]) => void
>x : string
>y : number
>rest : any[]

var f4 = (x: string, y: number, z=10) => { }
>f4 : (x: string, y: number, z?: number) => void
>(x: string, y: number, z=10) => { } : (x: string, y: number, z?: number) => void
>x : string
>y : number
>z : number
>10 : 10

function foo(func: () => boolean) { }
>foo : (func: () => boolean) => void
>func : () => boolean

foo(() => true);
>foo(() => true) : void
>foo : (func: () => boolean) => void
>() => true : () => true
>true : true

foo(() => { return false; });
>foo(() => { return false; }) : void
>foo : (func: () => boolean) => void
>() => { return false; } : () => false
>false : false

// Binding patterns in arrow functions
var p1 = ([a]) => { };
>p1 : ([a]: [any]) => void
>([a]) => { } : ([a]: [any]) => void
>a : any

var p2 = ([...a]) => { };
>p2 : ([...a]: Iterable<any>) => void
>([...a]) => { } : ([...a]: Iterable<any>) => void
>a : any[]

var p3 = ([, a]) => { };
>p3 : ([, a]: [any, any]) => void
>([, a]) => { } : ([, a]: [any, any]) => void
> : undefined
>a : any

var p4 = ([, ...a]) => { };
>p4 : ([, ...a]: [any?, ...any[]]) => void
>([, ...a]) => { } : ([, ...a]: [any?, ...any[]]) => void
> : undefined
>a : any[]

var p5 = ([a = 1]) => { };
>p5 : ([a]: [number?]) => void
>([a = 1]) => { } : ([a]: [number?]) => void
>a : number
>1 : 1

var p6 = ({ a }) => { };
>p6 : ({ a }: { a: any; }) => void
>({ a }) => { } : ({ a }: { a: any; }) => void
>a : any

var p7 = ({ a: { b } }) => { };
>p7 : ({ a: { b } }: { a: { b: any; }; }) => void
>({ a: { b } }) => { } : ({ a: { b } }: { a: { b: any; }; }) => void
>a : any
>b : any

var p8 = ({ a = 1 }) => { };
>p8 : ({ a }: { a?: number; }) => void
>({ a = 1 }) => { } : ({ a }: { a?: number; }) => void
>a : number
>1 : 1

var p9 = ({ a: { b = 1 } = { b: 1 } }) => { };
>p9 : ({ a: { b } }: { a?: { b?: number; }; }) => void
>({ a: { b = 1 } = { b: 1 } }) => { } : ({ a: { b } }: { a?: { b?: number; }; }) => void
>a : any
>b : number
>1 : 1
>{ b: 1 } : { b?: number; }
>b : number
>1 : 1

var p10 = ([{ value, done }]) => { };
>p10 : ([{ value, done }]: [{ value: any; done: any; }]) => void
>([{ value, done }]) => { } : ([{ value, done }]: [{ value: any; done: any; }]) => void
>value : any
>done : any