dustjs-onload-context
v0.2.0
Published
Extend dustjs onLoad to accept rendering context
Downloads
2
Readme
dustjs-onload-context
extends dustjs to support dust.onLoad
callbacks which accept the current rendering context as the second
parameter. This can be useful when it's necessary to resolve templates based on state in the render context.
Example
'use strict';
var dust = require('dustjs-linkedin'),
contextify = require('dustjs-onload-context');
var undo = contextify(dust);
dust.onLoad = function (name, context, cb) {
var str;
// context.get('foo');
// do stuff ...
cb(null, str);
};
NOTE: The
dustjs-linkedin
module is required, but is not an explicit dependency of this module.
Usage
To enable support for the context
argument, simply require dustjs-onload-context
and invoke the exported function
(which will decorate dustjs). Then, you can assign a function which accepts three arguments to the onLoad
dust property.
Functions assigned to onLoad
which only accept 2 arguments are considered a noop and are treated the same as the
original dust onLoad
API.
To revert dust back to its original functional, this module returns a function once invoked. Invoking this function will
revert dust and onLoad
to their original behavior.
var contextify = require('dustjs-onload-context');
contextify(dust, [onload]); // See below for supported options
Options
dust
(Object) the dustjs module to be decoratedonload
(Function, optional) Provides an alternateonLoad
implementation to use instead ofdust.onLoad
. This could be useful for scenarios in which one wants to intercept calls to the default onLoad behavior, modify context and delegate to the default onLoad defined elsewhere in the application.
Tests
$ npm test
Coverage
$ npm run-script cover && open coverage/lcov-report/index.html
```