/** * Runs multiple middlewares in parallel * Usage: parallel(mw1, mw2, mw3); */ const { after } = require("lodash"); const parallel = (...fns) => (req, res, next) => { const finalNext = after(fns.length, next); fns.forEach(fn => fn(req, res, finalNext)); }; module.exports = parallel;