| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | 'use strict';Object.defineProperty(exports, "__esModule", {    value: true});var _onlyOnce = require('./internal/onlyOnce.js');var _onlyOnce2 = _interopRequireDefault(_onlyOnce);var _ensureAsync = require('./ensureAsync.js');var _ensureAsync2 = _interopRequireDefault(_ensureAsync);var _wrapAsync = require('./internal/wrapAsync.js');var _wrapAsync2 = _interopRequireDefault(_wrapAsync);var _awaitify = require('./internal/awaitify.js');var _awaitify2 = _interopRequireDefault(_awaitify);function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }/** * Calls the asynchronous function `fn` with a callback parameter that allows it * to call itself again, in series, indefinitely. * If an error is passed to the callback then `errback` is called with the * error, and execution stops, otherwise it will never be called. * * @name forever * @static * @memberOf module:ControlFlow * @method * @category Control Flow * @param {AsyncFunction} fn - an async function to call repeatedly. * Invoked with (next). * @param {Function} [errback] - when `fn` passes an error to it's callback, * this function will be called, and execution stops. Invoked with (err). * @returns {Promise} a promise that rejects if an error occurs and an errback * is not passed * @example * * async.forever( *     function(next) { *         // next is suitable for passing to things that need a callback(err [, whatever]); *         // it will result in this function being called again. *     }, *     function(err) { *         // if next is called with a value in its first parameter, it will appear *         // in here as 'err', and execution will stop. *     } * ); */function forever(fn, errback) {    var done = (0, _onlyOnce2.default)(errback);    var task = (0, _wrapAsync2.default)((0, _ensureAsync2.default)(fn));    function next(err) {        if (err) return done(err);        if (err === false) return;        task(next);    }    return next();}exports.default = (0, _awaitify2.default)(forever, 2);module.exports = exports.default;
 |