1.2.0 • Published 7 years ago

trek-middleware v1.2.0

Weekly downloads
17
License
MIT
Repository
github
Last release
7 years ago

Middleware

The Modern (ES6) Middleware Composition.

Installation

$ npm install trek-middleware --save

Examples

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

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

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

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

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

Benchmarks

$ npm run bench

Resoults from https://travis-ci.org/trekjs/middleware.

1024 middlewares
koa-compose x 777 ops/sec ±1.91% (75 runs sampled)
trek-middleware x 829 ops/sec ±2.95% (82 runs sampled)
Fastest is trek-middleware

Badges

Build Status codecov npm.io


fundon.me  ·  GitHub @fundon  ·  Twitter @_fundon

1.2.0

7 years ago

1.1.0

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago

0.0.0

8 years ago