UNPKG

@equantic/linq

Version:
45 lines (44 loc) 1.27 kB
export class Filtering { column; operator; value; constructor(...args) { this.column = args?.length > 0 ? args[0] : null; this.value = args?.length > 1 ? args[1] : null; this.operator = args?.length > 2 ? args[2] : 'eq'; } toString() { return `${this.column}:${this.operator}(${this.value})`; } static eq(column, value) { return new Filtering(column, value, 'eq'); } static neq(column, value) { return new Filtering(column, value, 'neq'); } static gt(column, value) { return new Filtering(column, value, 'gt'); } static lt(column, value) { return new Filtering(column, value, 'lt'); } static gte(column, value) { return new Filtering(column, value, 'gte'); } static lte(column, value) { return new Filtering(column, value, 'lte'); } static ct(column, value) { return new Filtering(column, value, 'ct'); } static in(column, ...value) { return new Filtering(column, value, 'in'); } static sw(column, value) { return new Filtering(column, value, 'sw'); } static ew(column, value) { return new Filtering(column, value, 'ew'); } } export const F = Filtering;