@ineuronintelligence/node-common
TypeScript icon, indicating that this package has built-in type declarations

1.0.21 • Public • Published

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
    });
});

Package Sidebar

Install

npm i @ineuronintelligence/node-common

Weekly Downloads

1

Version

1.0.21

License

ISC

Unpacked Size

57.7 kB

Total Files

46

Last publish

Collaborators

  • harshadineuron
  • hari_noah
  • v1zh3d
  • ankitsharmaineuron
  • ineuron_ai