UNPKG

drizzle-pagination

Version:

Easily add cursor pagination to your Drizzle ORM queries.

28 lines (25 loc) 961 B
import { AnyColumn, SQL } from 'drizzle-orm'; declare function withCursorPagination<PrimaryColumn extends AnyColumn, TableColumns extends PrimaryColumn['table']['_']['columns'], SecondaryColumn extends TableColumns[keyof TableColumns], PrimaryCursor extends ReturnType<PrimaryColumn['mapFromDriverValue']> | undefined, SecondaryCursor extends ReturnType<SecondaryColumn['mapFromDriverValue']> | undefined, Order extends 'asc' | 'desc'>({ cursors, limit, where: inputWhere }: { limit: number; where?: SQL; } & ({ cursors: [ [ PrimaryColumn, Order ] | [PrimaryColumn, Order, PrimaryCursor] ]; } | { cursors: [ [ PrimaryColumn, Order ] | [PrimaryColumn, Order, PrimaryCursor], ([SecondaryColumn, Order] | [SecondaryColumn, Order, SecondaryCursor]) ]; })): { orderBy: SQL[]; limit: number; where?: SQL; }; export { withCursorPagination };