protoc-gen-ts-alt
Version:
Generate d.ts definitions for generated js files from grpc_tools_node_protoc
43 lines • 1.63 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const LibFs = require("fs");
const LibPath = require("path");
const handlebars = require("handlebars");
const helpers = require("handlebars-helpers");
const ejs = require("ejs");
const Utility_1 = require("./Utility");
helpers({ handlebars: handlebars });
handlebars.registerHelper('curlyLeft', function () {
return '{';
});
handlebars.registerHelper('curlyRight', function () {
return '}';
});
handlebars.registerHelper('render', function (templateName, params) {
return TplEngine.render(templateName, params);
});
const TPL_BASE_PATH = LibPath.join(__dirname, 'template');
const templateCache = {};
var TplEngine;
(function (TplEngine) {
function registerHelper(name, fn) {
handlebars.registerHelper(name, fn);
}
TplEngine.registerHelper = registerHelper;
function render(templateName, params) {
const template = templateCache[templateName] ||
(templateCache[templateName] = compile(templateName));
return template(Object.assign({}, params, { render,
Utility: Utility_1.Utility }));
}
TplEngine.render = render;
function compile(templateName) {
const path = LibPath.join(TPL_BASE_PATH, templateName);
if (LibFs.existsSync(`${path}.ejs`)) {
return ejs.compile(LibFs.readFileSync(`${path}.ejs`).toString());
}
return handlebars.compile(LibFs.readFileSync(`${path}.hbs`).toString());
}
TplEngine.compile = compile;
})(TplEngine = exports.TplEngine || (exports.TplEngine = {}));
//# sourceMappingURL=TplEngine.js.map
;