simplify amd module formatter

This commit is contained in:
Sebastian McKenzie
2014-10-20 01:40:23 +11:00
parent b8a80364df
commit e263757509
13 changed files with 17 additions and 66 deletions

View File

@@ -18,22 +18,18 @@ AMDFormatter.prototype.transform = function (ast) {
// build an array of module names
var names = [];
var names = [b.literal("exports")];
_.each(this.ids, function (id, name) {
names.push(b.literal(name));
});
names = b.arrayExpression(names);
// add exports
body.unshift(b.variableDeclaration("var", [
b.variableDeclarator(b.identifier("exports"), b.objectExpression([]))
]));
body.push(b.returnStatement(b.identifier("exports")));
// build up define container
var container = b.functionExpression(null, _.values(this.ids), b.blockStatement(body));
var params = _.values(this.ids);
params.unshift(b.identifier("exports"));
var container = b.functionExpression(null, params, b.blockStatement(body));
var call = b.callExpression(b.identifier("define"), [names, container]);
program.body = [b.expressionStatement(call)];