Skip to content

The Modern (ES6) and Express-Style Middleware Composition

License

Notifications You must be signed in to change notification settings

trekjs/expressify-middleware

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Express Middleware

The Modern (ES6) and Express-Style Middleware Composition.

Installation

$ npm install expressify-middleware

Examples

const co = require('co')
const Middleware = require('expressify-middleware')
const middleware = new Middleware()

middleware.push((req, res, next) => {
  req.arr.push(1)
  return next().then(() => {
    req.arr.push(6)
  })
})

middleware.push(async (req, res, next) => {
  req.arr.push(2)
  await next()
  req.arr.push(5)
})

middleware.push(co.wrap(function * (req, res, next) {
  req.arr.push(3)
  yield next()
  req.arr.push(4)
}))

const req = { arr: [] }
const res = {}
middleware.compose(req, res).then(() => {
  console.log(req.arr.toString() === '1,2,3,4,5,6')
})

Badges

Build Status codecov


fundon.me  ·  GitHub @fundon  ·  Twitter @_fundon

About

The Modern (ES6) and Express-Style Middleware Composition

Resources

License

Stars

Watchers

Forks

Packages

No packages published