Skip to content

jonschlinkert/helper-cache

Repository files navigation

helper-cache NPM version NPM monthly downloads NPM total downloads Linux Build Status

Easily register and get helper functions to be passed to any template engine or node.js application. Methods for both sync and async helpers.

Table of Contents

(TOC generated by verb using markdown-toc)

Install

Install with npm:

$ npm install --save helper-cache

Install with yarn:

$ yarn add helper-cache

API

Create an instance of HelperCache with the given options.

Params

  • options {Object}

Example

var App = require('helper-cache');
var app = new App();

Register a helper.

Params

  • name {String}
  • fn {Function}
  • returns {Object}: Retuns the instance of HelperCache for chaining.

Example

app.helper('uppercase', function(str) {
  return str.toUpperCase();
});

Get a helper.

Params

  • name {String}
  • fn {Function}
  • returns {Object}: Retuns the instance of HelperCache for chaining.

Example

app.helper('uppercase', function(str) {
  return str.toUpperCase();
});

Register a sync template helper fn as name.

Params

  • name {String}
  • fn {Function}
  • returns {Object}: Retuns the instance of HelperCache for chaining.

Example

app.helper('uppercase', function(str) {
  return str.toUpperCase();
});

Register multiple sync helpers at once.

Params

  • helpers {Object}: Array of globs, file paths or key-value pair helper objects.
  • returns {Object}: Retuns the instance of HelperCache for chaining.

Example

app.helpers({
  foo: function() {},
  bar: function() {},
  baz: function() {}
});

Register an async template helper fn as name.

Params

  • name {String}
  • fn {Function}
  • returns {Object}: Retuns the instance of HelperCache for chaining.

Example

app.asyncHelper('uppercase', function(str) {
  return str.toUpperCase();
});

Register multiple async helpers at once.

Params

  • helpers {Object}: Array of globs, file paths or key-value pair helper objects.
  • returns {Object}: Retuns the instance of HelperCache for chaining.

Example

app.asyncHelpers({
  foo: function() {},
  bar: function() {},
  baz: function() {}
});

Namespace a collection of sync helpers on the given prop.

Params

  • helpers {Object|Array}: Object, array of objects, or glob patterns.

Example

app.group('mdu', require('markdown-utils'));
// Usage: '<%= mdu.heading("My heading") %>'

Namespace a collection of async helpers on the given prop.

Params

  • helpers {Object|Array}: Object, array of objects, or glob patterns.

Example

app.asyncGroup('mdu', require('markdown-utils'));
// Usage: '<%= mdu.heading("My heading") %>'

Load helpers.

Params

  • helpers {Object}: Array of globs, file paths or key-value pair helper objects.
  • returns {Object}: Retuns the instance of HelperCache for chaining.

Example

app.load({
  foo: function() {},
  bar: function() {},
  baz: function() {}
});

About

Related projects

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Building docs

(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)

To generate the readme, run the following command:

$ npm install -g verbose/verb#dev verb-generate-readme && verb

Running tests

Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:

$ npm install && npm test

Author

Jon Schlinkert

License

Copyright © 2017, Jon Schlinkert. Released under the MIT License.


This file was generated by verb-generate-readme, v0.5.0, on April 20, 2017.

About

Simple, easy-to-use cache for storing helper functions.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published