PATH:
usr
/
local
/
lib
/
node_modules
/
pm2
/
node_modules
/
@pm2
/
io
/
node_modules
/
async
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = whilst; var _noop = require('lodash/noop'); var _noop2 = _interopRequireDefault(_noop); var _slice = require('./internal/slice'); var _slice2 = _interopRequireDefault(_slice); var _onlyOnce = require('./internal/onlyOnce'); var _onlyOnce2 = _interopRequireDefault(_onlyOnce); var _wrapAsync = require('./internal/wrapAsync'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Repeatedly call `iteratee`, while `test` returns `true`. Calls `callback` when * stopped, or an error occurs. * * @name whilst * @static * @memberOf module:ControlFlow * @method * @category Control Flow * @param {Function} test - synchronous truth test to perform before each * execution of `iteratee`. Invoked with (). * @param {AsyncFunction} iteratee - An async function which is called each time * `test` passes. Invoked with (callback). * @param {Function} [callback] - A callback which is called after the test * function has failed and repeated execution of `iteratee` has stopped. `callback` * will be passed an error and any arguments passed to the final `iteratee`'s * callback. Invoked with (err, [results]); * @returns undefined * @example * * var count = 0; * async.whilst( * function() { return count < 5; }, * function(callback) { * count++; * setTimeout(function() { * callback(null, count); * }, 1000); * }, * function (err, n) { * // 5 seconds have passed, n = 5 * } * ); */ function whilst(test, iteratee, callback) { callback = (0, _onlyOnce2.default)(callback || _noop2.default); var _iteratee = (0, _wrapAsync2.default)(iteratee); if (!test()) return callback(null); var next = function (err /*, ...args*/) { if (err) return callback(err); if (test()) return _iteratee(next); var args = (0, _slice2.default)(arguments, 1); callback.apply(null, [null].concat(args)); }; _iteratee(next); } module.exports = exports['default'];
[-] concatLimit.js
[edit]
[-] concatSeries.js
[edit]
[-] everySeries.js
[edit]
[-] whilst.js
[edit]
[-] groupBySeries.js
[edit]
[-] asyncify.js
[edit]
[-] auto.js
[edit]
[-] find.js
[edit]
[-] concat.js
[edit]
[-] mapLimit.js
[edit]
[-] allSeries.js
[edit]
[-] tryEach.js
[edit]
[-] detectLimit.js
[edit]
[-] select.js
[edit]
[-] wrapSync.js
[edit]
[-] reflect.js
[edit]
[-] series.js
[edit]
[-] transform.js
[edit]
[-] autoInject.js
[edit]
[-] forEachLimit.js
[edit]
[-] detectSeries.js
[edit]
[-] unmemoize.js
[edit]
[-] reduce.js
[edit]
[-] memoize.js
[edit]
[+]
..
[-] doWhilst.js
[edit]
[-] everyLimit.js
[edit]
[-] priorityQueue.js
[edit]
[-] selectLimit.js
[edit]
[-] timesLimit.js
[edit]
[-] mapValuesSeries.js
[edit]
[-] queue.js
[edit]
[-] forEach.js
[edit]
[-] reflectAll.js
[edit]
[-] cargo.js
[edit]
[-] parallelLimit.js
[edit]
[-] some.js
[edit]
[-] inject.js
[edit]
[-] mapValues.js
[edit]
[-] all.js
[edit]
[-] anySeries.js
[edit]
[-] seq.js
[edit]
[-] package.json
[edit]
[-] findLimit.js
[edit]
[-] forever.js
[edit]
[-] detect.js
[edit]
[-] rejectLimit.js
[edit]
[-] retry.js
[edit]
[-] timeout.js
[edit]
[-] forEachOfSeries.js
[edit]
[-] eachOfLimit.js
[edit]
[-] nextTick.js
[edit]
[-] parallel.js
[edit]
[-] foldl.js
[edit]
[-] waterfall.js
[edit]
[-] rejectSeries.js
[edit]
[-] dir.js
[edit]
[-] reduceRight.js
[edit]
[-] times.js
[edit]
[-] someSeries.js
[edit]
[-] setImmediate.js
[edit]
[-] anyLimit.js
[edit]
[-] filterLimit.js
[edit]
[-] findSeries.js
[edit]
[-] applyEach.js
[edit]
[-] groupBy.js
[edit]
[-] eachOf.js
[edit]
[-] retryable.js
[edit]
[-] during.js
[edit]
[-] apply.js
[edit]
[-] forEachOf.js
[edit]
[-] index.js
[edit]
[-] someLimit.js
[edit]
[-] foldr.js
[edit]
[-] eachSeries.js
[edit]
[-] groupByLimit.js
[edit]
[-] race.js
[edit]
[-] reject.js
[edit]
[-] timesSeries.js
[edit]
[-] sortBy.js
[edit]
[-] doUntil.js
[edit]
[-] constant.js
[edit]
[-] ensureAsync.js
[edit]
[-] any.js
[edit]
[+]
internal
[-] map.js
[edit]
[-] filter.js
[edit]
[-] mapValuesLimit.js
[edit]
[-] every.js
[edit]
[-] compose.js
[edit]
[-] selectSeries.js
[edit]
[-] forEachOfLimit.js
[edit]
[-] filterSeries.js
[edit]
[-] each.js
[edit]
[-] eachLimit.js
[edit]
[-] README.md
[edit]
[-] eachOfSeries.js
[edit]
[-] applyEachSeries.js
[edit]
[-] bower.json
[edit]
[-] mapSeries.js
[edit]
[-] until.js
[edit]
[+]
dist
[-] forEachSeries.js
[edit]
[-] log.js
[edit]
[-] doDuring.js
[edit]
[-] LICENSE
[edit]
[-] CHANGELOG.md
[edit]
[-] allLimit.js
[edit]