@jalik/hal
Version:
Hypertext Application Language toolbox
111 lines • 2.36 kB
JavaScript
;
/*
* 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