No unneeded empty arrays in transform spread (#6763)

* No unneeded empty arrays in transform spread

Since Array.prototype.concat creates a new array from inputs, there's
no need to call it from a new empty array ([].concat()).

* [fixup] simplify detection of new array
This commit is contained in:
Anatoli Papirovski
2017-11-09 14:51:56 -05:00
committed by Henry Zhu
parent 617d35245f
commit aefbb1380e
7 changed files with 10 additions and 10 deletions

View File

@@ -52,11 +52,11 @@ export default function(api, options) {
if (!hasSpread(elements)) return;
const nodes = build(elements, scope, state);
let first = nodes.shift();
const first = nodes.shift();
if (!t.isArrayExpression(first)) {
nodes.unshift(first);
first = t.arrayExpression([]);
if (nodes.length === 0 && first !== elements[0].argument) {
path.replaceWith(first);
return;
}
path.replaceWith(