hal-ts
Version:
Package to format api responses into hal format
36 lines (35 loc) • 1.39 kB
TypeScript
import { IHalCollectionRawRequest, IHalCollectionLinks, IHalCollectionResponse, IHalCollectionResponseLinks, IHalCollectionRequest } from "../types/collection";
import { IHalObject } from "../types/object";
export declare const prepareCollectionLinks: (url: string, page: number, chunksQuantity: number, queryParams: string | undefined) => IHalCollectionLinks;
/**
*
* @param links
* @returns
*/
export declare const obtainCollectionLinks: (links: IHalCollectionLinks) => IHalCollectionResponseLinks;
/**
*
* @param baseData
* @returns
*/
export declare const generateHalCollectionResponse: (baseData: IHalCollectionRawRequest) => IHalCollectionResponse;
/**
* Validates the requested data
* @param baseData
*/
export declare const validateCollectionData: (baseData: IHalCollectionRequest) => void;
/**
* Split an array into chunks
* @param array array of data
* @param chunkSize chunk size for each split
* @returns splited array
*/
export declare const chunkArray: <T>(array: T[], chunkSize: number) => T[][];
/**
* Takes an array chunks it and validates the requested page
* @param array {@link IHalObject[]}
* @param chunkSize chunk size to split array
* @param page requested response page
* @returns splited array
*/
export declare const getChunks: (array: IHalObject[], chunkSize: number, page: number) => IHalObject[][];