Skip to content
Ember HTMLBars Helpers for {{if}} & {{unless}}: not, and, or, eq & is-array
JavaScript HTML
Branch: master
Clone or download

Ember Truth Helpers Build Status

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


ember install ember-truth-helpers


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.



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



  • git clone
  • cd ember-truth-helpers
  • yarn


  • yarn lint:hbs
  • yarn lint:js
  • yarn lint:js -- --fix

Running tests

  • ember test – Runs the test suite on the current Ember version
  • ember test --server – Runs the test suite in "watch mode"
  • ember try:each – Runs the test suite against multiple Ember versions

Running the dummy application

For more information on using ember-cli, visit


This project is licensed under the MIT License.

You can’t perform that action at this time.