The api-response-utils package streamlines RESTful API data exchange by introducing a standardized data structure for HTTP response bodies. This structure simplifies client-side data handling, promoting consistency and readability in your API interactions.
Install the package:
npm i -S api-response-utilsBuilding a successful response:
import { buildResponse } from 'api-response-utils'; buildResponse(); // { // success: true, // data: undefined, // error: undefined // } // building a successful response w/ data: buildResponse({ id: 1, nickname: 'Jane Doe' }); // { // success: true, // data: { id: 1, nickname: 'Jane Doe' }, // error: undefined // }Building an unsuccessful response:
import { buildResponse } from 'api-response-utils'; buildResponse(undefined, new Error('The user was not found in the db.')); // { // success: false, // data: undefined, // error: 'The user was not found in the db.' // }Checking if a value is a response object:
import { isResponse } from 'api-response-utils'; isResponse({ success: true, data: { id: 1, nickname: 'Jane Doe' }, error: undefined, }); // true isResponse({ foo: 'bar' }); // false/** * API Response * The response object that is sent to the client via the HTTP body. */ interface IAPIResponse<T> { // a response is considered to be successful if error === undefined success: boolean, // the data that will be sent to the client (regardless of the request's outcome) data: T, // the error thrown during the handling of the request (if any) error: string | undefined }- TypeScript
npm run test:unit