UNPKG

@jalik/hal

Version:

Hypertext Application Language toolbox

99 lines 1.91 kB
/* * The MIT License (MIT) * Copyright (c) 2024 Karl STEIN */ /** * Creates a paged HAL resource. * @param embedded * @param page * @param links */ export 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 */ export 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 */ export function getHalEmbedded(doc) { return doc._embedded; } /** * Returns links from an HAL document. * @param doc */ export function getHalLinks(doc) { return doc._links; } /** * Returns a specific link from an HAL document. * @param doc * @param link */ export function getHalLink(doc, link) { return doc._links?.[link]; } /** * Returns page from an HAL document. * @param doc */ export function getHalPage(doc) { return doc.page; } /** * Returns page number from an HAL document. * @param doc */ export function getHalPageNumber(doc) { return doc.page?.number; } /** * Returns page size from an HAL document. * @param doc */ export function getHalPageSize(doc) { return doc.page?.size; } /** * Returns total elements from an HAL document. * @param doc */ export function getHalPageTotalElements(doc) { return doc.page?.totalElements; } /** * Returns total pages from an HAL document. * @param doc */ export function getHalPageTotalPages(doc) { return doc.page?.totalPages; } //# sourceMappingURL=index.js.map