UNPKG

1.37 kBJavaScriptView Raw
1'use strict'
2var path = require('path')
3var XTemplate = require('xtemplate')
4var XTemplateRuntime = require('xtemplate/lib/runtime')
5var cache = require('./cache')
6
7var util = XTemplateRuntime.util
8
9// ====================================================== //
10// ================= Utilities functions ================ //
11// ====================================================== //
12
13function getInstance (options) {
14 return new XTemplate({
15 name: options.name,
16 extname: options.extname,
17 loader: {
18 cache: {},
19 load: function (tpl, callback) {
20 console.log(tpl)
21 }
22 }
23 })
24}
25
26// ====================================================== //
27// =================== Public methods =================== //
28// ====================================================== //
29
30function config () {
31 XTemplate.config.apply(arguments)
32}
33
34function addCommand () {
35 XTemplate.addCommand.apply(arguments)
36}
37
38function removeCommand () {
39 XTemplate.removeCommand.apply(arguments)
40}
41
42function render (name, data, options, callback) {
43 options = options || {}
44 name = path.normalize(name)
45 options.name = name
46 var engine = getInstance(options)
47 return engine.render(data, { commands: options.commands }, callback)
48}
49
50module.exports = {
51 config: config,
52 addCommand: addCommand,
53 removeCommand: removeCommand,
54 render: render,
55 XTemplate: XTemplate
56}