duster/src/js/dustjs_shim.js

30 lines
662 B
JavaScript
Raw Normal View History

var dust = require('dustjs-linkedin');
var fs = require('fs');
var argv = process.argv.slice(2);
if (argv.length != 1) {
console.error("Expecting only 1 argument (a path to a template)");
process.exit(1);
}
var context = JSON.parse(fs.readFileSync(0, 'utf-8'));
try {
var template_source = fs.readFileSync(argv[0], 'utf-8');
} catch (err) {
console.error(err);
process.exit(1);
}
var compiled_template = dust.compile(template_source, "tmpl");
dust.loadSource(compiled_template);
dust.render("tmpl", context, function(err, out) {
if(err) {
console.error(err);
process.exit(1);
} else {
console.log(out);
process.exit(0);
}
});