diff options
Diffstat (limited to 'node_modules/@babel/plugin-transform-block-scoping/lib/loop.js')
| -rw-r--r-- | node_modules/@babel/plugin-transform-block-scoping/lib/loop.js | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/node_modules/@babel/plugin-transform-block-scoping/lib/loop.js b/node_modules/@babel/plugin-transform-block-scoping/lib/loop.js index 0c0a17f8..be02e92c 100644 --- a/node_modules/@babel/plugin-transform-block-scoping/lib/loop.js +++ b/node_modules/@babel/plugin-transform-block-scoping/lib/loop.js @@ -190,17 +190,14 @@ function wrapLoopBody(loopPath, captured, updatedBindingsUsages) { varNames.push(...Object.keys(_core.types.getBindingIdentifiers(decl.id))); if (decl.init) { assign.push(_core.types.assignmentExpression("=", decl.id, decl.init)); - } - } - if (assign.length > 0) { - let replacement = assign.length === 1 ? assign[0] : _core.types.sequenceExpression(assign); - if (!_core.types.isForStatement(varPath.parent, { - init: varPath.node - }) && !_core.types.isForXStatement(varPath.parent, { + } else if (_core.types.isForXStatement(varPath.parent, { left: varPath.node })) { - replacement = _core.types.expressionStatement(replacement); + assign.push(decl.id); } + } + if (assign.length > 0) { + const replacement = assign.length === 1 ? assign[0] : _core.types.sequenceExpression(assign); varPath.replaceWith(replacement); } else { varPath.remove(); |
