rsql-filter-builder
v1.3.3
Published
Implementation of RSQL filter builder for NodeJs
Downloads
344
Readme
RSQL Filter builder
Rslq-filter is a library to build RSQL query string in typescript.
Getting started
Install rsql filter builder
npm i rsql-filter-builderUsage
import { RSQLFilter } from "rsql-filter-builder";
search() {
const filter: string = RSQLFilter.new().equals('name','jhon').and().lessThan('age', 50).value();
}
//nested operation
search() {
const filter: string = RSQLFilter.new().equals('name','jhon').and(
RSQLFilter.new().gratherTan('age', 10).or().lessTahn('age',50).value()
).value();
}Shortcuts
It is possibile to use a less verbose operator:
search() {
const filter: string = RSQLFilter.new()
.equals('name','jhon')
.andLessThan('age', 50)
.orLikeAll('lastName', 'Gle')
.value();
}
Iterate
It is possibile to iterate a specific condition:
import { RSQLFilter, Operator } from "rsql-filter-builder";
search() {
const valueSplit = value?.split(' ');
const filter = RSQLFilter.new()
.iterate({
valueList: valueSplit,
operation: userSearch,
operator: Operator.OR
})
};
const userSearch = (val: any) => {
return RSQLFilter.new()
.equals('name','jhon')
.andLessThan('age', 50)
.orLikeAll('lastName', 'Gle')
.value();
};
Extending RSQL builder
export class Filter extends RSQLFilter {
//New operation
exist(prop: string, value: any) {
return this.operation(prop, value, '=ex=')
}
}
