hal-ts
Version:
Package to format api responses into hal format
69 lines (68 loc) • 1.87 kB
TypeScript
import { IHalCollectionRequest, IHalCollectionResponse } from "./types/collection";
import { IHalObjectRequest, IHalObjectResponse } from "./types/object";
/**
* ```
* generateObjectResponse({
* url: "http://localhost:8080/api/user",
* data: { identifier: 1, name: "Zay", isValid: true }
* })
* ```
* @param baseData
* @returns
*/
export declare const getHalObjectResponse: (baseData: IHalObjectRequest) => IHalObjectResponse;
/**
* Get a Hal collection response
*
* ```
* const arrayData = [
* {
* url: "http://localhost:8080/api/users",
* data: {
* identifier: 1,
* name: "Marcus",
* isAlive: true,
* _embeded: undefined,
* },
* {
* url: "http://localhost:8080/api/users",
* data: {
* identifier: 2,
* name: "Markus",
* isAlive: false,
* _embeded: undefined,
* },
* }
* {
* url: "http://localhost:8080/api/users",
* data: {
* identifier: 3,
* name: "Marly",
* isAlive: false,
* _embeded: undefined,
* },
* },
* {
* url: "http://localhost:8080/api/users",
* data: {
* identifier: 4,
* name: "Kane",
* isAlive: true,
* _embeded: undefined,
* },
* }
* ]
* const baseData : IHalCollectionRequest = {
* data: arrayData;
* chunk: 2;
* page: 2;
* url: "http://localhost/api/users";
* collectionName: "users";
* }
*
* const response = getCollectionResponse(baseData);
* ```
* @param baseData {@link IHalCollectionRequest}
* @returns collection response in hal format
*/
export declare const getCollectionResponse: (baseData: IHalCollectionRequest) => IHalCollectionResponse;