1 |
|
2 | var lib = require('./src/lib');
|
3 | var env = require('./src/environment');
|
4 | var compiler = require('./src/compiler');
|
5 | var parser = require('./src/parser');
|
6 | var lexer = require('./src/lexer');
|
7 | var runtime = require('./src/runtime');
|
8 | var Loader = require('./src/loader');
|
9 | var loaders = require('./src/loaders');
|
10 | var precompile = require('./src/precompile');
|
11 |
|
12 | module.exports = {};
|
13 | module.exports.Environment = env.Environment;
|
14 | module.exports.Template = env.Template;
|
15 |
|
16 | module.exports.Loader = Loader;
|
17 | module.exports.FileSystemLoader = loaders.FileSystemLoader;
|
18 | module.exports.WebLoader = loaders.WebLoader;
|
19 |
|
20 | module.exports.compiler = compiler;
|
21 | module.exports.parser = parser;
|
22 | module.exports.lexer = lexer;
|
23 | module.exports.runtime = runtime;
|
24 |
|
25 |
|
26 |
|
27 | var e;
|
28 | module.exports.configure = function(templatesPath, opts) {
|
29 | opts = opts || {};
|
30 | if(lib.isObject(templatesPath)) {
|
31 | opts = templatesPath;
|
32 | templatesPath = null;
|
33 | }
|
34 |
|
35 | var noWatch = 'watch' in opts ? !opts.watch : false;
|
36 | var loader = loaders.FileSystemLoader || loaders.WebLoader;
|
37 | e = new env.Environment(new loader(templatesPath, noWatch), opts);
|
38 |
|
39 | if(opts && opts.express) {
|
40 | e.express(opts.express);
|
41 | }
|
42 |
|
43 | return e;
|
44 | };
|
45 |
|
46 | module.exports.compile = function(src, env, path, eagerCompile) {
|
47 | if(!e) {
|
48 | module.exports.configure();
|
49 | }
|
50 | return new module.exports.Template(src, env, path, eagerCompile);
|
51 | };
|
52 |
|
53 | module.exports.render = function(name, ctx, cb) {
|
54 | if(!e) {
|
55 | module.exports.configure();
|
56 | }
|
57 |
|
58 | return e.render(name, ctx, cb);
|
59 | };
|
60 |
|
61 | module.exports.renderString = function(src, ctx, cb) {
|
62 | if(!e) {
|
63 | module.exports.configure();
|
64 | }
|
65 |
|
66 | return e.renderString(src, ctx, cb);
|
67 | };
|
68 |
|
69 | if(precompile) {
|
70 | module.exports.precompile = precompile.precompile;
|
71 | module.exports.precompileString = precompile.precompileString;
|
72 | }
|