Skip to content

raburski/next-pagination

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@raburski/next-pagination

Utilities for building paginated APIs and clients in Next.js. Includes:

  • withPagination middleware for Next.js API routes (App Router) that adds pagination helpers to the handler context.
  • createPaginatedResponse and createPaginatedPrismaResponse helpers for formatting results and running Prisma findMany + count queries.
  • useSWRPaginated client hook for incremental pagination with SWR.

Installation

npm install @raburski/next-pagination

Usage

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published