Skip to content

Ember HTMLBars Helpers for {{if}} & {{unless}}: not, and, or, eq & is-array

License

Notifications You must be signed in to change notification settings

cph/ember-truth-helpers

 
 

Repository files navigation

Ember Truth Helpers Build Status

HTMLBars template helpers for additional truth logic in if and unless statements.

Compatibility

  • Ember.js v3.16 or above
  • Ember CLI v2.13 or above
  • Node.js v10 or above

Installation

ember install ember-truth-helpers

Usage

Helper JavaScript HTMLBars Variable argument count allowed
eq if (a === b) {{if (eq a b)}} No
not-eq if (a !== b) {{if (not-eq a b)}} No
not if (!a) {{if (not a)}} Yes
and if (a && b)* {{if (and a b)}} Yes
or if (a || b) * {{if (or a b)}}     Yes
xor if (a && !b || !a && b)* {{if (xor a b)}} No
gt if (a > b) {{if (gt a b)}} No
gte if (a >= b) {{if (gte a b)}} No
lt if (a < b) {{if (lt a b)}} No
lte if (a <= b) {{if (lte a b)}} No
is-array if (Ember.isArray(a)) {{if (is-array a)}} Yes
is-empty if (Ember.isEmpty(a)) {{if (is-empty a)}} No
is-equal if (Ember.isEqual(a, b)) {{if (is-equal a b)}} No
* Unlike their JavaScript counterparts, these expressions do not short circuit. For example, with (or a b), even if a is truthy, b will still be evaluated. See this explanation.

API

is-equal

is-equal uses Ember.isEqual helper to evaluate equality of two values. eq should be sufficient for most applications. is-equal is necessary when trying to compare a complex object to a primitive value.

Other Helpers

Contributing

See the Contributing guide for details.

License

This project is licensed under the MIT License.

About

Ember HTMLBars Helpers for {{if}} & {{unless}}: not, and, or, eq & is-array

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 95.2%
  • HTML 4.6%
  • Handlebars 0.2%