@rill/chain
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

Rill
@rill/chain
API Stability TypeScript Styled with prettier Build status Test Coverage NPM Version Downloads Browser Bundle Size

This module is used internally by Rill but is extracted for convenience. Composes all functions and Rill apps provided into a valid middleware function that returns a promise.

Installation

npm install @rill/chain

Example

import chain from "@rill/chain";

const stack = [];

// Regular functions that return anything
// but they will be resolved as promises.
stack.push((ctx, next)=> {
  return Promise.resolve(true);
})

// Async/await functions
stack.push(async (ctx, next)=> {
  await Promise.resolve(true);
});

// Other apps.
const app = new Rill();
app.use(...);
stack.push(app);

// Compose it into a function (returns a promise).
const fn = chain(stack)

// Call the function with a context.
fn({}).catch((err)=> {
  console.error(err.stack);
  process.exit(1);
});

Contributions

  • Use npm test to run tests.

Please feel free to create a PR!

Package Sidebar

Install

npm i @rill/chain

Weekly Downloads

44

Version

1.1.1

License

MIT

Unpacked Size

9.09 kB

Total Files

8

Last publish

Collaborators

  • dylanpiercey