@compodoc/compodoc
Version:
The missing documentation tool for your Angular application
40 lines (36 loc) • 1.09 kB
text/typescript
import { IHtmlEngineHelper, IHandlebarsOptions } from './html-engine-helper.interface';
export class CompareHelper implements IHtmlEngineHelper {
public helperFunc(
context: any,
a: any,
operator: string,
b: any,
options: IHandlebarsOptions
): string {
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);
}
}