move transformers over to using ast-types when constructing new nodes

This commit is contained in:
Sebastian McKenzie
2014-10-01 11:01:49 +10:00
parent 91737fc84b
commit 05c037d2d4
12 changed files with 95 additions and 138 deletions

View File

@@ -1,4 +1,5 @@
var util = require("../util");
var b = require("ast-types").builders;
var _ = require("lodash");
exports.ImportDeclaration = function (node) {
@@ -35,15 +36,22 @@ exports.ExportDeclaration = function (node) {
_.each(node.specifiers, function (specifier) {
var variableName = specifier.name || specifier.id;
if (specifier.type === "ExportBatchSpecifier") {
nodes.push(util.template("exports-wildcard", {
MODULE_NAME: node.source
}, true));
if (node.source) {
if (specifier.type === "ExportBatchSpecifier") {
nodes.push(util.template("exports-wildcard", {
MODULE_NAME: node.source
}, true));
} else {
nodes.push(util.template("exports-require-assign-key", {
VARIABLE_NAME: variableName.name,
MODULE_NAME: node.source,
KEY: specifier.id
}, true));
}
} else {
nodes.push(util.template("exports-require-assign-key", {
VARIABLE_NAME: variableName.name,
MODULE_NAME: node.source,
KEY: specifier.id.name
nodes.push(util.template("exports-assign", {
VALUE: specifier.id,
KEY: specifier.id
}, true));
}
});
@@ -61,10 +69,7 @@ exports.ExportDeclaration = function (node) {
_.each(declar.declarations, function (declar) {
nodes.push(util.template("exports-alias-var", {
STRING_KEY: {
type: "Literal",
value: declar.id.name
},
STRING_KEY: b.literal(declar.id.name),
KEY: declar.id
}, true));
});