Launch Week Day 5: Introducing Reachability for PHP.Learn More
Socket
Book a DemoSign in
Socket

async-middleware

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

async-middleware - npm Package Compare versions

Comparing version
1.0.0
to
1.0.1
+1
-1
dist/index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,IAAO,OAAO,WAAW,aAAa,CAAC,CAAA;AAgBvC,cAA6B,EAAsC;IACjE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,UAAU,GAAU,EAAE,GAAM,EAAE,GAAM,EAAE,IAAkB;YAC7D,IAAM,MAAM,GAAI,EAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAE9D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,IAAI,CAAC,GAAG,CAAC,EAAT,CAAS,CAAC,CAAA;QACxD,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,UAAU,GAAM,EAAE,GAAM,EAAE,IAAkB;QACjD,IAAM,MAAM,GAAI,EAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QAEpD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,IAAI,CAAC,GAAG,CAAC,EAAT,CAAS,CAAC,CAAA;IACxD,CAAC,CAAA;AACH,CAAC;AAde,YAAI,OAcnB,CAAA"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,IAAO,OAAO,WAAW,aAAa,CAAC,CAAA;AAgBvC,cAA6B,EAAsC;IACjE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,UAAU,GAAU,EAAE,GAAM,EAAE,GAAM,EAAE,IAAkB;YAC7D,IAAM,MAAM,GAAI,EAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAE9D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,IAAI,CAAC,GAAG,CAAC,EAAT,CAAS,CAAC,CAAA;QACxD,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,UAAU,GAAM,EAAE,GAAM,EAAE,IAAkB;QACjD,IAAM,MAAM,GAAI,EAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QAEpD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,IAAI,CAAC,GAAG,CAAC,EAAT,CAAS,CAAC,CAAA;IACxD,CAAC,CAAA;AACH,CAAC;AAde,YAAI,OAcnB,CAAA","sourcesContent":["import Promise = require('any-promise')\n\nexport interface NextFunction {\n (err: Error): void\n}\n\nexport interface Handler <T, U> {\n (req: T, res: U, next: NextFunction): any\n}\n\nexport interface ErrorHandler <T, U> {\n (err: Error, req: T, res: U, next: NextFunction): any\n}\n\nexport function wrap <T, U> (fn: Handler<T, U>): Handler<T, U>\nexport function wrap <T, U> (fn: ErrorHandler<T, U>): ErrorHandler<T, U>\nexport function wrap <T, U> (fn: Handler<T, U> | ErrorHandler<T, U>): Handler<T, U> | ErrorHandler<T, U> {\n if (fn.length === 4) {\n return function (err: Error, req: T, res: U, next: NextFunction): any {\n const result = (fn as ErrorHandler<T, U>)(err, req, res, next)\n\n return Promise.resolve(result).catch(err => next(err))\n }\n }\n\n return function (req: T, res: U, next: NextFunction): any {\n const result = (fn as Handler<T, U>)(req, res, next)\n\n return Promise.resolve(result).catch(err => next(err))\n }\n}\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":";AAAA,IAAO,IAAI,WAAW,WAAW,CAAC,CAAA;AAClC,IAAO,OAAO,WAAW,aAAa,CAAC,CAAA;AACvC,sBAAmC,SAEnC,CAAC,CAF2C;AAE5C,IAAI,CAAC,kBAAkB,EAAE,UAAA,CAAC;IACxB,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,UAAA,CAAC;QACpB,IAAM,CAAC,GAAG,YAAI,CAAC,UAAU,GAAQ,EAAE,GAAQ;YACzC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,GAAG;YACrB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC5B,CAAC,CAAC,GAAG,EAAE,CAAA;QACT,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,UAAA,CAAC;QAC1B,IAAM,CAAC,GAAG,YAAI,CAAC,UAAU,GAAU,EAAE,GAAQ,EAAE,GAAQ,EAAE,IAAkB;YACzE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC5B,CAAC,CAAC,GAAG,EAAE,CAAA;QACT,CAAC,CAAC,CAAA;QAEF,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,cAAa,CAAC,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,CAAC,CAAC,IAAI,CAAC,2BAA2B,EAAE,UAAA,CAAC;QACnC,IAAM,CAAC,GAAG,YAAI,CAAC,UAAU,GAAU,EAAE,GAAQ,EAAE,GAAQ,EAAE,IAAkB;YACzE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,GAAG;YACxC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC5B,CAAC,CAAC,GAAG,EAAE,CAAA;QACT,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":";AAAA,IAAO,IAAI,WAAW,WAAW,CAAC,CAAA;AAClC,IAAO,OAAO,WAAW,aAAa,CAAC,CAAA;AACvC,sBAAmC,SAEnC,CAAC,CAF2C;AAE5C,IAAI,CAAC,kBAAkB,EAAE,UAAA,CAAC;IACxB,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,UAAA,CAAC;QACpB,IAAM,CAAC,GAAG,YAAI,CAAC,UAAU,GAAQ,EAAE,GAAQ;YACzC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,GAAG;YACrB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC5B,CAAC,CAAC,GAAG,EAAE,CAAA;QACT,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,UAAA,CAAC;QAC1B,IAAM,CAAC,GAAG,YAAI,CAAC,UAAU,GAAU,EAAE,GAAQ,EAAE,GAAQ,EAAE,IAAkB;YACzE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC5B,CAAC,CAAC,GAAG,EAAE,CAAA;QACT,CAAC,CAAC,CAAA;QAEF,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,cAAkB,CAAC,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,CAAC,CAAC,IAAI,CAAC,2BAA2B,EAAE,UAAA,CAAC;QACnC,IAAM,CAAC,GAAG,YAAI,CAAC,UAAU,GAAU,EAAE,GAAQ,EAAE,GAAQ,EAAE,IAAkB;YACzE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,GAAG;YACxC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC5B,CAAC,CAAC,GAAG,EAAE,CAAA;QACT,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import test = require('blue-tape')\nimport Promise = require('any-promise')\nimport { wrap, NextFunction } from './index'\n\ntest('async middleware', t => {\n t.test('middleware', t => {\n const m = wrap(function (req: any, res: any) {\n return Promise.reject(new Error('test'))\n })\n\n m({}, {}, function (err) {\n t.equal(err.message, 'test')\n t.end()\n })\n })\n\n t.test('error middleware', t => {\n const m = wrap(function (err: Error, req: any, res: any, next: NextFunction) {\n t.equal(err.message, 'test')\n t.end()\n })\n\n m(new Error('test'), {}, {}, function () {/* */})\n })\n\n t.test('error in error middleware', t => {\n const m = wrap(function (err: Error, req: any, res: any, next: NextFunction) {\n return Promise.reject(err)\n })\n\n m(new Error('test'), {}, {}, function (err) {\n t.equal(err.message, 'test')\n t.end()\n })\n })\n})\n"]}
{
"name": "async-middleware",
"version": "1.0.0",
"version": "1.0.1",
"description": "Wrap an asynchronous middleware (or handler) function for Express, Connect, router, etc.",

@@ -12,3 +12,3 @@ "main": "dist/index.js",

"scripts": {
"lint": "# TODO",
"lint": "tslint \"src/**/*.ts\"",
"build": "rm -rf dist && tsc",

@@ -43,7 +43,10 @@ "test-spec": "blue-tape 'dist/**/*.spec.js' | tap-spec",

"blue-tape": "^0.2.0",
"bluebird": "^3.3.5",
"chai": "^3.2.0",
"istanbul": "^0.3.17",
"istanbul": "^0.4.4",
"tap-spec": "^4.1.1",
"tslint": "^3.11.0",
"tslint-config-standard": "^1.2.2",
"typescript": "^1.5.3",
"typings": "^0.8.1"
"typings": "^1.3.0"
},

@@ -50,0 +53,0 @@ "dependencies": {

# Async Middleware
[![NPM version][npm-image]][npm-url]
[![NPM downloads][downloads-image]][downloads-url]
[![Build status][travis-image]][travis-url]
[![Test coverage][coveralls-image]][coveralls-url]
> Wrap an asynchronous middleware (or handler) function for Express, Connect, router, etc.
## Installation
```sh
npm install async-middleware --save
```
## Usage
Wrap a middleware function using `async` and/or promises to catch errors and forward them to `next(err)`.
```js
var express = require('express')
var wrap = require('async-middleware').wrap
var app = express()
app.use(wrap(function (req, res) {
return Promise.reject(new Error('boom!'))
})
```
## License
MIT
[npm-image]: https://img.shields.io/npm/v/async-middleware.svg?style=flat
[npm-url]: https://npmjs.org/package/async-middleware
[downloads-image]: https://img.shields.io/npm/dm/async-middleware.svg?style=flat
[downloads-url]: https://npmjs.org/package/async-middleware
[travis-image]: https://img.shields.io/travis/blakeembrey/async-middleware.svg?style=flat
[travis-url]: https://travis-ci.org/blakeembrey/async-middleware
[coveralls-image]: https://img.shields.io/coveralls/blakeembrey/async-middleware.svg?style=flat
[coveralls-url]: https://coveralls.io/r/blakeembrey/async-middleware?branch=master