Consider rest params for array pattern in exports.
This commit is contained in:
parent
06f67e1ad3
commit
b608e28aa7
@ -321,15 +321,15 @@ export default function () {
|
|||||||
for (let i = 0; i < id.node.elements.length; i++) {
|
for (let i = 0; i < id.node.elements.length; i++) {
|
||||||
let elem = id.node.elements[i];
|
let elem = id.node.elements[i];
|
||||||
if (!elem) continue;
|
if (!elem) continue;
|
||||||
if (!t.isRestElement(elem)) {
|
if (t.isAssignmentPattern(elem)) {
|
||||||
if (t.isAssignmentPattern(elem)) {
|
elem = elem.left;
|
||||||
elem = elem.left;
|
} else if (t.isRestElement(elem)) {
|
||||||
}
|
elem = elem.argument;
|
||||||
const name = elem.name;
|
|
||||||
addTo(exports, name, elem);
|
|
||||||
exportsToInsert.push(buildExportsAssignment(elem, elem));
|
|
||||||
nonHoistedExportNames[name] = true;
|
|
||||||
}
|
}
|
||||||
|
const name = elem.name;
|
||||||
|
addTo(exports, name, elem);
|
||||||
|
exportsToInsert.push(buildExportsAssignment(elem, elem));
|
||||||
|
nonHoistedExportNames[name] = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
path.insertAfter(exportsToInsert);
|
path.insertAfter(exportsToInsert);
|
||||||
|
|||||||
@ -0,0 +1 @@
|
|||||||
|
export const [foo, bar = 2] = [];
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
const [foo, bar = 2] = [];
|
||||||
|
exports.foo = foo;
|
||||||
|
exports.bar = bar;
|
||||||
@ -0,0 +1 @@
|
|||||||
|
export const [foo, bar, ...baz] = [];
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
const [foo, bar, ...baz] = [];
|
||||||
|
exports.foo = foo;
|
||||||
|
exports.bar = bar;
|
||||||
|
exports.bar = baz;
|
||||||
@ -1 +1 @@
|
|||||||
export const [foo, bar = 2] = [1];
|
export const [foo, bar] = [];
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
const [foo, bar = 2] = [1];
|
const [foo, bar] = [];
|
||||||
exports.foo = foo;
|
exports.foo = foo;
|
||||||
exports.bar = bar;
|
exports.bar = bar;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user