OnionStack
Middleware framework based on Async Generator & TypeScript, inspired by Koa 2.
Example
import OnionStack from 'onion-stack'; const list = [ ]; const stack = new OnionStack( function*() { list.push(1); yield; list.push(2); yield; list.push(3); }, async function*() { await delay(0.1); list.push(4); yield; list.push(5); }, function() { list.push(6); }); stack.execute().then(() => console.log( list )); // [1, 4, 6, 5, 2]