toffee
Version:
A NodeJs and browser-side templating language based on CoffeeScript with slicker tokens and syntax.
104 lines (86 loc) • 2.67 kB
JavaScript
// Generated by CoffeeScript 1.12.7
(function() {
var __express, cacheless_engine, e, engine, getCommonHeaders, getCommonHeadersJs, ref, to_express, view;
engine = require('./lib/engine').engine;
ref = require('./lib/view'), view = ref.view, getCommonHeaders = ref.getCommonHeaders, getCommonHeadersJs = ref.getCommonHeadersJs;
exports.engine = engine;
exports.view = view;
exports.getCommonHeaders = getCommonHeaders;
exports.getCommonHeadersJs = getCommonHeadersJs;
exports.expressEngine = e = new engine({
verbose: false,
prettyPrintErrors: true
});
exports.render = e.run;
cacheless_engine = new engine({
verbose: false,
prettyPrintErrors: true,
cache: false
});
exports.compileStr = function(template_str, options) {
var v;
v = new view(template_str, options);
return function(x) {
return v.run(x);
};
};
to_express = exports.toExpress = function(eng) {
return function(filename, options, cb) {
return eng.run(filename, options, function(err, res) {
if (err) {
if (typeof err === "string") {
err = new Error(err);
}
return cb(err);
} else {
return cb(null, res);
}
});
};
};
__express = exports.__express = to_express(e);
exports.__consolidate_engine_render = function(filename, options, cb) {
var eng;
eng = options.cache ? e : cacheless_engine;
return eng.run(filename, options, function(err, res) {
return cb(err, res);
});
};
exports.str_render = exports.strRender = function(template_str, options, cb) {
var err, ref1, res, v;
v = new view(template_str, options);
ref1 = v.run(options), err = ref1[0], res = ref1[1];
return cb(err, res);
};
exports.compile = require('./lib/view').expressCompile;
exports.configurable_compile = function(source, opts) {
var err, header, output, v;
opts = opts || {};
opts.headers = opts.headers != null ? opts.headers : true;
opts.filename = opts.filename || null;
opts.to_coffee = opts.to_coffee || false;
err = null;
v = new view(source, {
filename: opts.filename,
bundlePath: opts.filename,
browserMode: true
});
if (opts.to_coffee) {
output = v.toCoffee();
} else {
output = v.toJavaScript();
}
if (v.error) {
throw v.error.e;
}
if (opts.headers) {
header = getCommonHeadersJs(true, true, true);
if (opts.coffee) {
output = "`" + header + "`\n\n" + output;
} else {
output = header + "\n;\n" + output;
}
}
return output;
};
}).call(this);