@@ -37,3 +37,59 @@ foo(() => { return false; });
37
37
>foo : (func: () => boolean) => void
38
38
>() => { return false; } : () => boolean
39
39
40
+ // Binding patterns in arrow functions
41
+ var p1 = ([a]) => { };
42
+ >p1 : ([a]: [any]) => void
43
+ >([a]) => { } : ([a]: [any]) => void
44
+ >a : any
45
+
46
+ var p2 = ([...a]) => { };
47
+ >p2 : ([...a]: Iterable<any>) => void
48
+ >([...a]) => { } : ([...a]: Iterable<any>) => void
49
+ >a : any[]
50
+
51
+ var p3 = ([, a]) => { };
52
+ >p3 : ([, a]: [any, any]) => void
53
+ >([, a]) => { } : ([, a]: [any, any]) => void
54
+ >a : any
55
+
56
+ var p4 = ([, ...a]) => { };
57
+ >p4 : ([, ...a]: Iterable<any>) => void
58
+ >([, ...a]) => { } : ([, ...a]: Iterable<any>) => void
59
+ >a : any[]
60
+
61
+ var p5 = ([a = 1]) => { };
62
+ >p5 : ([a = 1]: [number]) => void
63
+ >([a = 1]) => { } : ([a = 1]: [number]) => void
64
+ >a : number
65
+
66
+ var p6 = ({ a }) => { };
67
+ >p6 : ({ a }: { a: any; }) => void
68
+ >({ a }) => { } : ({ a }: { a: any; }) => void
69
+ >a : any
70
+
71
+ var p7 = ({ a: { b } }) => { };
72
+ >p7 : ({ a: { b } }: { a: { b: any; }; }) => void
73
+ >({ a: { b } }) => { } : ({ a: { b } }: { a: { b: any; }; }) => void
74
+ >a : unknown
75
+ >b : any
76
+
77
+ var p8 = ({ a = 1 }) => { };
78
+ >p8 : ({ a = 1 }: { a?: number; }) => void
79
+ >({ a = 1 }) => { } : ({ a = 1 }: { a?: number; }) => void
80
+ >a : number
81
+
82
+ var p9 = ({ a: { b = 1 } = { b: 1 } }) => { };
83
+ >p9 : ({ a: { b = 1 } = { b: 1 } }: { a?: { b: number; }; }) => void
84
+ >({ a: { b = 1 } = { b: 1 } }) => { } : ({ a: { b = 1 } = { b: 1 } }: { a?: { b: number; }; }) => void
85
+ >a : unknown
86
+ >b : number
87
+ >{ b: 1 } : { b: number; }
88
+ >b : number
89
+
90
+ var p10 = ([{ value, done }]) => { };
91
+ >p10 : ([{ value, done }]: [{ value: any; done: any; }]) => void
92
+ >([{ value, done }]) => { } : ([{ value, done }]: [{ value: any; done: any; }]) => void
93
+ >value : any
94
+ >done : any
95
+
0 commit comments