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 install -S api-response-utils
Building 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 {
// 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: any,
// the error thrown during the handling of the request (if any)
error: string | undefined
}
- TypeScript
npm run test:unit
Install dependencies:
npm install
Build the library:
npm start
Publish to npm
:
npm publish