UNPKG

express3-dynamic-helpers-patch

Version:
35 lines (28 loc) 846 B
'use strict'; // express 3.x response patch for dynamicHelpers support var response = require('express').response, render = response.render; module.exports = function(app) { // add dynamicHelpers function to app object app.dynamicHelpers = function(helpers) { app._dynamicHelpers = app._dynamicHelpers || {}; for (var key in helpers) { if (helpers.hasOwnProperty(key)) { app._dynamicHelpers[key] = helpers[key]; } } }; }; // patch render function response.render = function() { var locals = {}, dynamicHelpers = this.app._dynamicHelpers; if (dynamicHelpers) { for (var key in dynamicHelpers) { // call every helper and sign result to locals locals[key] = dynamicHelpers[key].call(this.app, this.req, this); } } this.locals(locals); render.apply(this, arguments); };