UNPKG

@jalik/hal

Version:

Hypertext Application Language toolbox

111 lines 2.36 kB
"use strict"; /* * The MIT License (MIT) * Copyright (c) 2024 Karl STEIN */ Object.defineProperty(exports, "__esModule", { value: true }); exports.createHalPagedResource = createHalPagedResource; exports.createHalResource = createHalResource; exports.getHalEmbedded = getHalEmbedded; exports.getHalLinks = getHalLinks; exports.getHalLink = getHalLink; exports.getHalPage = getHalPage; exports.getHalPageNumber = getHalPageNumber; exports.getHalPageSize = getHalPageSize; exports.getHalPageTotalElements = getHalPageTotalElements; exports.getHalPageTotalPages = getHalPageTotalPages; /** * Creates a paged HAL resource. * @param embedded * @param page * @param links */ function createHalPagedResource(embedded, page, links) { const res = { page, _embedded: embedded, _links: links }; if (links == null) { delete res._links; } return res; } /** * Creates an HAL resource. * @param resource * @param embedded * @param links */ function createHalResource(resource, embedded, links) { const res = { ...resource, _embedded: embedded, _links: links }; if (embedded == null) { delete res._embedded; } if (links == null) { delete res._links; } return res; } /** * Returns embedded from an HAL document. * @param doc */ function getHalEmbedded(doc) { return doc._embedded; } /** * Returns links from an HAL document. * @param doc */ function getHalLinks(doc) { return doc._links; } /** * Returns a specific link from an HAL document. * @param doc * @param link */ function getHalLink(doc, link) { return doc._links?.[link]; } /** * Returns page from an HAL document. * @param doc */ function getHalPage(doc) { return doc.page; } /** * Returns page number from an HAL document. * @param doc */ function getHalPageNumber(doc) { return doc.page?.number; } /** * Returns page size from an HAL document. * @param doc */ function getHalPageSize(doc) { return doc.page?.size; } /** * Returns total elements from an HAL document. * @param doc */ function getHalPageTotalElements(doc) { return doc.page?.totalElements; } /** * Returns total pages from an HAL document. * @param doc */ function getHalPageTotalPages(doc) { return doc.page?.totalPages; } //# sourceMappingURL=index.js.map