handlebars-subexpression-helpers

1.0.9 • Public • Published

handlebars-subexpression-helpers

Some simple yet useful subexpression helpers for handlebars

From the Handlebars docs:

Handlebars offers support for subexpressions, which allows you to invoke multiple helpers within a single mustache, and pass in the results of inner helper invocations as arguments to outer helpers. Subexpressions are delimited by parentheses.
{{outer-helper (inner-helper 'abc') 'def'}}
In this case, inner-helper will get invoked with the string argument 'abc', and whatever the inner-helper function returns will get passed in as the first argument to outer-helper (and 'def' will get passed in as the second argument to outer-helper.

To make your life easier I created a set of simple and useful helpers for Handlebars which can exclusively be used as subexpression-helpers.

Usage

Node.js

npm install handlebars-subexpression-helpers

Then you just need to require the module and pass your Handlebars instance to the .register() method:

var Handlebars = require('handlebars');
require('handlebars-subexpression-helpers').register(Handlebars);

Done. Now you can use all of the included helpers.

<p>Manuel – Status: {{#if (isEqual user.status 'unconfirmed') }} Not yet activated {{else}} Active {{/if}}</p>

If you don't need all helpers you can also require single helpers. All of them export a register() method which expect your Handlebars instance to be passed:

var Handlebars = require('handlebars');
require("handlebars-subexpression-helpers/dist/lib/helpers/is-array").register(Handlebars);
require("handlebars-subexpression-helpers/dist/lib/helpers/typeof").register(Handlebars);

List of helpers

For a complete list, have a look at dist/lib/helpers.

While the filename is separated by dashes, the helper name itself is camelCase. So is-array.js can be used as isArray for example.

Readme

Keywords

Package Sidebar

Install

npm i handlebars-subexpression-helpers

Weekly Downloads

1

Version

1.0.9

License

MIT

Last publish

Collaborators

  • manuelbieh