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.
24 lines
703 B
JavaScript
24 lines
703 B
JavaScript
import type { NodePath } from "babel-traverse";
|
|
import { visitors } from "babel-traverse";
|
|
|
|
import * as destructuring from "./destructuring";
|
|
import * as def from "./default";
|
|
import * as rest from "./rest";
|
|
|
|
export default function () {
|
|
return {
|
|
visitor: visitors.merge([{
|
|
ArrowFunctionExpression(path) {
|
|
// default/rest visitors require access to `arguments`
|
|
let params: Array<NodePath> = path.get("params");
|
|
for (let param of params) {
|
|
if (param.isRestElement() || param.isAssignmentPattern()) {
|
|
path.arrowFunctionToShadowed();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}, destructuring.visitor, rest.visitor, def.visitor])
|
|
};
|
|
}
|