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
var asyncHelpers = new AsyncHelpers();
Add a helper to the cache.
name
{String}: Name of the helperfn
{Function}: Helper functionreturns
{Object}: Returns this
for chaining
asyncHelpers.set('upper', function (str, cb) {
cb(null, str.toUpperCase());
});
Get all helpers or a helper with the given name.
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
var helpers = asyncHelpers.get();
var wrappedHelpers = helperAync.get({wrap: true});
Wrap a helper with async handling capibilities.
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.
var wrappedHelper = asyncHelpers.wrap('upper');
var wrappedHelpers = asyncHelpers.wrap();
Reset all the stashed helpers.
returns
{Object}: Returns this
to enable chaining
asyncHelpers.reset();
Resolve a stashed helper by the generated id.
key
{String}: ID generated when from executing a wrapped helper.cb
{Function}: Callback function with the results of executing the async helper.
var upper = asyncHelpers.get('upper', {wrap: true});
var id = upper('doowb');
asyncHelpers.resolve(id, function (err, result) {
console.log(result);
});
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 22, 2015.