0.3.1 • Published 6 months ago

kysely-paginate v0.3.1

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

kysely-paginate

Pagination helpers for use with Kysely.

:warning: This is a work in progress! This library is still very early in development. Things won't work, things will be missing, and there will be breaking changes.

Cursor pagination

const query = db
  .selectFrom("blogPosts")
  .select(["id", "title", "body", "authorId"])
  .where("authorId", "=", 1);

const result = await executeWithCursorPagination(query, {
  perPage: 10,
  fields: [
    { expression: "title", direction: "desc" },
    { expression: "id", direction: "asc" },
  ],
  parseCursor: (cursor) => ({
    title: cursor.title,
    id: parseInt(cursor.id, 10),
  }),
});

Offset pagination

const query = db
  .selectFrom("blogPosts")
  .select(["id", "title", "body", "authorId"])
  .where("authorId", "=", 1)
  .orderBy("title", "desc")
  .orderBy("id", "asc");

const result = await executeWithOffsetPagination(query, {
  perPage: 10,
  page: 1,
})
0.3.0

6 months ago

0.3.1

6 months ago

0.2.0

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago