@dossierhq/sqlite-core
Version:
A library used by concrete SQLite adapters for Dossier.
23 lines • 751 B
JavaScript
/// <reference types="./Paging.d.ts" />
import { ok } from '@dossierhq/core';
import { fromOpaqueCursor } from './OpaqueCursor.js';
function getCursor(database, cursorType, paging, key) {
const cursor = paging[key];
if (cursor) {
return fromOpaqueCursor(database, cursorType, cursor);
}
return ok(null);
}
export function resolvePagingCursors(database, cursorType, paging) {
const after = getCursor(database, cursorType, paging, 'after');
const before = getCursor(database, cursorType, paging, 'before');
if (after.isError())
return after;
if (before.isError())
return before;
return ok({
before: before.value,
after: after.value,
});
}
//# sourceMappingURL=Paging.js.map