var templates = {}, hbs = require('express-hbs'), errors = require('../errors'), i18n = require('../i18n'); // ## Template utils // Execute a template helper // All template helpers are register as partial view. templates.execute = function (name, context, options) { var partial = hbs.handlebars.partials[name]; if (partial === undefined) { errors.logAndThrowError(i18n.t('warnings.helpers.template.templateNotFound', {name: name})); return; } // If the partial view is not compiled, it compiles and saves in handlebars if (typeof partial === 'string') { hbs.registerPartial(partial); } return new hbs.handlebars.SafeString(partial(context, options)); }; module.exports = templates;