Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 0196947

Browse filesBrowse files
committed
Improve nested destructuring test for ESNext emit
Now with object destructuring inside array destructuring inside object destructuring! Each with their own array/object rest! Also updates baselines.
1 parent 214ce38 commit 0196947
Copy full SHA for 0196947

4 files changed

+99-7Lines changed: 99 additions & 7 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎tests/baselines/reference/objectRestAssignment.js‎

Copy file name to clipboardExpand all lines: tests/baselines/reference/objectRestAssignment.js
+19-7Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ let other: number;
55
let rest: { };
66
let complex: { x: { ka, ki }, y: number };
77
({x: { ka, ...nested }, y: other, ...rest} = complex);
8+
9+
// should be:
10+
let overEmit: { a: { ka: string, x: string }[], b: { z: string, ki: string, ku: string }, ke: string, ko: string };
11+
12+
// var _g = overEmit.a, [_h, ...y] = _g, nested2 = __rest(_h, []), _j = overEmit.b, { z } = _j, c = __rest(_j, ["z"]), rest2 = __rest(overEmit, ["a", "b"]);
13+
var { a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit;
14+
({ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit);
815

916

1017
//// [objectRestAssignment.js]
@@ -14,10 +21,15 @@ var __rest = (this && this.__rest) || function (s, e) {
1421
t[p] = s[p];
1522
return t;
1623
};
17-
var ka;
18-
var nested;
19-
var other;
20-
var rest;
21-
var complex;
22-
(_a = complex.x, (ka = _a.ka, _a), nested = __rest(_a, ["ka"]), (other = complex.y, complex), rest = __rest(complex, ["x", "y"]), complex);
23-
var _a;
24+
let ka;
25+
let nested;
26+
let other;
27+
let rest;
28+
let complex;
29+
(_a = complex.x, { ka } = _a, nested = __rest(_a, ["ka"]), { y: other } = complex, rest = __rest(complex, ["x", "y"]), complex);
30+
// should be:
31+
let overEmit;
32+
// var _g = overEmit.a, [_h, ...y] = _g, nested2 = __rest(_h, []), _j = overEmit.b, { z } = _j, c = __rest(_j, ["z"]), rest2 = __rest(overEmit, ["a", "b"]);
33+
var _b = overEmit.a, [_c, ...y] = _b, nested2 = __rest(_c, []), _d = overEmit.b, { z } = _d, c = __rest(_d, ["z"]), rest2 = __rest(overEmit, ["a", "b"]);
34+
(_e = overEmit.a, [_f, ...y] = _e, nested2 = __rest(_f, []), _g = overEmit.b, { z } = _g, c = __rest(_g, ["z"]), rest2 = __rest(overEmit, ["a", "b"]), overEmit);
35+
var _a, _e, _f, _g;
Collapse file

‎tests/baselines/reference/objectRestAssignment.symbols‎

Copy file name to clipboardExpand all lines: tests/baselines/reference/objectRestAssignment.symbols
+31Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,34 @@ let complex: { x: { ka, ki }, y: number };
2626
>other : Symbol(other, Decl(objectRestAssignment.ts, 2, 3))
2727
>complex : Symbol(complex, Decl(objectRestAssignment.ts, 4, 3))
2828

29+
// should be:
30+
let overEmit: { a: { ka: string, x: string }[], b: { z: string, ki: string, ku: string }, ke: string, ko: string };
31+
>overEmit : Symbol(overEmit, Decl(objectRestAssignment.ts, 8, 3))
32+
>a : Symbol(a, Decl(objectRestAssignment.ts, 8, 15))
33+
>ka : Symbol(ka, Decl(objectRestAssignment.ts, 8, 20))
34+
>x : Symbol(x, Decl(objectRestAssignment.ts, 8, 32))
35+
>b : Symbol(b, Decl(objectRestAssignment.ts, 8, 47))
36+
>z : Symbol(z, Decl(objectRestAssignment.ts, 8, 52))
37+
>ki : Symbol(ki, Decl(objectRestAssignment.ts, 8, 63))
38+
>ku : Symbol(ku, Decl(objectRestAssignment.ts, 8, 75))
39+
>ke : Symbol(ke, Decl(objectRestAssignment.ts, 8, 89))
40+
>ko : Symbol(ko, Decl(objectRestAssignment.ts, 8, 101))
41+
42+
// var _g = overEmit.a, [_h, ...y] = _g, nested2 = __rest(_h, []), _j = overEmit.b, { z } = _j, c = __rest(_j, ["z"]), rest2 = __rest(overEmit, ["a", "b"]);
43+
var { a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit;
44+
>a : Symbol(a, Decl(objectRestAssignment.ts, 8, 15))
45+
>nested2 : Symbol(nested2, Decl(objectRestAssignment.ts, 11, 11))
46+
>y : Symbol(y, Decl(objectRestAssignment.ts, 11, 25))
47+
>b : Symbol(b, Decl(objectRestAssignment.ts, 8, 47))
48+
>z : Symbol(z, Decl(objectRestAssignment.ts, 11, 37))
49+
>c : Symbol(c, Decl(objectRestAssignment.ts, 11, 40))
50+
>rest2 : Symbol(rest2, Decl(objectRestAssignment.ts, 11, 48))
51+
>overEmit : Symbol(overEmit, Decl(objectRestAssignment.ts, 8, 3))
52+
53+
({ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit);
54+
>a : Symbol(a, Decl(objectRestAssignment.ts, 12, 2))
55+
>y : Symbol(y, Decl(objectRestAssignment.ts, 11, 25))
56+
>b : Symbol(b, Decl(objectRestAssignment.ts, 12, 29))
57+
>z : Symbol(z, Decl(objectRestAssignment.ts, 12, 34))
58+
>overEmit : Symbol(overEmit, Decl(objectRestAssignment.ts, 8, 3))
59+
Collapse file

‎tests/baselines/reference/objectRestAssignment.types‎

Copy file name to clipboardExpand all lines: tests/baselines/reference/objectRestAssignment.types
+41Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,44 @@ let complex: { x: { ka, ki }, y: number };
3232
>rest : any
3333
>complex : { x: { ka: any; ki: any; }; y: number; }
3434

35+
// should be:
36+
let overEmit: { a: { ka: string, x: string }[], b: { z: string, ki: string, ku: string }, ke: string, ko: string };
37+
>overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; }
38+
>a : { ka: string; x: string; }[]
39+
>ka : string
40+
>x : string
41+
>b : { z: string; ki: string; ku: string; }
42+
>z : string
43+
>ki : string
44+
>ku : string
45+
>ke : string
46+
>ko : string
47+
48+
// var _g = overEmit.a, [_h, ...y] = _g, nested2 = __rest(_h, []), _j = overEmit.b, { z } = _j, c = __rest(_j, ["z"]), rest2 = __rest(overEmit, ["a", "b"]);
49+
var { a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit;
50+
>a : any
51+
>nested2 : { ka: string; x: string; }
52+
>y : { ka: string; x: string; }[]
53+
>b : any
54+
>z : string
55+
>c : { ki: string; ku: string; }
56+
>rest2 : { ke: string; ko: string; }
57+
>overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; }
58+
59+
({ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit);
60+
>({ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit) : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; }
61+
>{ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; }
62+
>{ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } : { ke: string; ko: string; a: { ka: string; x: string; }[]; b: { ki: string; ku: string; z: string; }; }
63+
>a : { ka: string; x: string; }[]
64+
>[{ ...nested2 }, ...y] : { ka: string; x: string; }[]
65+
>{ ...nested2 } : { ka: string; x: string; }
66+
>nested2 : any
67+
>...y : { ka: string; x: string; }
68+
>y : { ka: string; x: string; }[]
69+
>b : { ki: string; ku: string; z: string; }
70+
>{ z, ...c } : { ki: string; ku: string; z: string; }
71+
>z : string
72+
>c : any
73+
>rest2 : any
74+
>overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; }
75+
Collapse file
+8Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
1+
// @target: es2015
12
let ka: any;
23
let nested: { ki };
34
let other: number;
45
let rest: { };
56
let complex: { x: { ka, ki }, y: number };
67
({x: { ka, ...nested }, y: other, ...rest} = complex);
8+
9+
// should be:
10+
let overEmit: { a: { ka: string, x: string }[], b: { z: string, ki: string, ku: string }, ke: string, ko: string };
11+
12+
// var _g = overEmit.a, [_h, ...y] = _g, nested2 = __rest(_h, []), _j = overEmit.b, { z } = _j, c = __rest(_j, ["z"]), rest2 = __rest(overEmit, ["a", "b"]);
13+
var { a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit;
14+
({ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit);

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.