* 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>
40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
const { x15: [...{ ...y15 }] } = z();
|
|
|
|
let {
|
|
x: { a: xa, [d]: f, ...asdf },
|
|
y: { ...d },
|
|
...g
|
|
} = complex;
|
|
|
|
let { x4: { ...y4 } } = z();
|
|
|
|
let { x5: { w5, ...y5 } } = z();
|
|
let { x6: { w6: { a6, ...y6 } } } = z();
|
|
let { x7: { e7, r7 }, q7: { w7: { a7, ...y7 } } } = z();
|
|
let { x8, ...y8 } = z();
|
|
let { x9: { w9: { a9, ...y9 } }, x10: { a10, ...y10 }, } = z();
|
|
let { x11: [{ w11, ...z11 }] } = z();
|
|
let { x12: [{ a12, b12 }, { c12, ...d12 }] } = z();
|
|
let { x13: [, { c13, ...d13 }] } = z();
|
|
const { x14: [...{ q14, ...y14 }] } = z();
|
|
const { x15: [...{ ...y16 }] } = z();
|
|
const { x16: [] } = z();
|
|
const [...[ ...y17 ]] = z();
|
|
const [...{ ...y18 }] = z();
|
|
const [...{ a19, ...y19 }] = z();
|
|
const { x20: { ...y20 } = { } } = z();
|
|
const { x22: { q22, ...y22 } = {} } = z();
|
|
const [[ ...y23 ] = []] = z();
|
|
const [{ ...y24 } = []] = z();
|
|
const { x25: [ ...y25 ] = []} = z();
|
|
const { x26: [ q26, ...y26 ] = []} = z();
|
|
const {} = {};
|
|
const [,,x27] = z();
|
|
const {x28: [,,{...y28}]} = z();
|
|
const {x29: [,,{q29, ...y29}]} = z();
|
|
const [,,{y30, ...x30}] = z();
|
|
const [,,{...x31}] = z();
|
|
const { x32: { }, w32: { ...y32 } } = z();
|
|
const [,,{}, {...q32}] = z();
|
|
const { ...y33 } = z();
|