Skip to content

Commit

Permalink
Use arrayWithoutHoles helper
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolo-ribaudo committed Jun 9, 2021
1 parent 87c5f03 commit 4d927de
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 10 deletions.
12 changes: 4 additions & 8 deletions packages/babel-plugin-transform-spread/src/index.js
Expand Up @@ -21,13 +21,7 @@ export default declare((api, options) => {
}

function hasHole(spread) {
const elements = spread.elements;
for (let i = 0; i < elements.length; i++) {
if (elements[i] === null) {
return true;
}
}
return false;
return spread.elements.some(el => el === null);
}

function hasSpread(nodes) {
Expand All @@ -53,12 +47,14 @@ export default declare((api, options) => {
if (t.isSpreadElement(prop)) {
_props = push(_props, nodes);
let spreadLiteral = getSpreadLiteral(prop, scope);

if (t.isArrayExpression(spreadLiteral) && hasHole(spreadLiteral)) {
spreadLiteral = t.callExpression(
file.addHelper("toConsumableArray"),
file.addHelper("arrayWithoutHoles"),
[spreadLiteral],
);
}

nodes.push(spreadLiteral);
} else {
_props.push(prop);
Expand Down
@@ -1,2 +1,2 @@
var a = babelHelpers.toConsumableArray(['a',, 'b']);
var b = ['a'].concat(babelHelpers.toConsumableArray(['b',, 'c']));
var a = babelHelpers.arrayWithoutHoles(['a',, 'b']);
var b = ['a'].concat(babelHelpers.arrayWithoutHoles(['b',, 'c']));

0 comments on commit 4d927de

Please sign in to comment.