api-res-utilities
v1.1.3
Published
API Response and Error utilities for Node.js
Downloads
23
Readme
🚀 api-res-utilities
Reusable API response and error handling utilities for Node.js applications.
📦 Installation
npm install api-res-utilities✨ Features
✅ Standardized API response wrapper (ApiResponse)
🚫 Custom API error class (ApiError) extending native Error
🧹 Clean, consistent structure for API responses and errors
💡 Works great with Express, Fastify, or any Node.js backend
📘 Usage
Import the classes
import { ApiResponse, ApiError } from 'api-res-utilities';Using ApiResponse
const response = new ApiResponse(200, 'Request successful', { id: 123, name: 'John' });
console.log(response);
/* Output:
{
status: "success",
statusCode: 200,
message: "Request successful",
data: { id: 123, name: "John" }
}
*/Using ApiError
try {
throw new ApiError(404, 'User not found', ['User with given ID does not exist']);
} catch (err) {
console.error(err.status); // "error"
console.error(err.statusCode); // 404
console.error(err.message); // "User not found"
console.error(err.errors); // ["User with given ID does not exist"]
}🛠️ Express.js Error Handling Example
import express from 'express';
import { ApiError, ApiResponse } from 'api-res-utilities';
const app = express();
app.get('/user/:id', (req, res, next) => {
const user = null; // pretend no user found
if (!user) {
return next(new ApiError(404, 'User not found'));
}
res.json(new ApiResponse(200, 'User fetched', user));
});
app.use((err, req, res, next) => {
if (err instanceof ApiError) {
res.status(err.statusCode).json(err);
} else {
res.status(500).json(new ApiError(500, 'Internal Server Error'));
}
});
app.listen(3000, () => console.log('Server running on port 3000'));