52 lines
862 B
JavaScript

var key, x, y, z; // impure
key = 1;
var _$a = {
1: 1,
a: 1
},
_ref = key++,
{
[_ref]: y
} = _$a,
x = babelHelpers.objectWithoutProperties(_$a, [_ref].map(babelHelpers.toPropertyKey));
assert.deepEqual({
a: 1
}, x);
assert.equal(key, 2);
assert.equal(1, y); // takes care of the order
key = 1;
var _$ = {
2: 2,
3: 3
},
_ref2 = ++key,
_ref3 = ++key,
{
[_ref2]: y,
[_ref3]: z
} = _$,
rest = babelHelpers.objectWithoutProperties(_$, [_ref2, _ref3].map(babelHelpers.toPropertyKey));
assert.equal(y, 2);
assert.equal(z, 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;
assert.equal(y, "two");
assert.deepEqual(x, {});
assert.equal(z, "zee");