async-middleware
Advanced tools
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAcA,gBAAiB,MAAW,EAAE,IAAkB;IAC9C,EAAE,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,GAAU;YAChD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAA;QAC1E,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,MAAM,CAAA;AACf,CAAC;AAID,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,MAAM,CAAC,MAAM,CAAE,EAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;QACtE,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,UAAU,GAAM,EAAE,GAAM,EAAE,IAAkB;QACjD,MAAM,CAAC,MAAM,CAAE,EAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IAC5D,CAAC,CAAA;AACH,CAAC;AAVD,oBAUC","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\nfunction handle (result: any, next: NextFunction) {\n if (result && typeof result.then === 'function') {\n return result.then(undefined, function (err: Error) {\n return next(err || new Error('Promise was rejected with a falsy value'))\n })\n }\n\n return result\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 return handle((fn as ErrorHandler<T, U>)(err, req, res, next), next)\n }\n }\n\n return function (req: T, res: U, next: NextFunction): any {\n return handle((fn as Handler<T, U>)(req, res, next), next)\n }\n}\n"]} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAYA,gBAAiB,MAAW,EAAE,IAAkB;IAC9C,EAAE,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,GAAU;YAChD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAA;QAC1E,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,MAAM,CAAA;AACf,CAAC;AAID,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,MAAM,CAAC,MAAM,CAAE,EAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;QACtE,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,UAAU,GAAM,EAAE,GAAM,EAAE,IAAkB;QACjD,MAAM,CAAC,MAAM,CAAE,EAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IAC5D,CAAC,CAAA;AACH,CAAC;AAVD,oBAUC","sourcesContent":["export 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\nfunction handle (result: any, next: NextFunction) {\n if (result && typeof result.then === 'function') {\n return result.then(undefined, function (err: Error) {\n return next(err || new Error('Promise was rejected with a falsy value'))\n })\n }\n\n return result\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 return handle((fn as ErrorHandler<T, U>)(err, req, res, next), next)\n }\n }\n\n return function (req: T, res: U, next: NextFunction): any {\n return handle((fn as Handler<T, U>)(req, res, next), next)\n }\n}\n"]} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| var test = require("blue-tape"); | ||
| var Promise = require("any-promise"); | ||
| var index_1 = require("./index"); | ||
@@ -6,0 +5,0 @@ test('async middleware', function (t) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":";;AAAA,gCAAkC;AAClC,qCAAuC;AACvC,iCAA4C;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"]} | ||
| {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":";;AAAA,gCAAkC;AAClC,iCAA4C;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 { 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"]} |
+9
-11
| { | ||
| "name": "async-middleware", | ||
| "version": "1.1.0", | ||
| "version": "1.2.0", | ||
| "description": "Wrap an asynchronous middleware (or handler) function for Express, Connect, router, etc.", | ||
@@ -12,3 +12,3 @@ "main": "dist/index.js", | ||
| "scripts": { | ||
| "lint": "tslint \"src/**/*.ts\"", | ||
| "lint": "tslint \"src/**/*.ts\" --project tsconfig.json --type-check", | ||
| "build": "rm -rf dist && tsc", | ||
@@ -18,3 +18,3 @@ "test-spec": "blue-tape 'dist/**/*.spec.js' | tap-spec", | ||
| "test": "npm run build && npm run lint && npm run test-cov", | ||
| "prepublish": "typings install && npm run build" | ||
| "prepublish": "npm run build" | ||
| }, | ||
@@ -43,15 +43,13 @@ "repository": { | ||
| "devDependencies": { | ||
| "@types/blue-tape": "^0.1.31", | ||
| "@types/node": "^8.0.4", | ||
| "blue-tape": "^1.0.0", | ||
| "bluebird": "^3.3.5", | ||
| "chai": "^3.2.0", | ||
| "chai": "^4.0.0", | ||
| "istanbul": "^0.4.4", | ||
| "tap-spec": "^4.1.1", | ||
| "tslint": "^5.0.0", | ||
| "tslint-config-standard": "^5.0.1", | ||
| "typescript": "^2.2.1", | ||
| "typings": "^2.0.0" | ||
| }, | ||
| "dependencies": { | ||
| "any-promise": "^1.2.0" | ||
| "tslint": "^5.4.3", | ||
| "tslint-config-standard": "^6.0.1", | ||
| "typescript": "^2.4.1" | ||
| } | ||
| } |
+1
-0
@@ -7,2 +7,3 @@ # Async Middleware | ||
| [![Test coverage][coveralls-image]][coveralls-url] | ||
| [](https://greenkeeper.io/) | ||
@@ -9,0 +10,0 @@ > Wrap an asynchronous middleware (or handler) function for Express, Connect, router, etc. |
0
-100%44
2.33%10266
-0.18%10
11.11%63
-1.56%- Removed
- Removed