summaryrefslogtreecommitdiff
path: root/build-es/internal/eachOfLimit.js
diff options
context:
space:
mode:
Diffstat (limited to 'build-es/internal/eachOfLimit.js')
-rw-r--r--build-es/internal/eachOfLimit.js49
1 files changed, 0 insertions, 49 deletions
diff --git a/build-es/internal/eachOfLimit.js b/build-es/internal/eachOfLimit.js
deleted file mode 100644
index 5235278..0000000
--- a/build-es/internal/eachOfLimit.js
+++ /dev/null
@@ -1,49 +0,0 @@
-'use strict';
-
-import noop from 'lodash-es/noop';
-import once from 'lodash-es/once';
-
-import keyIterator from './keyIterator';
-import onlyOnce from './onlyOnce';
-
-export default function _eachOfLimit(limit) {
- return function (obj, iterator, callback) {
- callback = once(callback || noop);
- obj = obj || [];
- var nextKey = keyIterator(obj);
- if (limit <= 0) {
- return callback(null);
- }
- var done = false;
- var running = 0;
- var errored = false;
-
- (function replenish () {
- if (done && running <= 0) {
- return callback(null);
- }
-
- while (running < limit && !errored) {
- var key = nextKey();
- if (key === null) {
- done = true;
- if (running <= 0) {
- callback(null);
- }
- return;
- }
- running += 1;
- iterator(obj[key], key, onlyOnce(function (err) {
- running -= 1;
- if (err) {
- callback(err);
- errored = true;
- }
- else {
- replenish();
- }
- }));
- }
- })();
- };
-}