A simple request handler (controller/middleware) chainer.
$ npm i @zishone/chaindler
const { Chain } = require('@zishone/chaindler');
function mw1 (req, res, next) {
console.log('1');
next();
}
function mw2 (req, res, next) {
console.log('2');
next();
}
function mw3 (req, res, next) {
console.log('3');
next();
}
function controller (req, res, next) {
res.send('hello');
}
import express = require('express');
const app = express();
app.use('/hello', new Chain(mw1, mw2, mw3).handle(controller));
NOTE: Example was with the assumption you are using express.js
This module was developed with Node.js servers that uses swagger-node
, express-openapi
, and other kinds of modules that limits your ability to chain middlewares in mind.
These kinds of modules would require you to have your controllers in an object, and to use chaindler
in that scenario would be something like this:
const controllers = {
operation1: new Chain(mw1, mw2, mw3).handle(controller),
operation2: new Chain(mw1, mw2, mw3).handle(controller),
}
- Zishran Garces
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE file for details.