diff options
Diffstat (limited to 'node_modules/mongoose/lib/helpers/parallelLimit.js')
-rw-r--r-- | node_modules/mongoose/lib/helpers/parallelLimit.js | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/node_modules/mongoose/lib/helpers/parallelLimit.js b/node_modules/mongoose/lib/helpers/parallelLimit.js deleted file mode 100644 index 9b07c02..0000000 --- a/node_modules/mongoose/lib/helpers/parallelLimit.js +++ /dev/null @@ -1,55 +0,0 @@ -'use strict'; - -module.exports = parallelLimit; - -/*! - * ignore - */ - -function parallelLimit(fns, limit, callback) { - let numInProgress = 0; - let numFinished = 0; - let error = null; - - if (limit <= 0) { - throw new Error('Limit must be positive'); - } - - if (fns.length === 0) { - return callback(null, []); - } - - for (let i = 0; i < fns.length && i < limit; ++i) { - _start(); - } - - function _start() { - fns[numFinished + numInProgress](_done(numFinished + numInProgress)); - ++numInProgress; - } - - const results = []; - - function _done(index) { - return (err, res) => { - --numInProgress; - ++numFinished; - - if (error != null) { - return; - } - if (err != null) { - error = err; - return callback(error); - } - - results[index] = res; - - if (numFinished === fns.length) { - return callback(null, results); - } else if (numFinished + numInProgress < fns.length) { - _start(); - } - }; - } -} |