/// import ejs = require("ejs"); import { readFileSync as read } from 'fs'; import LRU = require("lru-cache"); import { TemplateFunction, Options } from "ejs"; const fileName = 'test.ejs'; const people = ['geddy', 'neil', 'alex']; const data = { people }; const template = '<%= people.join(", "); %>'; const options = { filename: fileName }; let result: string; let ejsFunction: TemplateFunction; const SimpleCallback = (err: any, html?: string) => { if (err) { return null; } return html; }; result = ejs.render(template); result = ejs.render(template, data); result = ejs.render(template, data, options); result = ejs.renderFile(fileName, SimpleCallback); result = ejs.renderFile(fileName, data, SimpleCallback); result = ejs.renderFile(fileName, data, options, SimpleCallback); ejsFunction = ejs.compile(''); ejsFunction = ejs.compile(read(fileName, "utf8")); ejsFunction = ejs.compile(template); ejsFunction = ejs.compile(template, options); ejsFunction = ejs.compile(template, { cache: true, filename: fileName }); ejsFunction = ejs.compile(template, { cache: true, filename: fileName, root: "./" }); ejsFunction = ejs.compile(template, { context: { foo: 'FOO' } }); ejsFunction = ejs.compile(template, { compileDebug: false }); ejsFunction = ejs.compile(template, { client: true }); ejsFunction = ejs.compile('<$= people.join(", "); $>', { delimiter: '$' }); ejsFunction = ejs.compile('<%= locals.people.join(", "); %>', { _with: false }); ejsFunction = ejs.compile('<%= locals.people.join(", "); %>', { strict: true }); ejsFunction = ejs.compile('<%= it.people.join(", "); %>', { _with: false, localsName: "it" }); ejsFunction = ejs.compile(template, { rmWhitespace: true }); const customEscape = (str: string) => !str ? '' : str.toUpperCase(); ejsFunction = ejs.compile(template, { escape: customEscape }); result = ejsFunction(); result = ejsFunction({}); result = ejsFunction(data); /** @see https://github.com/mde/ejs/tree/v2.5.7#custom-fileloader */ ejs.fileLoader = (path: string) => ""; /** @see https://github.com/mde/ejs/tree/v2.5.7#caching */ ejs.clearCache(); ejs.cache = LRU(100); /** @see https://github.com/mde/ejs/tree/v2.5.7#custom-delimiters */ ejs.delimiter = "%"; delete ejs.delimiter;