0.1.2 • Published 9 years ago

koax-compose v0.1.2

Weekly downloads
1
License
MIT
Repository
github
Last release
9 years ago

koax-compose

Build status Git tag NPM version Code style

Compose koax middleware.

Installation

$ npm install koax-compose

Usage

var compose = require('koax-compose')

var composed = compose([function * (action, next) {
  if (action === 'foo') return 'bar'
  yield 'woot'
  return next()
}, function * (action, next) {
  if (action === 'bar') return 'qux'
  yield 'narf'
  return next()
}])

composed('foo')() // => 'bar' (done)
composed('bar')() // => 'woot', 'qux' (done)
composed('dup')() // => 'woot', 'narf', 'dup' (done)

API

compose(middleware)

  • middleware - compose the given middleware

Returns: a generator of the same form as the middleware

middleware

/**
 * The middleware signature
 * @param  {Mixed}   action an immutable action that middleware can process
 * @param  {Function} next  pass execution to next middleware (can yield or return)
 * @param  {Object}   ctx   mutable context (be careful)
 * @return {Mixed} whatever your heart desires
 */

function * middleware (action, next, ctx) {

}

License

MIT