Skip to content

Instantly share code, notes, and snippets.

View elmeunick9's full-sized avatar

Robert Planas elmeunick9

  • Barcelona, Catalunya
View GitHub Profile
@elmeunick9
elmeunick9 / HandlebarsUnleashed.js
Last active April 11, 2023 10:45
Get logic into your templates
// Usage: {{#if (isdefined x)}} ... {{/if}}
Handlebars.registerHelper('isdefined', function (value) {
return value !== undefined;
})
// Read as: Equals
// Usage: {{#if (eq x y)}} ... x == y ... {{/if}}
// Usage: {{#if (eq 1 x y z)}} ... 1 == x && x == y && y == z [x, y and z ara all 1] ... {{/if}}
Handlebars.registerHelper('eq', function (...args) {
return args.slice(0, -1).map((x: any, i: number, v: any[]) => x == v[i+1]).slice(0, -1).every(x => x)