@golemio/parkings
Version:
Golemio Parkings Module
29 lines • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
class PaginationHelper {
static generatePagingUrl(filterParams, currentCount, offset, limit) {
let pagingLinksDefinition = "";
let requestUrl = "/parking/measurements?";
requestUrl += `limit=${limit}`;
if (filterParams.from)
requestUrl += `&from=${filterParams.from}`;
if (filterParams.to)
requestUrl += `&to=${filterParams.to}`;
if (filterParams.source)
requestUrl += `&source=${filterParams.source}`;
if (filterParams.sourceId)
requestUrl += `&sourceId=${filterParams.sourceId}`;
if (offset > 1) {
const prevOffset = offset - limit < 0 ? 0 : offset - limit;
pagingLinksDefinition += `<${requestUrl}&offset=${prevOffset}>; rel=previous`;
}
if (currentCount === limit) {
if (pagingLinksDefinition)
pagingLinksDefinition += ", ";
pagingLinksDefinition += `<${requestUrl}&offset=${offset + limit}>; rel=next`;
}
return pagingLinksDefinition;
}
}
exports.default = PaginationHelper;
//# sourceMappingURL=PaginationHelper.js.map