Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

app-builder

calebboyd51.5kMIT7.0.4TypeScript support: included

Promise based composable functions for middleware

middleware, functional, composable, composition, pipeline, onion, async, compose

readme

app-builder

Actions Status

Create composable promise based middleware pipelines, using the "onion" middleware model.

Install:

npm install app-builder

Example

import { compose } from 'app-builder'

const app = compose([
  async function (ctx, next) {
    ctx.value += 1
    await next()
    ctx.value += 4
  },
  async function (ctx, next) {
    ctx.value += 2
    await next()
    ctx.value += 3
  }
]);

const context = { value: '' }
app(context).then(() => console.log(context.value)) // --> '1234'

All composed functions are also valid middleware functions.

const superApp = compose(
  async function (ctx, next) {
    ctx.value += 'first'
    await next()
    ctx.value += 'last'
  },
  app
)