2.3.0 • Published 10 years ago

composition v2.3.0

Weekly downloads
11,097
License
MIT
Repository
github
Last release
10 years ago

composition

NPM version Build status Test coverage Dependency Status License Downloads

Compose generator and async/await middleware like koa. Allows to use both generator functions and async/await functions.

var compose = require('composition');

var stack = [];

// generator functions
stack.push(function* (next) {
  yield next;
});

// regular functions that return anything
// but they should be promises!
stack.push(function (next) {
  return Promise.resolve(true);
});

// async/await functions
stack.push(async function (next) {
  return await Promise.resolve(true);
});

// compose it into a function
var fn = compose(stack);

// this function returns a promise
fn.call(this).then(function (val) {
  console.log(val);
}).catch(function (err) {
  console.error(err.stack);
  process.exit(1);
})