53 lines
932 B
JavaScript
53 lines
932 B
JavaScript
const a = {
|
|
"3": "three",
|
|
"foo": "bar"
|
|
};
|
|
const {
|
|
[3]: omit
|
|
} = a,
|
|
rest = babelHelpers.objectWithoutProperties(a, ["3"]);
|
|
assert.deepEqual(rest, {
|
|
"foo": "bar"
|
|
});
|
|
assert.equal(omit, "three");
|
|
const [k1, k2, k3, k4, k5] = [null, undefined, true, false, {
|
|
toString() {
|
|
return "warrior";
|
|
}
|
|
|
|
}];
|
|
const c = {
|
|
[k1]: "1",
|
|
[k2]: "2",
|
|
[k3]: "3",
|
|
[k4]: "4",
|
|
[k5]: "5"
|
|
};
|
|
const {
|
|
[k1]: v1,
|
|
[k2]: v2,
|
|
[k3]: v3,
|
|
[k4]: v4,
|
|
[k5]: v5
|
|
} = c,
|
|
vrest = babelHelpers.objectWithoutProperties(c, [k1, k2, k3, k4, k5].map(babelHelpers.toPropertyKey));
|
|
assert.equal(v1, "1");
|
|
assert.equal(v2, "2");
|
|
assert.equal(v3, "3");
|
|
assert.equal(v4, "4");
|
|
assert.equal(v5, "5");
|
|
assert.deepEqual(vrest, {}); // shouldn't convert symbols to strings
|
|
|
|
const sx = Symbol();
|
|
const sy = Symbol();
|
|
const d = {
|
|
[sx]: "sx",
|
|
[sy]: "sy"
|
|
};
|
|
const {
|
|
[sx]: dx,
|
|
[sy]: dy
|
|
} = d;
|
|
assert.equal(dx, "sx");
|
|
assert.equal(dy, "sy");
|