use-compose

Compose use-* middlewares =================================

Usage no npm install needed!

<script type="module">
  import useCompose from 'https://cdn.skypack.dev/use-compose';
</script>

README

Compose use-* middlewares

Compose middlewares like fn(req, resp, next) into one.
Support async middleware which return promise.

Examples

const compose = require('use-compose');
const theone = compose([
  async (req, resp, next)=>{
    await sleep(1);
    const result = await next()
    await sleep(1);
    return result;
  },
  (req, resp, next)=>{
    return new Promise((resolve, reject)=>{
      resolve(1)
    })
  }
])

//call the composed one
theone(req, resp).then(result=>assert.equal(result, 1));

API

compose(middlewares, options). options have:

  • inheritProperties: the properties that will be passed to middlewares from the result composed function
  • canRunMiddleware: before invoking the specified middleware, check whether it can be run

License

Licensed under MIT

Copyright (c) 2016 kiliwalk