@equantic/linq
Version:
eQuantic Linq for JavaScript
45 lines (44 loc) • 1.27 kB
JavaScript
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;