UNPKG

@translated/lara

Version:

Official Lara SDK for JavaScript and Node.js

24 lines (23 loc) • 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toCollectionResult = toCollectionResult; function toCollectionResult(response) { const readIntegerHeader = (header, minimum) => { var _a; const value = (_a = Object.entries(response.headers).find(([name]) => name.toLowerCase() === header)) === null || _a === void 0 ? void 0 : _a[1]; const number = typeof value === "string" && /^\d+$/.test(value) ? Number(value) : NaN; return Number.isSafeInteger(number) && number >= minimum ? number : undefined; }; const total = readIntegerHeader("x-total-count", 0); if (total === undefined) { throw new Error("Missing or invalid X-Total-Count response header"); } const page = readIntegerHeader("x-page", 1); const size = readIntegerHeader("x-page-size", 1); return { items: response.body, total, ...(page !== undefined ? { page } : {}), ...(size !== undefined ? { size } : {}) }; }