UNPKG

hal-ts

Version:

Package to format api responses into hal format

36 lines (35 loc) 1.39 kB
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[][];