PATH:
opt
/
bitninja-threat-hunting
/
node_modules
/
async
/
internal
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = asyncEachOfLimit; var _breakLoop = require('./breakLoop.js'); var _breakLoop2 = _interopRequireDefault(_breakLoop); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // for async generators function asyncEachOfLimit(generator, limit, iteratee, callback) { let done = false; let canceled = false; let awaiting = false; let running = 0; let idx = 0; function replenish() { //console.log('replenish') if (running >= limit || awaiting || done) return; //console.log('replenish awaiting') awaiting = true; generator.next().then(({ value, done: iterDone }) => { //console.log('got value', value) if (canceled || done) return; awaiting = false; if (iterDone) { done = true; if (running <= 0) { //console.log('done nextCb') callback(null); } return; } running++; iteratee(value, idx, iterateeCallback); idx++; replenish(); }).catch(handleError); } function iterateeCallback(err, result) { //console.log('iterateeCallback') running -= 1; if (canceled) return; if (err) return handleError(err); if (err === false) { done = true; canceled = true; return; } if (result === _breakLoop2.default || done && running <= 0) { done = true; //console.log('done iterCb') return callback(null); } replenish(); } function handleError(err) { if (canceled) return; awaiting = false; done = true; callback(err); } replenish(); } module.exports = exports.default;
[-] wrapAsync.js
[edit]
[+]
..
[-] breakLoop.js
[edit]
[-] awaitify.js
[edit]
[-] getIterator.js
[edit]
[-] queue.js
[edit]
[-] isArrayLike.js
[edit]
[-] promiseCallback.js
[edit]
[-] eachOfLimit.js
[edit]
[-] parallel.js
[edit]
[-] once.js
[edit]
[-] setImmediate.js
[edit]
[-] applyEach.js
[edit]
[-] withoutIndex.js
[edit]
[-] DoublyLinkedList.js
[edit]
[-] createTester.js
[edit]
[-] initialParams.js
[edit]
[-] asyncEachOfLimit.js
[edit]
[-] reject.js
[edit]
[-] range.js
[edit]
[-] iterator.js
[edit]
[-] map.js
[edit]
[-] filter.js
[edit]
[-] onlyOnce.js
[edit]
[-] consoleFunc.js
[edit]
[-] Heap.js
[edit]