Yamato Daiwa Handlebars Extensions
Some helpers for the Handlebars template engine.
Usage
Each helper function of this package has been wrapped by the object.
Most of these objects has single key/value pair where the key is the name of the helper function and the
value is the helper function itself.
For example, areStringsEqual
helper function has been wrapped to AreStringsEqualHandlebarsHelper
object,
where the areStringsEqual
is the key.
To register the helpers such this one, use the spread operator:
import { create as initializeHandlebarsTemplateEngine } from "express-handlebars";
import {
AreStringsEqualHandlebarsHelper,
IsEmptyObjectHandlebarsHelper,
IsNonEmptyObjectHandlebarsHelper
} from "@yamato-daiwa/handlebars-extensions";
const handlebarsTemplateEngine = initializeHandlebarsTemplateEngine({
helpers: {
...AreStringsEqualHandlebarsHelper,
...IsEmptyObjectHandlebarsHelper,
...IsNonEmptyObjectHandlebarsHelper
}
});
Why it is impossible to export just the function itself without object wrapper?
Because if to export, for example, the areStringsEquals
as
export { areStringsEquals } from "@yamato-daiwa/handlebars-extensions"
it is unclear outside the Handlebars files that areStringsEquals
is the helper function indented to be used in the
Handlebars, not the common function which could be safely used in normal TypeScript/JavaScript.