Registry / database / drizzle-pagination

drizzle-pagination

JSON →
library1.0.12jsnpmunverified

Adds cursor-based pagination to Drizzle ORM queries. Current version 1.0.12 requires drizzle-orm >=0.27.2 <1.0.0. Supports single unique cursor or dual cursor (non-unique sequential + unique fallback) patterns. Provides a small, focused utility function `withCursorPagination` that wraps query inputs, handling ORDER BY and WHERE clauses internally. Differentiator: minimal, typed, purpose-built for Drizzle ORM cursor pagination, unlike generic pagination middlewares.

npm install drizzle-pagination
INSTALL
IMPORT
SIG · DRIZZLE-PAGINATION
D
drizzle-pagination
databasejavascriptv1.0.12
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

withCursorPagination
import { withCursorPagination } from 'drizzle-pagination'
const withCursorPagination = require('drizzle-pagination')
Package is ESM-only; named import required.
PaginationConfig
import type { PaginationConfig } from 'drizzle-pagination'
Type import available for TypeScript users.
default
import drizzlePagination from 'drizzle-pagination'
No default export; only named export `withCursorPagination` exists.

Demonstrates cursor pagination with a single unique column (post.id) and an optional WHERE filter.

import { withCursorPagination } from 'drizzle-pagination'; import { eq } from 'drizzle-orm'; import * as schema from './schema'; const page = await db.query.post.findMany( withCursorPagination({ where: eq(schema.post.status, 'published'), limit: 20, cursors: [ [schema.post.id, 'asc', 'some-cursor-value'] ] }) ); console.log('Page results:', page);
Debug
Known issues
gotchaUsing a non-unique column as a single cursor can return inconsistent results.
fix
Ensure the cursor column is unique (e.g., id) or use a dual-cursor configuration with a unique fallback.
affects: >=1.0.0
gotchaWhen using spread syntax, the `orderBy` and `where` options are controlled by `withCursorPagination`; manual overrides break pagination.
fix
Avoid passing custom `orderBy` or `where` when spreading; let the helper manage those.
affects: >=1.0.0
gotchaNullable columns can cause unpredictable ordering across different databases.
fix
Use non-nullable columns with default values (e.g., empty string for text, '1970-01-01' for dates) instead of NULL.
affects: >=1.0.0
deprecatedVersion 1.0.12 is the latest; API is stable. No breaking changes reported yet.
fix
Upgrade to latest patch version.
affects: 1.0.0-1.0.12
Errors
Common errors & fixes
Cannot find module 'drizzle-pagination' or its corresponding type declarations.
Missing installation or wrong import path.
fix
npm install drizzle-pagination@latest
TypeError: (0 , drizzle_pagination_1.withCursorPagination) is not a function
Using CommonJS require instead of ESM import.
fix
Change 'const { withCursorPagination } = require('drizzle-pagination')' to 'import { withCursorPagination } from 'drizzle-pagination''
Module '"drizzle-pagination"' has no exported member 'default'.
Attempting default import when only named export exists.
fix
Use 'import { withCursorPagination } from 'drizzle-pagination'' instead of default import.
Upgrade
Version history
1.0.12latest on npm
Audit
Dependencies
drizzle-ormrequiredpeer dependency required for Drizzle ORM query building
Agent activity
7 hits · last 30 days
node
6
Resources
drizzle-pagination — npm install drizzle-pagination · libregistry