All files / helpers/wrappers express.js

100% Statements 8/8
100% Branches 4/4
100% Functions 4/4
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18        6x 2x   6x 9x   5x 1x   4x        
import Promise from 'bluebird';
import util from 'util';
 
export default function wrapper(middlewares, ctrl) {
  if (!util.isArray(middlewares)) {
    middlewares = [middlewares];
  }
  return (...args) =>
    Promise.mapSeries(middlewares, (m) => m(...args))
      .then(async () => {
        if (!ctrl) {
          return args[2]();
        }
        return ctrl(...args);
      })
      .catch(args[2]);
}