You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
687 B
TypeScript
27 lines
687 B
TypeScript
let fs = require('fs')
|
|
let Mustache = require('mustache')
|
|
import {FileUtils} from './fileutils'
|
|
|
|
interface TemplateCallbackType {
|
|
(rendered: string[]): void
|
|
}
|
|
|
|
function loadTemplate(filename: string, objs: object[], cb: TemplateCallbackType) {
|
|
let fu = new FileUtils();
|
|
let path = fu.getPathToView(filename);
|
|
fs.readFile(path, 'utf8', (err, contents) => {
|
|
if (err) throw err;
|
|
let results: string[] = []
|
|
for (let i = 0, l = objs.length; i < l; i++) {
|
|
let obj = objs[i]
|
|
let rendered = Mustache.render(contents, obj)
|
|
results.push(rendered)
|
|
}
|
|
cb(results)
|
|
})
|
|
|
|
}
|
|
|
|
module.exports = {loadTemplate}
|
|
|