@koax/run

0.4.1 • Public • Published

run

Build status Git tag NPM version Code style

Run a koax middleware stack.

This is the raw middleware stack runner. The basic principal of the runner is that values that are yielded in the middleware stack are dispatched back through the middleware stack to get resolved. yielded functors (arrays, generators, and iterators) aren't dispatched directly - instead the functors values are mapped, using predefined mapping functions, over the middleware stack.

Installation

$ npm install @koax/run

Usage

import run from '@koax/run'

let dispatch = run([
  function * (action, next) {
    if (action === 'foo') return 'bar'
    else if (action === 'qux') return yield 'foo'
    return next()
  },
  function * (action, next) {
    if (action === 'multi') return yield ['foo', 'qux']
    return next()
  }
])

dispatch('foo').then((res) => res) // => 'bar'
disaptch('qux').then((res) => res) // => 'bar'
disaptch('multi').then((res) => res) // => ['bar', 'bar']

API

run(middleware, ctx)

  • middleware - koax middleware array
  • ctx - ctx for middleware stack

Returns: dispatch function: dispatch(action, next)

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i @koax/run

Weekly Downloads

1

Version

0.4.1

License

MIT

Last publish

Collaborators

  • koax