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

/@ineuronintelligence/node-common/

    Package Sidebar

    Install

    npm i @ineuronintelligence/node-common

    Weekly Downloads

    31

    Version

    1.0.21

    License

    ISC

    Unpacked Size

    57.7 kB

    Total Files

    46

    Last publish

    Collaborators

    • harshadineuron
    • hari_noah
    • v1zh3d
    • ankitsharmaineuron
    • ineuron_ai