26 lines
592 B
JavaScript
26 lines
592 B
JavaScript
var t = require("../../types");
|
|
|
|
exports.BlockStatement =
|
|
exports.Program = function (node) {
|
|
var kinds = {};
|
|
var kind;
|
|
|
|
for (var i in node._declarations) {
|
|
var declar = node._declarations[i];
|
|
|
|
kind = declar.kind || "var";
|
|
var declarNode = t.variableDeclarator(declar.id, declar.init);
|
|
|
|
if (!declar.init) {
|
|
kinds[kind] = kinds[kind] || [];
|
|
kinds[kind].push(declarNode);
|
|
} else {
|
|
node.body.unshift(t.variableDeclaration(kind, [declarNode]));
|
|
}
|
|
}
|
|
|
|
for (kind in kinds) {
|
|
node.body.unshift(t.variableDeclaration(kind, kinds[kind]));
|
|
}
|
|
};
|