forked from babel/babel
/
output.js
51 lines (44 loc) · 852 Bytes
/
output.js
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
var key, x, y, z; // impure
key = 1;
var _$a = {
1: 1,
a: 1
},
_key = key++,
{
[_key]: y
} = _$a,
x = babelHelpers.objectWithoutProperties(_$a, [_key].map(babelHelpers.toPropertyKey));
expect(x).toEqual({
a: 1
});
expect(key).toBe(2);
expect(y).toBe(1); // takes care of the order
key = 1;
var _$ = {
2: 2,
3: 3
},
_key2 = ++key,
_key3 = ++key,
{
[_key2]: y,
[_key3]: z
} = _$,
rest = babelHelpers.objectWithoutProperties(_$, [_key2, _key3].map(babelHelpers.toPropertyKey));
expect(y).toBe(2);
expect(z).toBe(3); // pure, computed property should remain as-is
key = 2;
var _$z = {
2: "two",
z: "zee"
};
({
[key]: y,
z
} = _$z);
x = babelHelpers.objectWithoutProperties(_$z, [key, "z"].map(babelHelpers.toPropertyKey));
_$z;
expect(y).toBe("two");
expect(x).toEqual({});
expect(z).toBe("zee");