| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | 'use strict';Object.defineProperty(exports, "__esModule", {    value: true});exports.default = _eachOfLimit;var _noop = require('lodash/noop');var _noop2 = _interopRequireDefault(_noop);var _once = require('./once');var _once2 = _interopRequireDefault(_once);var _iterator = require('./iterator');var _iterator2 = _interopRequireDefault(_iterator);var _onlyOnce = require('./onlyOnce');var _onlyOnce2 = _interopRequireDefault(_onlyOnce);var _breakLoop = require('./breakLoop');var _breakLoop2 = _interopRequireDefault(_breakLoop);function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }function _eachOfLimit(limit) {    return function (obj, iteratee, callback) {        callback = (0, _once2.default)(callback || _noop2.default);        if (limit <= 0 || !obj) {            return callback(null);        }        var nextElem = (0, _iterator2.default)(obj);        var done = false;        var running = 0;        var looping = false;        function iterateeCallback(err, value) {            running -= 1;            if (err) {                done = true;                callback(err);            } else if (value === _breakLoop2.default || done && running <= 0) {                done = true;                return callback(null);            } else if (!looping) {                replenish();            }        }        function replenish() {            looping = true;            while (running < limit && !done) {                var elem = nextElem();                if (elem === null) {                    done = true;                    if (running <= 0) {                        callback(null);                    }                    return;                }                running += 1;                iteratee(elem.value, elem.key, (0, _onlyOnce2.default)(iterateeCallback));            }            looping = false;        }        replenish();    };}module.exports = exports['default'];
 |