combine-middlewares

0.1.0 • Public • Published

combine-middlewares

combine middlewares to one chain, supports async-await and recursive.

CircleCI

Usage

const combineMiddlewares = require('combine-middlewares')

recursive async-await

const double = async (num, next) => {
  await delay(10)
  return next(num * 2)
}
const minus1 = async (num, next) => {
  await delay(10)
  return next(num - 1)
}
const plus10 = async (num, next) => {
  await delay(10)
  return next(num + 10)
}
 
const [result] = await combineMiddlewares(double, minus1, plus10)(3)
assert.equal(result, 15)

express like

const auth = (req, res, next) => {
  if (!req.user) return res.error('no-user')
  next()
}
const validate = (req, res, next) => {
  if (!/^[a-zA-Z]+$/.test(req.data)) return res.error('no-alphabet')
  next()
}
const upcase = (req, res, next) => {
  res.end(req.data.toUpperCase())
}
const combined = combineMiddlewares(auth, validate, upcase)

see more examples in cd ./test

Readme

Keywords

Package Sidebar

Install

npm i combine-middlewares

Weekly Downloads

212

Version

0.1.0

License

MIT

Last publish

Collaborators

  • shokai