@ineuronintelligence/node-common
v1.0.21
Published
Common Module for all node.js apps in ineuron
Downloads
9
Readme
iNeuron Node Common
This npm repository contains common functionalities/utilites for node.js projects in ineuron.
Usage
Error Types
Pre-defined error classes are already present in the current repository like
- Not Found Error (404)
- Forbidden Error (403)
- Not Authorized Error (401)
- Bad Request Error (400)
Prerequisite - you need to install express-async-errors and import it to your main file along with our pre-built error handler to handle asynchronous errors properly.
Example of using error handler with express-async-errors:
import express from 'express';
import 'express-async-errors';
import { errorHandler, NotFoundError } from '@ineuronintelligence/node-common';
const app = express();
app.use(yourRoutes); // import and use your router
app.all('*', () => {
throw new NotFoundError(); // this will throw 404 error and the error handler will catch and send it as response.
});
app.use(errorHandler);
app.listen(process.env.PORT);
Response Types
Want to restrict the response types from the router/controller.
import { Request, Response } from 'express';
app.get('/', (req: Request, res: Response)=>{
res.json({
data: 'some data'
});
});
In the above example inside the res.json object typescript will never complain about any kind of data passed or if any typo happens while writing code. Our package contains a pre-defined response type which you can use instead of Express default Response Type which restricts passing only the defined data type in the response.
Usage
import { Request } from 'express';
import { ResponseType as Response } from '@ineuronintelligence/node-common';
app.get('/', (req: Request, res: Response)=>{
res.json({
data: 'some data',
randomKeyWhichIsNotDefined: 'data' // typescript will complain
});
});