async-helpers
Use async helpers in templates with engines that typically only handle sync helpers. Handlebars and Lodash have been tested.
Install with npm
npm i async-helpers --save
Usage
var asyncHelpers = require('async-helpers');
API
Create a new instance of AsyncHelpers
returns
{Object}: new AsyncHelpers instance
Example
var asyncHelpers = new AsyncHelpers();
Add a helper to the cache.
Params
name
{String}: Name of the helperfn
{Function}: Helper functionreturns
{Object}: Returns this
for chaining
Example
asyncHelpers.set('upper', function (str, cb) {
cb(null, str.toUpperCase());
});
Get all helpers or a helper with the given name.
Params
name
{String}: Optionally pass in a name of a helper to get.options
{Object}: Additional options to use.returns
{Function|Object}: Single helper function when name
is provided, otherwise object of all helpers
Example
var helpers = asyncHelpers.get();
var wrappedHelpers = helperAync.get({wrap: true});
Wrap a helper with async handling capibilities.
Params
name
{String}: Optionally pass the name of the helper to wrapreturns
{Function|Object}: Single wrapped helper function when name
is provided, otherwise object of all wrapped helpers.
Example
var wrappedHelper = asyncHelpers.wrap('upper');
var wrappedHelpers = asyncHelpers.wrap();
Reset all the stashed helpers.
returns
{Object}: Returns this
to enable chaining
Example
asyncHelpers.reset();
Resolve a stashed helper by the generated id.
Params
key
{String}: ID generated when from executing a wrapped helper.cb
{Function}: Callback function with the results of executing the async helper.
Example
var upper = asyncHelpers.get('upper', {wrap: true});
var id = upper('doowb');
asyncHelpers.resolve(id, function (err, result) {
console.log(result);
});
Related projects
Run tests
Install dev dependencies:
npm i -d && npm test
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
Author
Brian Woodward
License
Copyright (c) 2015 Brian Woodward
Released under the MIT license.
This file was generated by verb-cli on April 25, 2015.