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 |
---|
- Self-Sufficient. The library has zero dependencies.
- Reliable. The library is written in TypeScript and covered by tests.
- Modern. The library comes with native ESM support
-
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.
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
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);