Comparison Helpers

Visit the: code | unit tests

comparison

{and}

Helper that renders the block if both of the given values are truthy. If an inverse block is specified it will be rendered when falsy. Works as a block helper, inline helper or subexpression.

Params

  • a any
  • b any
  • options Object: Handlebars provided options object
  • returns String

Example


{{#and great magnificent}}A{{else}}B{{/and}}

{compare}

Render a block when a comparison of the first and third arguments returns true. The second argument is the arithemetic operator to use. You may also optionally specify an inverse block to render when falsy.

Params

  • a
  • operator : The operator to use. Operators must be enclosed in quotes: ">", "=", "<=", and so on.
  • b
  • options Object: Handlebars provided options object
  • returns String: Block, or if specified the inverse block is rendered if falsey.

{contains}

Block helper that renders the block if collection has the given value, using strict equality (===) for comparison, otherwise the inverse block is rendered (if specified). If a startIndex is specified and is negative, it is used as the offset from the end of the collection.

Params

  • collection Array|Object|String: The collection to iterate over.
  • value any: The value to check for.
  • [startIndex=0] Number: Optionally define the starting index.
  • options Object: Handlebars provided options object.

Example


{{#contains array "d"}}
  This will not be rendered.
{{else}}
  This will be rendered.
{{/contains}}

{{default}}

Returns the first value that is not undefined, otherwise the default value is returned.

Params

  • value any
  • defaultValue any
  • returns String

{eq}

Block helper that renders a block if a is equal to b. If an inverse block is specified it will be rendered when falsy. You may optionally use the compare="" hash argument for the second value.

Params

  • a String
  • b String
  • options Object: Handlebars provided options object
  • returns String: Block, or inverse block if specified and falsey.

{gt}

Block helper that renders a block if a is greater than b.

If an inverse block is specified it will be rendered when falsy. You may optionally use the compare="" hash argument for the second value.

Params

  • a String
  • b String
  • options Object: Handlebars provided options object
  • returns String: Block, or inverse block if specified and falsey.

{gte}

Block helper that renders a block if a is greater than or equal to b.

If an inverse block is specified it will be rendered when falsy. You may optionally use the compare="" hash argument for the second value.

Params

  • a String
  • b String
  • options Object: Handlebars provided options object
  • returns String: Block, or inverse block if specified and falsey.

{has}

Block helper that renders a block if value has pattern. If an inverse block is specified it will be rendered when falsy.

Params

  • val any: The value to check.
  • pattern any: The pattern to check for.
  • options Object: Handlebars provided options object
  • returns String

{isFalsey}

Returns true if the given value is falsey. Uses the falsey library for comparisons. Please see that library for more information or to report bugs with this helper.

Params

  • val any
  • options Options
  • returns Boolean

{isTruthy}

Returns true if the given value is truthy. Uses the falsey library for comparisons. Please see that library for more information or to report bugs with this helper.

Params

  • val any
  • options Options
  • returns Boolean

{ifEven}

Return true if the given value is an even number.

Params

  • number Number
  • options Object: Handlebars provided options object
  • returns String: Block, or inverse block if specified and falsey.

Example

{{#ifEven value}}
  render A
{{else}}
  render B
{{/ifEven}}

{ifNth}

Conditionally renders a block if the remainder is zero when a operand is divided by b. If an inverse block is specified it will be rendered when the remainder is not zero.

Params

  • : Number
  • : Number
  • options Object: Handlebars provided options object
  • returns String: Block, or inverse block if specified and falsey.

{ifOdd}

Block helper that renders a block if value is an odd number. If an inverse block is specified it will be rendered when falsy.

Params

  • value Object
  • options Object: Handlebars provided options object
  • returns String: Block, or inverse block if specified and falsey.

Example

{{#ifOdd value}}
  render A
{{else}}
  render B
{{/ifOdd}}

{{is}}

Block helper that renders a block if a is equal to b. If an inverse block is specified it will be rendered when falsy. Similar to eq but does not do strict equality.

Params

  • a any
  • b any
  • options Object: Handlebars provided options object
  • returns String

{{isnt}}

Block helper that renders a block if a is not equal to b. If an inverse block is specified it will be rendered when falsy. Similar to unlessEq but does not use strict equality for comparisons.

Params

  • a String
  • b String
  • options Object: Handlebars provided options object
  • returns String

{{lt}}

Block helper that renders a block if a is less than b.

If an inverse block is specified it will be rendered when falsy. You may optionally use the compare="" hash argument for the second value.

Params

  • context Object
  • options Object: Handlebars provided options object
  • returns String: Block, or inverse block if specified and falsey.

{{lte}}

Block helper that renders a block if a is less than or equal to b.

If an inverse block is specified it will be rendered when falsy. You may optionally use the compare="" hash argument for the second value.

Params

  • a Sring
  • b Sring
  • options Object: Handlebars provided options object
  • returns String: Block, or inverse block if specified and falsey.

{{neither}}

Block helper that renders a block if neither of the given values are truthy. If an inverse block is specified it will be rendered when falsy.

Params

  • a any
  • b any
  • options : Handlebars options object
  • returns String: Block, or inverse block if specified and falsey.

{{not}}

Returns true if val is falsey. Works as a block or inline helper.

Params

  • val String
  • options Object: Handlebars provided options object
  • returns String

{{or}}

Block helper that renders a block if any of the given values is truthy. If an inverse block is specified it will be rendered when falsy.

Params

  • args any: Variable number of arguments
  • options Object: Handlebars options object
  • returns String: Block, or inverse block if specified and falsey.

Example

{{#or a b c}}
  If any value is true this will be rendered.
{{/or}}

{unlessEq}

Block helper that always renders the inverse block unless a is is equal to b.

Params

  • a String
  • b String
  • options Object: Handlebars provided options object
  • returns String: Inverse block by default, or block if falsey.

{unlessGt}

Block helper that always renders the inverse block unless a is is greater than b.

Params

  • a Object: The default value
  • b Object: The value to compare
  • options Object: Handlebars provided options object
  • returns String: Inverse block by default, or block if falsey.

{unlessLt}

Block helper that always renders the inverse block unless a is is less than b.

Params

  • a Object: The default value
  • b Object: The value to compare
  • options Object: Handlebars provided options object
  • returns String: Block, or inverse block if specified and falsey.

{unlessGteq}

Block helper that always renders the inverse block unless a is is greater than or equal to b.

Params

  • a any
  • b any
  • options Object: Handlebars provided options object
  • returns String: Block, or inverse block if specified and falsey.

{unlessLteq}

Block helper that always renders the inverse block unless a is is less than or equal to b.

Params

  • a any
  • b any
  • options Object: Handlebars provided options object
  • returns String: Block, or inverse block if specified and falsey.