Nanobots Protecting Microbots

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

    Install

    npm i @ineuronintelligence/node-common

    DownloadsWeekly Downloads

    54

    Version

    1.0.21

    License

    ISC

    Unpacked Size

    57.7 kB

    Total Files

    46

    Last publish

    Collaborators

    • hari_noah
    • v1zh3d
    • ankitsharmaineuron
    • ineuron_ai