UNPKG

opennms

Version:

Client API for the OpenNMS network monitoring platform

83 lines (66 loc) 2.13 kB
import {OnmsEnum} from '../internal/OnmsEnum'; /** * Represents a filter comparator. * @category Filtering */ export class Comparator extends OnmsEnum<number> { /** Find the comparator that matches the given comparator string. */ public static find(comparator: string) { for (const key of Object.keys(Comparators)) { const comp = Comparators[key]; if (comp.matches(comparator)) { return comp; } } return null; } /** Aliases for the command-line. */ private aliases = [] as string[]; constructor(id: number, label: string, ...aliases: string[]) { super(id, label); this.aliases = aliases; } /** Whether this comparator matches the given comparator string. */ public matches(comparator: string) { const compareTo = comparator.toUpperCase(); return (compareTo === this.label.toUpperCase()) || this.aliases.indexOf(compareTo) >= 0; } } /* eslint-disable */ /** * Contains constant instances of all available comparators. * @category Filtering */ export const Comparators = { /** Equals (`=` or `==`) */ EQ: new Comparator(1, 'EQ', '=', '=='), /** Not Equals (`!=`) */ NE: new Comparator(2, 'NE', '!='), /** Case-Insensitive Substring Match (`ILIKE`) */ ILIKE: new Comparator(3, 'ILIKE'), /** Case-Sensitive Substring Match (`LIKE`) */ LIKE: new Comparator(4, 'LIKE'), /** Greater Than (`>`) */ GT: new Comparator(5, 'GT', '>'), /** Less Than (`<`) */ LT: new Comparator(6, 'LT', '<'), /** Greater Than or Equal To (`>=`) */ GE: new Comparator(7, 'GE', '>='), /** Less Than or Equal To (`<=`) */ LE: new Comparator(8, 'LE', '<='), /** Is Null (`NULL`) */ NULL: new Comparator(9, 'NULL', 'ISNULL'), /** Is Not Null (`NOTNULL`) */ NOTNULL: new Comparator(10, 'NOTNULL'), /* ALL: new Comparator(9, 'ALL'), ANY: new Comparator(10, 'ANY'), BETWEEN: new Comparator(15, 'BETWEEN'), NOT: new Comparator(14, 'NOT'), IN: new Comparator(13, 'IN'), IPLIKE: new Comparator(17, 'IPLIKE'), SQL: new Comparator(16, 'SQL'), */ } as { [key: string]: Comparator }; Object.freeze(Comparators);