Skip to content
Snippets Groups Projects
pretty-operator.pipe.ts 1.10 KiB
import { Pipe, PipeTransform } from '@angular/core';

/*
 * Translate ANIS string operator to a pretty form label operator
 * Do not takes argument.
 * Usage:
 *   operator | prettyOperator
 * Example:
 *   {{ eq | prettyOperator }}
 *   formats to: =
*/
@Pipe({ name: 'prettyOperator' })
export class PrettyOperatorPipe implements PipeTransform {
    transform(operator: string): string {
        return this.getPrettyOperator(operator);
    }

    getPrettyOperator(operator: string): string {
        switch (operator) {
            case 'eq':
                return '=';
            case 'neq':
                return '≠';
            case 'gt':
                return '>';
            case 'gte':
                return '>=';
            case 'lt':
                return '<';
            case 'lte':
                return '<=';
            case 'lk':
                return 'like';
            case 'nlk':
                return 'not like';
            case 'in':
                return 'in';
            case 'nin':
                return 'not in';
            default:
                return operator;
        }
    }
}