1.0.21 • Published 2 years ago

@ineuronintelligence/node-common v1.0.21

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

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

2 years ago

1.0.20

2 years ago

1.0.19

2 years ago

1.0.18

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago