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

1.0.0 • Public • Published

mwa

Build Status Coverage Status License NPM Downloads NPM Version Dependency Status devDependency Status Code Style

😘 Middle Ware Async, easily create your own middleware layer. It's like koa's middleware.

Installation

$ npm install mwa

# or pnpm
$ pnpm add mwa

# or yarn
$ yarn add mwa

[!NOTE] mwa is an ESM-only package.

Usage

import mwa from 'mwa'

const app = mwa()

app.use(async (state, next) => {
  console.log('mw1 start: ', state)
  state.a = 1
  await next()
  console.log('mw1 end: ', state)
})

app.use(async (state, next) => {
  console.log('mw2 start: ', state)
  state.b = 1
  await next()
  console.log('mw2 end: ', state)
})

try {
  await app.run({})
  console.log('all completed')
} catch (err) {
  console.error(err)
}

API

mwa()

Return a new Mwa instance.

Instance

.use(middleware)

Use the given middleware. Return the instance itself.

middleware
  • Type: async function or async function[]
  • Details: middleware function.

.run(state)

Run all middlewares. Return a Promise.

state
  • Type: any
  • Details: middleware context.

Contributing

  1. Fork it on GitHub!
  2. Clone the fork to your own machine.
  3. Checkout your feature branch: git checkout -b my-awesome-feature
  4. Commit your changes to your own branch: git commit -am 'Add some feature'
  5. Push your work back up to your fork: git push -u origin my-awesome-feature
  6. Submit a Pull Request so that we can review your changes.

NOTE: Be sure to merge the latest from "upstream" before making a pull request!

License

MIT © zce

Package Sidebar

Install

npm i mwa

Weekly Downloads

3

Version

1.0.0

License

MIT

Unpacked Size

6.7 kB

Total Files

5

Last publish

Collaborators

  • zce