Skip to content
/ amk-wrap Public

function wrapper to catch errors in express.js controllers

License

Notifications You must be signed in to change notification settings

amkjs/amk-wrap

Repository files navigation

AMK-WRAP

Github Actions codecov Known Vulnerabilities

function wrapper to catch errors in express controllers

Usage

to install: npm i amk-wrap

can pass a function or a class method.

on the router file:

const express = require('express');
const router = express.Router();
const wrap = require('amk-wrap');

class Controller {
  constructor() {
    this.something = "something"
  }
  async get(req, res) {
    this.something; // access this
    res.send('hello world');
  }
}
const controller = new Controller();
module.exports = function (controller) {
  router.get('/', wrap(controller, 'get')); // pass a class method
  return router;
}

on the index.js:

const wrap = require('amk-wrap');

// some other code

app.get('/', wrap(getFunction)); // pass a function

or

const wrap = require('amk-wrap');

// some other code

app.get('/', wrap((req, res) => {
	res.send('hello world');
}));

Tests

  1. install dependencies using npm install
  2. run npm test

Feedback

All bugs, feature requests, pull requests, feedback, etc., are welcome. Create an issue.

License

MIT