From bbff7403fbf46f9ad92240ac213df8d30ef31b64 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 20 Sep 2018 02:56:13 +0200 Subject: update packages --- node_modules/enhanced-resolve/lib/forEachBail.js | 99 ++++++++++++++++-------- 1 file changed, 65 insertions(+), 34 deletions(-) (limited to 'node_modules/enhanced-resolve/lib/forEachBail.js') diff --git a/node_modules/enhanced-resolve/lib/forEachBail.js b/node_modules/enhanced-resolve/lib/forEachBail.js index ce0893160..c99f7fd04 100644 --- a/node_modules/enhanced-resolve/lib/forEachBail.js +++ b/node_modules/enhanced-resolve/lib/forEachBail.js @@ -1,34 +1,65 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -module.exports = function forEachBail(array, iterator, callback) { - if(array.length === 0) return callback(); - var currentPos = array.length; - var currentResult; - var done = []; - for(var i = 0; i < array.length; i++) { - var itCb = createIteratorCallback(i); - iterator(array[i], itCb); - if(currentPos === 0) break; - } - - function createIteratorCallback(i) { - return function() { - if(i >= currentPos) return; // ignore - var args = Array.prototype.slice.call(arguments); - done.push(i); - if(args.length > 0) { - currentPos = i + 1; - done = done.filter(function(item) { - return item <= i; - }); - currentResult = args; - } - if(done.length === currentPos) { - callback.apply(null, currentResult); - currentPos = 0; - } - }; - } -}; +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +"use strict"; + +module.exports = function forEachBail(array, iterator, callback) { + if(array.length === 0) return callback(); + let currentPos = array.length; + let currentResult; + let done = []; + for(let i = 0; i < array.length; i++) { + const itCb = createIteratorCallback(i); + iterator(array[i], itCb); + if(currentPos === 0) break; + } + + function createIteratorCallback(i) { + return(...args) => { // eslint-disable-line + if(i >= currentPos) return; // ignore + done.push(i); + if(args.length > 0) { + currentPos = i + 1; + done = done.filter(item => { + return item <= i; + }); + currentResult = args; + } + if(done.length === currentPos) { + callback.apply(null, currentResult); + currentPos = 0; + } + }; + } +}; + +module.exports.withIndex = function forEachBailWithIndex(array, iterator, callback) { + if(array.length === 0) return callback(); + let currentPos = array.length; + let currentResult; + let done = []; + for(let i = 0; i < array.length; i++) { + const itCb = createIteratorCallback(i); + iterator(array[i], i, itCb); + if(currentPos === 0) break; + } + + function createIteratorCallback(i) { + return(...args) => { // eslint-disable-line + if(i >= currentPos) return; // ignore + done.push(i); + if(args.length > 0) { + currentPos = i + 1; + done = done.filter(item => { + return item <= i; + }); + currentResult = args; + } + if(done.length === currentPos) { + callback.apply(null, currentResult); + currentPos = 0; + } + }; + } +}; -- cgit v1.2.3