You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

middleware-async

Package Overview
Dependencies
Maintainers
1
Versions
33
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

middleware-async - npm Package Compare versions

Comparing version

to
1.3.2

14

index.d.ts

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

import { NextFunction, Request, RequestHandler, Response } from 'express';
export declare const asyncMiddleware: (middleware: (req: Request, res: Response, next: NextFunction) => Promise<any> | any) => (req: Request, res: Response, next: NextFunction) => void | Promise<void>;
import type { NextFunction, Request, RequestHandler, Response } from 'express';
export declare const asyncMiddleware: <P, ResBody, ReqBody, ReqQuery, Locals>(middleware: (req: Request<P, ResBody, ReqBody, ReqQuery, Locals>, res: Response<ResBody, Locals>, next: NextFunction) => Promise<any> | any) => (req: Request<P, ResBody, ReqBody, ReqQuery, Locals>, res: Response<ResBody, Locals>, next: NextFunction) => void | Promise<void>;
/**

@@ -10,4 +10,4 @@ * wrap async function to connect-like middleware

export default asyncMiddleware;
declare type IRequestHandler = RequestHandler | IRequestHandlerArray;
declare type IRequestHandlerArray = ReadonlyArray<IRequestHandler>;
declare type IRequestHandler<P, ResBody, ReqBody, ReqQuery, Locals> = RequestHandler<P, ResBody, ReqBody, ReqQuery, Locals> | IRequestHandlerArray<P, ResBody, ReqBody, ReqQuery, Locals>;
declare type IRequestHandlerArray<P, ResBody, ReqBody, ReqQuery, Locals> = ReadonlyArray<IRequestHandler<P, ResBody, ReqBody, ReqQuery, Locals>>;
/**

@@ -21,3 +21,3 @@ * combine list of middlewares into 1 middlewares

*/
export declare const combineMiddlewares: (first?: IRequestHandler, ...middlewares: ReadonlyArray<IRequestHandler>) => (req: Request, res: Response, next: NextFunction) => any;
export declare const combineMiddlewares: <P, ResBody, ReqBody, ReqQuery, Locals>(first?: IRequestHandler<P, ResBody, ReqBody, ReqQuery, Locals>, ...middlewares: readonly IRequestHandler<P, ResBody, ReqBody, ReqQuery, Locals>[]) => (req: Request<P, ResBody, ReqBody, ReqQuery, Locals>, res: Response<ResBody, Locals>, next: NextFunction) => void;
export declare const mockExpressMajorVersion: (v: number) => number;

@@ -30,3 +30,3 @@ /**

*/
export declare const middlewareToPromise: (middleware: RequestHandler) => (req: Request, res: Response) => Promise<void>;
export declare const middlewareToPromise: <P, ResBody, ReqBody, ReqQuery, Locals>(middleware: RequestHandler<P, ResBody, ReqBody, ReqQuery, Locals>) => (req: Request<P, ResBody, ReqBody, ReqQuery, Locals>, res: Response<ResBody, Locals>) => Promise<void>;
/**

@@ -36,2 +36,2 @@ * extended version of middlewareToPromise which allows one or more middleware / array of middlewares

*/
export declare const combineToAsync: (...args: IRequestHandlerArray) => (req: Request, res: Response) => Promise<void>;
export declare const combineToAsync: <P, ResBody, ReqBody, ReqQuery, Locals>(...args: IRequestHandlerArray<P, ResBody, ReqBody, ReqQuery, Locals>) => (req: Request<P, ResBody, ReqBody, ReqQuery, Locals>, res: Response<ResBody, Locals>) => Promise<void>;

@@ -38,8 +38,6 @@ "use strict";

};
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
to[j] = from[i];
return to;
};

@@ -51,3 +49,3 @@ exports.__esModule = true;

&& typeof maybePromise.then === 'function'; };
exports.asyncMiddleware = function (middleware) { return function (req, res, next) { return (function () {
var asyncMiddleware = function (middleware) { return function (req, res, next) { return (function () {
var called = false;

@@ -90,2 +88,3 @@ var cb = function () {

})(); }; };
exports.asyncMiddleware = asyncMiddleware;
/**

@@ -106,3 +105,3 @@ * wrap async function to connect-like middleware

*/
exports.combineMiddlewares = function (first) {
var combineMiddlewares = function (first) {
var _a;

@@ -114,3 +113,3 @@ var middlewares = [];

while (Array.isArray(first))
_a = __spreadArrays(first, middlewares), first = _a[0], middlewares = _a.slice(1);
_a = __spreadArray(__spreadArray([], first), middlewares), first = _a[0], middlewares = _a.slice(1);
return function (req, res, next) { return first

@@ -122,4 +121,6 @@ ? first(req, res, function (err) { return err

};
exports.combineMiddlewares = combineMiddlewares;
var expressMajorVersion = 4;
exports.mockExpressMajorVersion = function (v) { return expressMajorVersion = v; };
var mockExpressMajorVersion = function (v) { return expressMajorVersion = v; };
exports.mockExpressMajorVersion = mockExpressMajorVersion;
/**

@@ -131,3 +132,3 @@ * mimic the next middleware. For express <= 4.x, synchronous error is caught, and returned rejected promise is ignored.

*/
exports.middlewareToPromise = function (middleware) { return function (req, res) { return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
var middlewareToPromise = function (middleware) { return function (req, res) { return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
var maybePromise, err_2;

@@ -166,2 +167,3 @@ return __generator(this, function (_a) {

}); }); }; };
exports.middlewareToPromise = middlewareToPromise;
/**

@@ -171,3 +173,3 @@ * extended version of middlewareToPromise which allows one or more middleware / array of middlewares

*/
exports.combineToAsync = function () {
var combineToAsync = function () {
var args = [];

@@ -179,1 +181,2 @@ for (var _i = 0; _i < arguments.length; _i++) {

};
exports.combineToAsync = combineToAsync;
{
"name": "middleware-async",
"version": "1.3.1",
"version": "1.3.2",
"description": "A handy tool to work with async/promise express middleware",

@@ -33,25 +33,25 @@ "main": "index.js",

"devDependencies": {
"@babel/core": "^7.12.3",
"@babel/core": "^7.14.3",
"@babel/plugin-syntax-object-rest-spread": "^7.8.3",
"@babel/plugin-transform-runtime": "^7.12.1",
"@babel/preset-env": "^7.12.1",
"@babel/preset-typescript": "^7.12.1",
"@babel/runtime": "^7.12.1",
"@types/express": "^4.17.8",
"@types/jest": "^26.0.15",
"@types/node": "^14.14.2",
"@typescript-eslint/eslint-plugin": "^4.5.0",
"@typescript-eslint/parser": "^4.5.0",
"@babel/plugin-transform-runtime": "^7.14.3",
"@babel/preset-env": "^7.14.2",
"@babel/preset-typescript": "^7.13.0",
"@babel/runtime": "^7.14.0",
"@types/express": "^4.17.11",
"@types/jest": "^26.0.23",
"@types/node": "^15.6.1",
"@typescript-eslint/eslint-plugin": "^4.25.0",
"@typescript-eslint/parser": "^4.25.0",
"babel-eslint": "^10.1.0",
"babel-jest": "^26.6.0",
"eslint": "^7.11.0",
"eslint-config-airbnb-base": "^14.2.0",
"babel-jest": "^26.6.3",
"eslint": "^7.27.0",
"eslint-config-airbnb-base": "^14.2.1",
"eslint-plugin-babel": "^5.3.1",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-jest": "^24.1.0",
"eslint-plugin-import": "^2.23.3",
"eslint-plugin-jest": "^24.3.6",
"flip-promise": "^1.0.4",
"jest": "^26.6.0",
"typescript": "^4.0.3"
"jest": "^26.6.3",
"typescript": "^4.2.4"
},
"dependencies": {}
}

@@ -10,3 +10,3 @@ # Async Middleware [![Build Status](https://travis-ci.org/tranvansang/middleware-async.svg?branch=master)](https://travis-ci.org/tranvansang/middleware-async)

Lets check at this code
Let's check this code

@@ -20,3 +20,3 @@ ```javascript

The `next()` will be executed after `User.findById(...).exec()` is fulfilled because express allow middlewares returning a promise.
The `next()` will be executed after `User.findById(...).exec()` is fulfilled because express allows middlewares returning a promise.

@@ -84,7 +84,7 @@ However, express does not support if the promise returned by the middleware is rejected.

Note that this function does not wrap the middleware with `asyncMiddleware`. If the middleware returns a promise, you need to wrap the middleware manually otherwise the error will never be caught.
Note that this function does not wrap the middleware with `asyncMiddleware`. If the middleware returns a promise, you need to manually wrap the middleware; otherwise, the error will never be caught.
- `middlewareToPromise`: convert express-style middleware to a function which returns a promise.
- `middlewareToPromise`: convert express-style middleware to a function that returns a promise.
`await middlewareToPromise(mdw)(req, res)` is rejected if the middleware `mdw` throws error (in **express/connect-like style via calling next(err)**), otherwise the promise is resolved normally.
`await middlewareToPromise(mdw)(req, res)` is rejected if the middleware `mdw` throws an error (in **express/connect-like style via calling next(err)**), otherwise the promise is resolved normally.

@@ -91,0 +91,0 @@ - `combineToAsync`: a combination of `middlewareToPromise` and `combineMiddlewares`.