Paginate Prisma
A TS plugin wrapping pagination for Prisma ORM. Old Owner: @flexper
Install
pnpm i paginate-prisma
Use
import { paginate, PAGINATION_ORDER } from 'paginate-prisma';
const prisma = new PrismaClient();
await paginate(prisma.user)(
{},
{
sort: {
field: 'tokens._count',
order: PAGINATION_ORDER.ASC,
},
}
);
For type-graphql integration, check example/type.ts
API
paginate(prismaModel)(query, sortingOptions, additionalFindMany)
Options
Field Name | Type | Description |
---|
prismaModel | Prisma Model | Prisma model/table/entity to use |
sortingOptions | PaginationOptions | Options to use for pagination (Page, sorting, etc) |
additionalFindMany | Prisma FindManyArgument | Other params in findMany as include, cursor, etc |
Return Promise<PaginationResult & {data: T[]}>
Field Name | Type | Description |
---|
data | T[] | Paginated Data |
page | number | Current page |
pages | number | Total number of pages |
limit | number | Number of row to be returned |
items | number | Total number of items |
Test
To test this package, you need to run a PostgresSQL server :
docker-compose up -d
chmod -R 777 docker
pnpm prisma migrate deploy
pnpm test
Maintain
This package use TSdx. Please check documentation to update this package.