summaryrefslogtreecommitdiff
path: root/node_modules/@babel/plugin-transform-block-scoping/lib/loop.js
diff options
context:
space:
mode:
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.js13
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();