UNPKG

@credo-ts/core

Version:

<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1

35 lines (31 loc) • 916 B
import { JsonEncoder } from "../utils/JsonEncoder.mjs"; import "../utils/index.mjs"; //#region src/storage/StorageService.ts function recordToCursor(record) { return encodeCursor({ createdAt: record.createdAt instanceof Date ? record.createdAt : new Date(record.createdAt), id: record.id }); } function encodeCursor(cursor) { return JsonEncoder.toBase64Url(cursor); } function decodeCursor(cursor) { try { const decoded = JsonEncoder.fromBase64Url(cursor); if (!decoded || typeof decoded !== "object") return null; if (typeof decoded.id !== "string") return null; if (!decoded.createdAt) return null; const createdAt = new Date(decoded?.createdAt); if (Number.isNaN(createdAt.getTime())) return null; return { id: decoded?.id, createdAt }; } catch { return null; } } //#endregion export { decodeCursor, encodeCursor, recordToCursor }; //# sourceMappingURL=StorageService.mjs.map