composer-io
TypeScript icon, indicating that this package has built-in type declarations

1.0.8 • Public • Published

NPM version NPM downloads Coverage

This module is developed using and inspired by middleware-io and grammyjs. Huge thanks to negezor and KnorpelSenf for their efforts and contribution to the developer community!

API Reference

Features

  1. Self-Sufficient. The library has zero dependencies.
  2. Reliable. The library is written in TypeScript and covered by tests.
  3. Modern. The library comes with native ESM support
  4. Powerful. Supports following additional features:
    • The library has enough built-in snippets;
    • The middleware chain builder;
    • Supports multi-composition pattern for convenient sequential operations, following the Composite design pattern.
    • Routing support for handling various request paths.

Installation

Node.js 14.0.0 or newer is required

  • Using npm (recommended)
    npm i composer-io
  • Using Yarn
    yarn add composer-io
  • Using pnpm
    pnpm add composer-io

Example usage

import { compose } from 'composer-io';

const composedMiddleware = compose(
  async (context, next) => {
    // Step 1

    await next();

    // Step 4

    // Print the current date from the next middleware
    console.log(context.now);
  },
  async (context, next) => {
    // Step 2

    context.now = Date.now();

    await next();

    // Step 3
  },
);

composedMiddleware({}, () => {
  /* Last handler (next) */
})
  .then(() => {
    console.log('Middleware finished work');
  })
  .catch(console.error);

Package Sidebar

Install

npm i composer-io

Weekly Downloads

9

Version

1.0.8

License

MIT

Unpacked Size

39.5 kB

Total Files

6

Last publish

Collaborators

  • frodi