From 27f2918abbc9b15ef2ef8de0a5d67c4a44d2e420 Mon Sep 17 00:00:00 2001 From: Victor Felder Date: Mon, 21 Dec 2015 10:43:59 +0100 Subject: [PATCH] Minor refactoring --- .../src/destructuring.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/babel-plugin-transform-es2015-parameters/src/destructuring.js b/packages/babel-plugin-transform-es2015-parameters/src/destructuring.js index 65f8ed22d7..e3a7e10494 100644 --- a/packages/babel-plugin-transform-es2015-parameters/src/destructuring.js +++ b/packages/babel-plugin-transform-es2015-parameters/src/destructuring.js @@ -6,9 +6,10 @@ export let visitor = { // If there's a rest param, no need to loop through it. Also, we need to // hoist one more level to get `declar` at the right spot. - const hoistTweak = t.isRestElement(params[params.length - 1]) ? 1 : 0; + let hoistTweak = t.isRestElement(params[params.length - 1]) ? 1 : 0; + let outputParamsLength = params.length - hoistTweak; - for (let i = 0; i < params.length - hoistTweak; i++) { + for (let i = 0; i < outputParamsLength; i++) { let param = params[i]; if (param.isArrayPattern() || param.isObjectPattern()) { let uid = path.scope.generateUidIdentifier("ref"); @@ -16,7 +17,7 @@ export let visitor = { let declar = t.variableDeclaration("let", [ t.variableDeclarator(param.node, uid) ]); - declar._blockHoist = params.length - i - hoistTweak; + declar._blockHoist = outputParamsLength - i; path.ensureBlock(); path.get("body").unshiftContainer("body", declar);