@zishone/chaindler
v0.1.1
Published
A simple request handler (controller/middleware) chainer
Downloads
376
Maintainers
Readme
chaindler
A simple request handler (controller/middleware) chainer.
Installation
$ npm i @zishone/chaindler
Usage
1. Import chaindler
const { Chain } = require('@zishone/chaindler');
2. Write your middlewares
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();
}
3. Write your controller
function controller (req, res, next) {
res.send('hello');
}
4. Chain them up!
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),
}
Authors
- Zishran Garces
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE file for details.