* Add test case demonstrating invalid behavior * Add conditional check for child properties so RHS is not duplicated * Add recursive check to find any nested non single-property case * Add case for array destructuring * Add test case for a nested rest element * More safely recurse through array destructuring * Traverse assignment and nested rest operations * Refactor to be more clear which case statement we are executing against * Update missed snapshots * Update packages/babel-plugin-proposal-object-rest-spread/src/index.js Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com> * Filter null array elements, add early return, remove optional chaining * Use stronger type assertions * Update fall through to be false; add early return to RestElement case * Move hasMoreThanOneBinding to its own file with distinct tests * Rename testing helper to more appropriately match business logic * Yarn Dedup & rename hasMoreThanOneBinding to shouldStoreRHSInTemporaryVariable Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
177 lines
3.0 KiB
JavaScript
177 lines
3.0 KiB
JavaScript
const _z = z(),
|
|
{} = _z,
|
|
y15 = babelHelpers.extends({}, _z.x15);
|
|
|
|
let {
|
|
x: {
|
|
a: xa,
|
|
[d]: f
|
|
}
|
|
} = complex,
|
|
asdf = babelHelpers.objectWithoutProperties(complex.x, ["a", d].map(babelHelpers.toPropertyKey)),
|
|
d = babelHelpers.extends({}, complex.y),
|
|
g = babelHelpers.objectWithoutProperties(complex, ["x"]);
|
|
|
|
let _z2 = z(),
|
|
{} = _z2,
|
|
y4 = babelHelpers.extends({}, _z2.x4);
|
|
|
|
let _z3 = z(),
|
|
{
|
|
x5: {
|
|
w5
|
|
}
|
|
} = _z3,
|
|
y5 = babelHelpers.objectWithoutProperties(_z3.x5, ["w5"]);
|
|
|
|
let _z4 = z(),
|
|
{
|
|
x6: {
|
|
w6: {
|
|
a6
|
|
}
|
|
}
|
|
} = _z4,
|
|
y6 = babelHelpers.objectWithoutProperties(_z4.x6.w6, ["a6"]);
|
|
|
|
let _z5 = z(),
|
|
{
|
|
x7: {
|
|
e7,
|
|
r7
|
|
},
|
|
q7: {
|
|
w7: {
|
|
a7
|
|
}
|
|
}
|
|
} = _z5,
|
|
y7 = babelHelpers.objectWithoutProperties(_z5.q7.w7, ["a7"]);
|
|
|
|
let _z6 = z(),
|
|
{
|
|
x8
|
|
} = _z6,
|
|
y8 = babelHelpers.objectWithoutProperties(_z6, ["x8"]);
|
|
|
|
let _z7 = z(),
|
|
{
|
|
x9: {
|
|
w9: {
|
|
a9
|
|
}
|
|
},
|
|
x10: {
|
|
a10
|
|
}
|
|
} = _z7,
|
|
y9 = babelHelpers.objectWithoutProperties(_z7.x9.w9, ["a9"]),
|
|
y10 = babelHelpers.objectWithoutProperties(_z7.x10, ["a10"]);
|
|
|
|
let _z8 = z(),
|
|
{
|
|
x11: [{
|
|
w11
|
|
}]
|
|
} = _z8,
|
|
z11 = babelHelpers.objectWithoutProperties(_z8.x11, ["w11"]);
|
|
|
|
let _z9 = z(),
|
|
{
|
|
x12: [{
|
|
a12,
|
|
b12
|
|
}, {
|
|
c12
|
|
}]
|
|
} = _z9,
|
|
d12 = babelHelpers.objectWithoutProperties(_z9.x12, ["c12"]);
|
|
|
|
let _z10 = z(),
|
|
{
|
|
x13: [, {
|
|
c13
|
|
}]
|
|
} = _z10,
|
|
d13 = babelHelpers.objectWithoutProperties(_z10.x13, ["c13"]);
|
|
|
|
const _z11 = z(),
|
|
{
|
|
x14: [...{
|
|
q14
|
|
}]
|
|
} = _z11,
|
|
y14 = babelHelpers.objectWithoutProperties(_z11.x14, ["q14"]);
|
|
|
|
const _z12 = z(),
|
|
{} = _z12,
|
|
y16 = babelHelpers.extends({}, _z12.x15);
|
|
|
|
const {
|
|
x16: []
|
|
} = z();
|
|
const [...[...y17]] = z();
|
|
const [..._ref] = z();
|
|
const y18 = babelHelpers.extends({}, _ref);
|
|
const [..._ref2] = z();
|
|
const {
|
|
a19
|
|
} = _ref2,
|
|
y19 = babelHelpers.objectWithoutProperties(_ref2, ["a19"]);
|
|
|
|
const _z13 = z(),
|
|
{} = _z13,
|
|
y20 = babelHelpers.extends({}, _z13.x20);
|
|
|
|
const _z14 = z(),
|
|
{
|
|
x22: {
|
|
q22
|
|
} = {}
|
|
} = _z14,
|
|
y22 = babelHelpers.objectWithoutProperties(_z14.x22, ["q22"]);
|
|
|
|
const [[...y23] = []] = z();
|
|
const [_ref3 = []] = z();
|
|
const y24 = babelHelpers.extends({}, _ref3);
|
|
const {
|
|
x25: [...y25] = []
|
|
} = z();
|
|
const {
|
|
x26: [q26, ...y26] = []
|
|
} = z();
|
|
const {} = {};
|
|
const [,, x27] = z();
|
|
|
|
const _z15 = z(),
|
|
{} = _z15,
|
|
y28 = babelHelpers.extends({}, _z15.x28);
|
|
|
|
const _z16 = z(),
|
|
{
|
|
x29: [,, {
|
|
q29
|
|
}]
|
|
} = _z16,
|
|
y29 = babelHelpers.objectWithoutProperties(_z16.x29, ["q29"]);
|
|
|
|
const [,, _ref4] = z();
|
|
const {
|
|
y30
|
|
} = _ref4,
|
|
x30 = babelHelpers.objectWithoutProperties(_ref4, ["y30"]);
|
|
const [,, _ref5] = z();
|
|
const x31 = babelHelpers.extends({}, _ref5);
|
|
|
|
const _z17 = z(),
|
|
{
|
|
x32: {}
|
|
} = _z17,
|
|
y32 = babelHelpers.extends({}, _z17.w32);
|
|
|
|
const [,, {}, _ref6] = z();
|
|
const q32 = babelHelpers.extends({}, _ref6);
|
|
|
|
const _z18 = z(),
|
|
y33 = babelHelpers.extends({}, _z18);
|