6.0.0
I'm extremely stupid and didn't commit as I go. To anyone reading this I'm extremely sorry. A lot of these changes are very broad and I plan on releasing Babel 6.0.0 today live on stage at Ember Camp London so I'm afraid I couldn't wait. If you're ever in London I'll buy you a beer (or assorted beverage!) to make up for it, also I'll kiss your feet and give you a back massage, maybe.
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import * as t from "babel-types";
|
||||
|
||||
export let visitor = {
|
||||
Function(path) {
|
||||
let params: Array = path.get("params");
|
||||
|
||||
for (let i = 0; i < params.length; i++) {
|
||||
let param = params[i];
|
||||
if (param.isArrayPattern() || param.isObjectPattern()) {
|
||||
let uid = path.scope.generateUidIdentifier("ref");
|
||||
|
||||
let declar = t.variableDeclaration("let", [
|
||||
t.variableDeclarator(param.node, uid)
|
||||
]);
|
||||
declar._blockHoist = params.length - i;
|
||||
|
||||
path.ensureBlock();
|
||||
path.get("body").unshiftContainer("body", declar);
|
||||
|
||||
param.replaceWith(uid);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user