api-response-wrapper
Version:
A lightweight, flexible API response handler for Express and services.
109 lines (79 loc) โข 2.57 kB
Markdown
# api-response-wrapper
[](https://www.npmjs.com/package/api-response-wrapper)
[](https://www.npmjs.com/package/api-response-wrapper)
[](https://github.com/Trithanka/api-response-wrapper/blob/main/LICENSE)
[](https://github.com/Trithanka/api-response-wrapper/actions)
A lightweight and flexible Node.js utility for standardizing API responses โ works seamlessly with Express and in service layers.
## ๐ Features
- โ
Clean, consistent API responses
- โ
Works **with or without Express** `res` object
- โ
No dependencies
- โ
Developer-friendly API
- โ
Supports future extensibility (logging, i18n, etc.)
## ๐ฆ Installation
```bash
npm install api-response-wrapper
```
## ๐ง Usage
### โ
In Express
```js
const resHandler = require('api-response-wrapper');
app.get('/api/user', (req, res) => {
const user = { id: 1, name: 'Trithanka' };
return resHandler.success(res, 'User fetched successfully', user);
});
```
### โ
In Service/Logic Layer
```js
const resHandler = require('api-response-wrapper');
function getUserData() {
const user = { id: 1, name: 'Trithanka' };
return resHandler.success('User fetched successfully', user);
}
```
## ๐งพ Response Format
```json
{
"success": true,
"message": "User fetched successfully",
"data": {
"id": 1,
"name": "Trithanka"
},
"statusCode": 200
}
```
## ๐ API Methods
| Method | Description |
|--------------------|------------------------------------------|
| `success(...)` | Send or return a `200` success response |
| `error(...)` | Return a `400` bad request |
| `unauthorized(...)`| Return a `401` unauthorized |
| `forbidden(...)` | Return a `403` forbidden |
| `serverError(...)` | Return a `500` internal server error |
| `schema()` | Get response object schema definition |
## โจ Example
```js
// With res
resHandler.error(res, 'Invalid ID');
// Without res
const response = resHandler.error('Invalid ID');
console.log(response);
/*
{
success: false,
message: 'Invalid ID',
data: null,
statusCode: 400
}
*/
```
## ๐ License
MIT ยฉ [Trithanka](https://github.com/Trithanka)