UNPKG

protoc-gen-ts-alt

Version:

Generate d.ts definitions for generated js files from grpc_tools_node_protoc

43 lines 1.63 kB
"use strict"; 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