@mcrowe/safe-async-express-errors

Typesafe wrapper around async express handlers that ensures that asynchronous errors are caught and handled by error-handling middleware.

Stats

StarsIssuesVersionUpdatedCreatedSize
@mcrowe/safe-async-express-errors
000.0.35 years ago5 years agoMinified + gzip package size for @mcrowe/safe-async-express-errors in KB

Readme

Safe Async Express Errors

Typesafe wrapper around async express handlers that ensures that asynchronous errors are caught and handled by error-handling middleware.

This module can be used in either Javascript or Typescript, but is most useful for Typescript projects because it makes an effort to preserve type safety for the compiler (unlike other solutions).

Usage

npm install @mcrowe/safe-async-express-errors --save

Then wrap any asynchronous express handler functions:

const safe = require('@mcrowe/safe-async-express-errors')
// ...

// Errors thrown by `db.many` will now be handled by any middleware you've setup,
// instead of swallowed.
app.get('/', safe(async (req, res) => {
  const things = await db.many('SELECT * FROM things')
  res.json({ things })
}))

Development

Install npm modules:

npm install

Run tests:

npm test

Build:

npm run build

Publish to npm:

  1. Update the version in package.json

  2. Build using npm run build

  3. Publish using npm publish --access=public

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.