grunt-zuckrig-closure
Version:
Reduce a verbose syntax for Google Closure Compiler to be more Pythonic/Rubistic.
25 lines (17 loc) • 652 B
JavaScript
var ConstructorHook, Extractor, Parser, TokenBuilder, Writer, esprima;
esprima = require('esprima');
Parser = require('../tasks/Parser');
Writer = require('../tasks/Writer');
ConstructorHook = require('../tasks/ConstructorHook');
Extractor = require('../tasks/Extractor');
TokenBuilder = require('../tasks/TokenBuilder');
module.exports.zuckrig = function(source) {
var ctor_hook, fixed, parser, tokens, writer;
parser = new Parser(source);
tokens = parser.parse();
ctor_hook = new ConstructorHook(new Extractor(), new TokenBuilder());
ctor_hook.fix(tokens);
writer = new Writer();
fixed = writer.write(tokens);
return fixed;
};