index.js
  1  'use strict';
  2  
  3  Object.defineProperty(exports, "__esModule", {
  4    value: true
  5  });
  6  exports.doDuring = exports.during = exports.wrapSync = undefined;
  7  exports.selectSeries = exports.selectLimit = exports.select = exports.foldr = exports.foldl = exports.inject = exports.forEachOfLimit = exports.forEachOfSeries = exports.forEachOf = exports.forEachLimit = exports.forEachSeries = exports.forEach = exports.flatMapSeries = exports.flatMapLimit = exports.flatMap = exports.findSeries = exports.findLimit = exports.find = exports.anySeries = exports.anyLimit = exports.any = exports.allSeries = exports.allLimit = exports.all = exports.whilst = exports.waterfall = exports.until = exports.unmemoize = exports.tryEach = exports.transform = exports.timesSeries = exports.timesLimit = exports.times = exports.timeout = exports.sortBy = exports.someSeries = exports.someLimit = exports.some = exports.setImmediate = exports.series = exports.seq = exports.retryable = exports.retry = exports.rejectSeries = exports.rejectLimit = exports.reject = exports.reflectAll = exports.reflect = exports.reduceRight = exports.reduce = exports.race = exports.queue = exports.priorityQueue = exports.parallelLimit = exports.parallel = exports.nextTick = exports.memoize = exports.mapValuesSeries = exports.mapValuesLimit = exports.mapValues = exports.mapSeries = exports.mapLimit = exports.map = exports.log = exports.groupBySeries = exports.groupByLimit = exports.groupBy = exports.forever = exports.filterSeries = exports.filterLimit = exports.filter = exports.everySeries = exports.everyLimit = exports.every = exports.ensureAsync = exports.eachSeries = exports.eachOfSeries = exports.eachOfLimit = exports.eachOf = exports.eachLimit = exports.each = exports.doWhilst = exports.doUntil = exports.dir = exports.detectSeries = exports.detectLimit = exports.detect = exports.constant = exports.concatSeries = exports.concatLimit = exports.concat = exports.compose = exports.cargoQueue = exports.cargo = exports.autoInject = exports.auto = exports.asyncify = exports.applyEachSeries = exports.applyEach = exports.apply = undefined;
  8  
  9  var _apply = require('./apply');
 10  
 11  var _apply2 = _interopRequireDefault(_apply);
 12  
 13  var _applyEach = require('./applyEach');
 14  
 15  var _applyEach2 = _interopRequireDefault(_applyEach);
 16  
 17  var _applyEachSeries = require('./applyEachSeries');
 18  
 19  var _applyEachSeries2 = _interopRequireDefault(_applyEachSeries);
 20  
 21  var _asyncify = require('./asyncify');
 22  
 23  var _asyncify2 = _interopRequireDefault(_asyncify);
 24  
 25  var _auto = require('./auto');
 26  
 27  var _auto2 = _interopRequireDefault(_auto);
 28  
 29  var _autoInject = require('./autoInject');
 30  
 31  var _autoInject2 = _interopRequireDefault(_autoInject);
 32  
 33  var _cargo = require('./cargo');
 34  
 35  var _cargo2 = _interopRequireDefault(_cargo);
 36  
 37  var _cargoQueue = require('./cargoQueue');
 38  
 39  var _cargoQueue2 = _interopRequireDefault(_cargoQueue);
 40  
 41  var _compose = require('./compose');
 42  
 43  var _compose2 = _interopRequireDefault(_compose);
 44  
 45  var _concat = require('./concat');
 46  
 47  var _concat2 = _interopRequireDefault(_concat);
 48  
 49  var _concatLimit = require('./concatLimit');
 50  
 51  var _concatLimit2 = _interopRequireDefault(_concatLimit);
 52  
 53  var _concatSeries = require('./concatSeries');
 54  
 55  var _concatSeries2 = _interopRequireDefault(_concatSeries);
 56  
 57  var _constant = require('./constant');
 58  
 59  var _constant2 = _interopRequireDefault(_constant);
 60  
 61  var _detect = require('./detect');
 62  
 63  var _detect2 = _interopRequireDefault(_detect);
 64  
 65  var _detectLimit = require('./detectLimit');
 66  
 67  var _detectLimit2 = _interopRequireDefault(_detectLimit);
 68  
 69  var _detectSeries = require('./detectSeries');
 70  
 71  var _detectSeries2 = _interopRequireDefault(_detectSeries);
 72  
 73  var _dir = require('./dir');
 74  
 75  var _dir2 = _interopRequireDefault(_dir);
 76  
 77  var _doUntil = require('./doUntil');
 78  
 79  var _doUntil2 = _interopRequireDefault(_doUntil);
 80  
 81  var _doWhilst = require('./doWhilst');
 82  
 83  var _doWhilst2 = _interopRequireDefault(_doWhilst);
 84  
 85  var _each = require('./each');
 86  
 87  var _each2 = _interopRequireDefault(_each);
 88  
 89  var _eachLimit = require('./eachLimit');
 90  
 91  var _eachLimit2 = _interopRequireDefault(_eachLimit);
 92  
 93  var _eachOf = require('./eachOf');
 94  
 95  var _eachOf2 = _interopRequireDefault(_eachOf);
 96  
 97  var _eachOfLimit = require('./eachOfLimit');
 98  
 99  var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit);
100  
101  var _eachOfSeries = require('./eachOfSeries');
102  
103  var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries);
104  
105  var _eachSeries = require('./eachSeries');
106  
107  var _eachSeries2 = _interopRequireDefault(_eachSeries);
108  
109  var _ensureAsync = require('./ensureAsync');
110  
111  var _ensureAsync2 = _interopRequireDefault(_ensureAsync);
112  
113  var _every = require('./every');
114  
115  var _every2 = _interopRequireDefault(_every);
116  
117  var _everyLimit = require('./everyLimit');
118  
119  var _everyLimit2 = _interopRequireDefault(_everyLimit);
120  
121  var _everySeries = require('./everySeries');
122  
123  var _everySeries2 = _interopRequireDefault(_everySeries);
124  
125  var _filter = require('./filter');
126  
127  var _filter2 = _interopRequireDefault(_filter);
128  
129  var _filterLimit = require('./filterLimit');
130  
131  var _filterLimit2 = _interopRequireDefault(_filterLimit);
132  
133  var _filterSeries = require('./filterSeries');
134  
135  var _filterSeries2 = _interopRequireDefault(_filterSeries);
136  
137  var _forever = require('./forever');
138  
139  var _forever2 = _interopRequireDefault(_forever);
140  
141  var _groupBy = require('./groupBy');
142  
143  var _groupBy2 = _interopRequireDefault(_groupBy);
144  
145  var _groupByLimit = require('./groupByLimit');
146  
147  var _groupByLimit2 = _interopRequireDefault(_groupByLimit);
148  
149  var _groupBySeries = require('./groupBySeries');
150  
151  var _groupBySeries2 = _interopRequireDefault(_groupBySeries);
152  
153  var _log = require('./log');
154  
155  var _log2 = _interopRequireDefault(_log);
156  
157  var _map = require('./map');
158  
159  var _map2 = _interopRequireDefault(_map);
160  
161  var _mapLimit = require('./mapLimit');
162  
163  var _mapLimit2 = _interopRequireDefault(_mapLimit);
164  
165  var _mapSeries = require('./mapSeries');
166  
167  var _mapSeries2 = _interopRequireDefault(_mapSeries);
168  
169  var _mapValues = require('./mapValues');
170  
171  var _mapValues2 = _interopRequireDefault(_mapValues);
172  
173  var _mapValuesLimit = require('./mapValuesLimit');
174  
175  var _mapValuesLimit2 = _interopRequireDefault(_mapValuesLimit);
176  
177  var _mapValuesSeries = require('./mapValuesSeries');
178  
179  var _mapValuesSeries2 = _interopRequireDefault(_mapValuesSeries);
180  
181  var _memoize = require('./memoize');
182  
183  var _memoize2 = _interopRequireDefault(_memoize);
184  
185  var _nextTick = require('./nextTick');
186  
187  var _nextTick2 = _interopRequireDefault(_nextTick);
188  
189  var _parallel = require('./parallel');
190  
191  var _parallel2 = _interopRequireDefault(_parallel);
192  
193  var _parallelLimit = require('./parallelLimit');
194  
195  var _parallelLimit2 = _interopRequireDefault(_parallelLimit);
196  
197  var _priorityQueue = require('./priorityQueue');
198  
199  var _priorityQueue2 = _interopRequireDefault(_priorityQueue);
200  
201  var _queue = require('./queue');
202  
203  var _queue2 = _interopRequireDefault(_queue);
204  
205  var _race = require('./race');
206  
207  var _race2 = _interopRequireDefault(_race);
208  
209  var _reduce = require('./reduce');
210  
211  var _reduce2 = _interopRequireDefault(_reduce);
212  
213  var _reduceRight = require('./reduceRight');
214  
215  var _reduceRight2 = _interopRequireDefault(_reduceRight);
216  
217  var _reflect = require('./reflect');
218  
219  var _reflect2 = _interopRequireDefault(_reflect);
220  
221  var _reflectAll = require('./reflectAll');
222  
223  var _reflectAll2 = _interopRequireDefault(_reflectAll);
224  
225  var _reject = require('./reject');
226  
227  var _reject2 = _interopRequireDefault(_reject);
228  
229  var _rejectLimit = require('./rejectLimit');
230  
231  var _rejectLimit2 = _interopRequireDefault(_rejectLimit);
232  
233  var _rejectSeries = require('./rejectSeries');
234  
235  var _rejectSeries2 = _interopRequireDefault(_rejectSeries);
236  
237  var _retry = require('./retry');
238  
239  var _retry2 = _interopRequireDefault(_retry);
240  
241  var _retryable = require('./retryable');
242  
243  var _retryable2 = _interopRequireDefault(_retryable);
244  
245  var _seq = require('./seq');
246  
247  var _seq2 = _interopRequireDefault(_seq);
248  
249  var _series = require('./series');
250  
251  var _series2 = _interopRequireDefault(_series);
252  
253  var _setImmediate = require('./setImmediate');
254  
255  var _setImmediate2 = _interopRequireDefault(_setImmediate);
256  
257  var _some = require('./some');
258  
259  var _some2 = _interopRequireDefault(_some);
260  
261  var _someLimit = require('./someLimit');
262  
263  var _someLimit2 = _interopRequireDefault(_someLimit);
264  
265  var _someSeries = require('./someSeries');
266  
267  var _someSeries2 = _interopRequireDefault(_someSeries);
268  
269  var _sortBy = require('./sortBy');
270  
271  var _sortBy2 = _interopRequireDefault(_sortBy);
272  
273  var _timeout = require('./timeout');
274  
275  var _timeout2 = _interopRequireDefault(_timeout);
276  
277  var _times = require('./times');
278  
279  var _times2 = _interopRequireDefault(_times);
280  
281  var _timesLimit = require('./timesLimit');
282  
283  var _timesLimit2 = _interopRequireDefault(_timesLimit);
284  
285  var _timesSeries = require('./timesSeries');
286  
287  var _timesSeries2 = _interopRequireDefault(_timesSeries);
288  
289  var _transform = require('./transform');
290  
291  var _transform2 = _interopRequireDefault(_transform);
292  
293  var _tryEach = require('./tryEach');
294  
295  var _tryEach2 = _interopRequireDefault(_tryEach);
296  
297  var _unmemoize = require('./unmemoize');
298  
299  var _unmemoize2 = _interopRequireDefault(_unmemoize);
300  
301  var _until = require('./until');
302  
303  var _until2 = _interopRequireDefault(_until);
304  
305  var _waterfall = require('./waterfall');
306  
307  var _waterfall2 = _interopRequireDefault(_waterfall);
308  
309  var _whilst = require('./whilst');
310  
311  var _whilst2 = _interopRequireDefault(_whilst);
312  
313  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
314  
315  /**
316   * An "async function" in the context of Async is an asynchronous function with
317   * a variable number of parameters, with the final parameter being a callback.
318   * (`function (arg1, arg2, ..., callback) {}`)
319   * The final callback is of the form `callback(err, results...)`, which must be
320   * called once the function is completed.  The callback should be called with a
321   * Error as its first argument to signal that an error occurred.
322   * Otherwise, if no error occurred, it should be called with `null` as the first
323   * argument, and any additional `result` arguments that may apply, to signal
324   * successful completion.
325   * The callback must be called exactly once, ideally on a later tick of the
326   * JavaScript event loop.
327   *
328   * This type of function is also referred to as a "Node-style async function",
329   * or a "continuation passing-style function" (CPS). Most of the methods of this
330   * library are themselves CPS/Node-style async functions, or functions that
331   * return CPS/Node-style async functions.
332   *
333   * Wherever we accept a Node-style async function, we also directly accept an
334   * [ES2017 `async` function]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function}.
335   * In this case, the `async` function will not be passed a final callback
336   * argument, and any thrown error will be used as the `err` argument of the
337   * implicit callback, and the return value will be used as the `result` value.
338   * (i.e. a `rejected` of the returned Promise becomes the `err` callback
339   * argument, and a `resolved` value becomes the `result`.)
340   *
341   * Note, due to JavaScript limitations, we can only detect native `async`
342   * functions and not transpilied implementations.
343   * Your environment must have `async`/`await` support for this to work.
344   * (e.g. Node > v7.6, or a recent version of a modern browser).
345   * If you are using `async` functions through a transpiler (e.g. Babel), you
346   * must still wrap the function with [asyncify]{@link module:Utils.asyncify},
347   * because the `async function` will be compiled to an ordinary function that
348   * returns a promise.
349   *
350   * @typedef {Function} AsyncFunction
351   * @static
352   */
353  
354  /**
355   * Async is a utility module which provides straight-forward, powerful functions
356   * for working with asynchronous JavaScript. Although originally designed for
357   * use with [Node.js](http://nodejs.org) and installable via
358   * `npm install --save async`, it can also be used directly in the browser.
359   * @module async
360   * @see AsyncFunction
361   */
362  
363  /**
364   * A collection of `async` functions for manipulating collections, such as
365   * arrays and objects.
366   * @module Collections
367   */
368  
369  /**
370   * A collection of `async` functions for controlling the flow through a script.
371   * @module ControlFlow
372   */
373  
374  /**
375   * A collection of `async` utility functions.
376   * @module Utils
377   */
378  
379  exports.default = {
380    apply: _apply2.default,
381    applyEach: _applyEach2.default,
382    applyEachSeries: _applyEachSeries2.default,
383    asyncify: _asyncify2.default,
384    auto: _auto2.default,
385    autoInject: _autoInject2.default,
386    cargo: _cargo2.default,
387    cargoQueue: _cargoQueue2.default,
388    compose: _compose2.default,
389    concat: _concat2.default,
390    concatLimit: _concatLimit2.default,
391    concatSeries: _concatSeries2.default,
392    constant: _constant2.default,
393    detect: _detect2.default,
394    detectLimit: _detectLimit2.default,
395    detectSeries: _detectSeries2.default,
396    dir: _dir2.default,
397    doUntil: _doUntil2.default,
398    doWhilst: _doWhilst2.default,
399    each: _each2.default,
400    eachLimit: _eachLimit2.default,
401    eachOf: _eachOf2.default,
402    eachOfLimit: _eachOfLimit2.default,
403    eachOfSeries: _eachOfSeries2.default,
404    eachSeries: _eachSeries2.default,
405    ensureAsync: _ensureAsync2.default,
406    every: _every2.default,
407    everyLimit: _everyLimit2.default,
408    everySeries: _everySeries2.default,
409    filter: _filter2.default,
410    filterLimit: _filterLimit2.default,
411    filterSeries: _filterSeries2.default,
412    forever: _forever2.default,
413    groupBy: _groupBy2.default,
414    groupByLimit: _groupByLimit2.default,
415    groupBySeries: _groupBySeries2.default,
416    log: _log2.default,
417    map: _map2.default,
418    mapLimit: _mapLimit2.default,
419    mapSeries: _mapSeries2.default,
420    mapValues: _mapValues2.default,
421    mapValuesLimit: _mapValuesLimit2.default,
422    mapValuesSeries: _mapValuesSeries2.default,
423    memoize: _memoize2.default,
424    nextTick: _nextTick2.default,
425    parallel: _parallel2.default,
426    parallelLimit: _parallelLimit2.default,
427    priorityQueue: _priorityQueue2.default,
428    queue: _queue2.default,
429    race: _race2.default,
430    reduce: _reduce2.default,
431    reduceRight: _reduceRight2.default,
432    reflect: _reflect2.default,
433    reflectAll: _reflectAll2.default,
434    reject: _reject2.default,
435    rejectLimit: _rejectLimit2.default,
436    rejectSeries: _rejectSeries2.default,
437    retry: _retry2.default,
438    retryable: _retryable2.default,
439    seq: _seq2.default,
440    series: _series2.default,
441    setImmediate: _setImmediate2.default,
442    some: _some2.default,
443    someLimit: _someLimit2.default,
444    someSeries: _someSeries2.default,
445    sortBy: _sortBy2.default,
446    timeout: _timeout2.default,
447    times: _times2.default,
448    timesLimit: _timesLimit2.default,
449    timesSeries: _timesSeries2.default,
450    transform: _transform2.default,
451    tryEach: _tryEach2.default,
452    unmemoize: _unmemoize2.default,
453    until: _until2.default,
454    waterfall: _waterfall2.default,
455    whilst: _whilst2.default,
456  
457    // aliases
458    all: _every2.default,
459    allLimit: _everyLimit2.default,
460    allSeries: _everySeries2.default,
461    any: _some2.default,
462    anyLimit: _someLimit2.default,
463    anySeries: _someSeries2.default,
464    find: _detect2.default,
465    findLimit: _detectLimit2.default,
466    findSeries: _detectSeries2.default,
467    flatMap: _concat2.default,
468    flatMapLimit: _concatLimit2.default,
469    flatMapSeries: _concatSeries2.default,
470    forEach: _each2.default,
471    forEachSeries: _eachSeries2.default,
472    forEachLimit: _eachLimit2.default,
473    forEachOf: _eachOf2.default,
474    forEachOfSeries: _eachOfSeries2.default,
475    forEachOfLimit: _eachOfLimit2.default,
476    inject: _reduce2.default,
477    foldl: _reduce2.default,
478    foldr: _reduceRight2.default,
479    select: _filter2.default,
480    selectLimit: _filterLimit2.default,
481    selectSeries: _filterSeries2.default,
482    wrapSync: _asyncify2.default,
483    during: _whilst2.default,
484    doDuring: _doWhilst2.default
485  };
486  exports.apply = _apply2.default;
487  exports.applyEach = _applyEach2.default;
488  exports.applyEachSeries = _applyEachSeries2.default;
489  exports.asyncify = _asyncify2.default;
490  exports.auto = _auto2.default;
491  exports.autoInject = _autoInject2.default;
492  exports.cargo = _cargo2.default;
493  exports.cargoQueue = _cargoQueue2.default;
494  exports.compose = _compose2.default;
495  exports.concat = _concat2.default;
496  exports.concatLimit = _concatLimit2.default;
497  exports.concatSeries = _concatSeries2.default;
498  exports.constant = _constant2.default;
499  exports.detect = _detect2.default;
500  exports.detectLimit = _detectLimit2.default;
501  exports.detectSeries = _detectSeries2.default;
502  exports.dir = _dir2.default;
503  exports.doUntil = _doUntil2.default;
504  exports.doWhilst = _doWhilst2.default;
505  exports.each = _each2.default;
506  exports.eachLimit = _eachLimit2.default;
507  exports.eachOf = _eachOf2.default;
508  exports.eachOfLimit = _eachOfLimit2.default;
509  exports.eachOfSeries = _eachOfSeries2.default;
510  exports.eachSeries = _eachSeries2.default;
511  exports.ensureAsync = _ensureAsync2.default;
512  exports.every = _every2.default;
513  exports.everyLimit = _everyLimit2.default;
514  exports.everySeries = _everySeries2.default;
515  exports.filter = _filter2.default;
516  exports.filterLimit = _filterLimit2.default;
517  exports.filterSeries = _filterSeries2.default;
518  exports.forever = _forever2.default;
519  exports.groupBy = _groupBy2.default;
520  exports.groupByLimit = _groupByLimit2.default;
521  exports.groupBySeries = _groupBySeries2.default;
522  exports.log = _log2.default;
523  exports.map = _map2.default;
524  exports.mapLimit = _mapLimit2.default;
525  exports.mapSeries = _mapSeries2.default;
526  exports.mapValues = _mapValues2.default;
527  exports.mapValuesLimit = _mapValuesLimit2.default;
528  exports.mapValuesSeries = _mapValuesSeries2.default;
529  exports.memoize = _memoize2.default;
530  exports.nextTick = _nextTick2.default;
531  exports.parallel = _parallel2.default;
532  exports.parallelLimit = _parallelLimit2.default;
533  exports.priorityQueue = _priorityQueue2.default;
534  exports.queue = _queue2.default;
535  exports.race = _race2.default;
536  exports.reduce = _reduce2.default;
537  exports.reduceRight = _reduceRight2.default;
538  exports.reflect = _reflect2.default;
539  exports.reflectAll = _reflectAll2.default;
540  exports.reject = _reject2.default;
541  exports.rejectLimit = _rejectLimit2.default;
542  exports.rejectSeries = _rejectSeries2.default;
543  exports.retry = _retry2.default;
544  exports.retryable = _retryable2.default;
545  exports.seq = _seq2.default;
546  exports.series = _series2.default;
547  exports.setImmediate = _setImmediate2.default;
548  exports.some = _some2.default;
549  exports.someLimit = _someLimit2.default;
550  exports.someSeries = _someSeries2.default;
551  exports.sortBy = _sortBy2.default;
552  exports.timeout = _timeout2.default;
553  exports.times = _times2.default;
554  exports.timesLimit = _timesLimit2.default;
555  exports.timesSeries = _timesSeries2.default;
556  exports.transform = _transform2.default;
557  exports.tryEach = _tryEach2.default;
558  exports.unmemoize = _unmemoize2.default;
559  exports.until = _until2.default;
560  exports.waterfall = _waterfall2.default;
561  exports.whilst = _whilst2.default;
562  exports.all = _every2.default;
563  exports.allLimit = _everyLimit2.default;
564  exports.allSeries = _everySeries2.default;
565  exports.any = _some2.default;
566  exports.anyLimit = _someLimit2.default;
567  exports.anySeries = _someSeries2.default;
568  exports.find = _detect2.default;
569  exports.findLimit = _detectLimit2.default;
570  exports.findSeries = _detectSeries2.default;
571  exports.flatMap = _concat2.default;
572  exports.flatMapLimit = _concatLimit2.default;
573  exports.flatMapSeries = _concatSeries2.default;
574  exports.forEach = _each2.default;
575  exports.forEachSeries = _eachSeries2.default;
576  exports.forEachLimit = _eachLimit2.default;
577  exports.forEachOf = _eachOf2.default;
578  exports.forEachOfSeries = _eachOfSeries2.default;
579  exports.forEachOfLimit = _eachOfLimit2.default;
580  exports.inject = _reduce2.default;
581  exports.foldl = _reduce2.default;
582  exports.foldr = _reduceRight2.default;
583  exports.select = _filter2.default;
584  exports.selectLimit = _filterLimit2.default;
585  exports.selectSeries = _filterSeries2.default;
586  exports.wrapSync = _asyncify2.default;
587  exports.during = _whilst2.default;
588  exports.doDuring = _doWhilst2.default;