New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

rsql-filter

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rsql-filter

Implementation of RSQL adapter for NodeJs ORM like TypeORM

latest
Source
npmnpm
Version
1.1.7
Version published
Maintainers
1
Created
Source

RSQL Filter

Rslq-filter is a library that offers an effortless way to dynamically filter entities for Node.js ORM. At moment is aviable for TypeORM and Prisma.

Getting started

Install rsql-filter

npm i rsql-filter

Usage

In case of TypeOrm:

import {EntityManager, QueryBuilder } from 'typeorm';
import { User, Phone } from './entities';
import { rsqlTypeOrmFilter } from "rsql-filter";


async function findAllUsers(userId: number, filter: string): Promise<User> {
  const queryBuilder = entityManager.createQueryBuilder(User);
  queryBuilder.leftJoinAndSelect("q.phone","phone")
  rsqlTypeOrmFilter(filter, queryBuilder)
  return queryBuilder.getMany();
}

In case of Prisma:


async function findAllUsers(filter) {
    return this.prisma.user.findMany(where: {rsqlPrismaFilter<UserWhereInput>(filter) })

}

The filter parameter could contain the RSQL language string, passed by the frontend, needed for the desired filter. You can use https://www.npmjs.com/package/rsql-filter-builder as frontend builder.

Operations

The list of supported RSQL operations:

OperationMeaning
==Equals
>Greater
>=Greater than
<Less
<=less than
!=Not Equals
=in=in list
=out=not in list
;AND
,OR

Example

In case of TypeOrm


//Equals operation
rsqlTypeOrmFilter("name==Larry", queryBuilder)

//Like operation
rsqlTypeOrmFilter("name==*arry", queryBuilder)

//Less than operation
rsqlTypeOrmFilter("age<=5", queryBuilder)

//In list operation
rsqlTypeOrmFilter("age=in=(5,7,8) ", queryBuilder)

//Complex query
rsqlTypeOrmFilter("name==Larry;(lastName==Mason,(latName==Richmond;age>=20));adress=='4567 Evergreen Terrace'", queryBuilder)

//on one to many
rsqlTypeOrmFilter("name==Larry;phone.number==789107890", queryBuilder)


In case of Prisma



rsqlPrismaFilter<UserWhereInput>("name==Larry")


//on one to many or many to many is necessary to put - character before the property name.
rsqlPrismaFilter("name==Larry;-RelProjectOwner.projectId  != 'project1'")


Keywords

RSQL

FAQs

Package last updated on 07 Feb 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts