import { IHtmlEngineHelper , IHandlebarsOptions } from './html-engine-helper.interface' ; export class CompareHelper implements IHtmlEngineHelper { public helperFunc ( context , a , operator , b , options ) { if ( arguments . length < 4 ) { throw new Error ( 'handlebars Helper {{compare}} expects 4 arguments' ) ; } let result ; switch ( operator ) { case 'indexof' : result = b . indexOf ( a ) !== - 1 ; break ; case '===' : result = a === b ; break ; case '!==' : result = a !== b ; break ; case '>' : result = a > b ; break ; default : { throw new Error ( 'helper {{compare}}: invalid operator: `' + operator + '`' ) ; } } if ( result === false ) { return options . inverse ( context ) ; } return options . fn ( context ) ; } }