@raburski/next-pagination
v0.1.0
Published
Pagination middleware and hooks for Next.js
Maintainers
Readme
@raburski/next-pagination
Utilities for building paginated APIs and clients in Next.js. Includes:
withPaginationmiddleware for Next.js API routes (App Router) that adds pagination helpers to the handler context.createPaginatedResponseandcreatePaginatedPrismaResponsehelpers for formatting results and running PrismafindMany + countqueries.useSWRPaginatedclient hook for incremental pagination with SWR.
Installation
npm install @raburski/next-paginationUsage
Server (API Routes)
import { NextResponse } from "next/server"
import { withPagination } from "@raburski/next-pagination/server"
import { db } from "@/server/db"
const handler = async (_request, context) => {
const { createPaginatedPrismaResponse } = context
return NextResponse.json(
await createPaginatedPrismaResponse(db.building, {
where: { status: "APPROVED" },
orderBy: { createdAt: "desc" },
})
)
}
export const GET = withPagination(handler)Client (SWR Hook)
import { useSWRPaginated } from "@raburski/next-pagination/client"
const { data, loadMore, hasMore } = useSWRPaginated("/api/buildings")License
MIT
