Add support for dynamic template options v1x #155
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a duplicate of #154 - but for the v1.x branch
This also installs
lodash
, so that we have access to the_.merge
function used to join the local template options with the global ones.Currently template options are global for a single ExpressHbs instance. They are set through the updateTemplateOptions method.
This PR adds support for "local" template options so that they can be configured on a request by request basis.
The renderTemplate function now reads the _templateOptions property from res.locals and merges those with the global template options before passing them to the template to be rendered.
There are 2 new methods on ExpressHbs to abstract over getting and setting the _templateOptions property on a locals object - so it can be changed in the future.