5.2.1 ⢠Published 2 years ago
prisma-paginate v5.2.1
š prisma-paginate
Install
npm i prisma@>=4.9.0 @prisma/client@>=4.9.0 prisma-paginate@latest
yarn add prisma@>=4.9.0 @prisma/client@>=4.9.0 prisma-paginate@latestprisma/schema.prisma:
generator client {
provider = "prisma-client-js"
previewFeatures = ["clientExtensions"]
}ā ļø These steps no longer required for versions starting from 4.16.0
Documentation and usage
For more details and type definitions see:
http://sandrewtx08.github.io/prisma-paginate/
Importing
// ESM
import { PrismaClient } from "@prisma/client";
import extension from "prisma-paginate";
// Commonjs
const { PrismaClient } = require("@prisma/client");
const { extension } = require("prisma-paginate");Applying extension
const prisma = new PrismaClient();
const xprisma = prisma.$extends(extension);
xprisma.model2
.paginate({ limit: 10, page: 1, select: { id: true } })
.then((result) => {
console.log(result);
});
xprisma.table1
.paginate({ where: { id: 5 } }, { limit: 10, page: 1 })
.then((result) => {
console.log(result);
});Paginating 100 rows
// on database = [ { id: 1 }, { id: 2 }, {...}, { id: 100 } ]
xprisma.model1
.paginate(
{
where: {
// query stuff...
},
},
{ page: 1, limit: 50 },
)
.then((result) => {
console.log(result.result); // [ {...}, { id: 48 }, { id: 49 }, { id: 50 } ]
});Paginating SQL queries
const [{ count }] = await prisma.$queryRawUnsafe<[{ count: bigint }]>(
'SELECT COUNT(*) FROM "Model3";',
);
const pagination = new Pagination(limit, page, Number(count));const data = await prisma.$queryRawUnsafe<unknown[]>(
'SELECT name FROM "Model3" LIMIT $1 OFFSET $2;',
limit,
Pagination.offset(limit, page),
);Parameters
findManyArgs{Object}paginationArgs{Pagination&onCount?(pagination) => void}
findManyPaginationArgs{Object&Pagination}
Return
result{Array}totalPages{Number}hasNextPage{Boolean}hasPrevPage{Boolean}count{Number}nextPage{() => Promise}exceedCount{Boolean}exceedTotalPages{Boolean}
5.2.1
2 years ago
5.2.0
2 years ago
5.0.4
2 years ago
5.0.3
2 years ago
5.1.1
2 years ago
5.0.2
2 years ago
5.1.0
2 years ago
5.0.1
2 years ago
5.0.0
2 years ago
1.0.0
3 years ago
3.0.0
3 years ago
4.2.3
3 years ago
2.2.1
3 years ago
4.4.0
3 years ago
4.3.1
3 years ago
4.2.2
3 years ago
2.2.0
3 years ago
2.1.1
3 years ago
4.1.0
3 years ago
4.0.0
3 years ago
4.3.0
3 years ago
4.2.1
3 years ago
4.2.0
3 years ago
4.1.1
3 years ago
2.1.0
3 years ago
2.0.1
3 years ago
2.0.0
3 years ago
0.2.1
3 years ago
0.2.0
3 years ago
0.1.0
3 years ago