Ember Truth Helpers 
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.