PHP 8.2.30
Preview: waterfall.js Size: 3.13 KB
/home/byroehnu/.trash/node_modules11/async/waterfall.js

'use strict';

Object.defineProperty(exports, "__esModule", {
    value: true
});

var _once = require('./internal/once.js');

var _once2 = _interopRequireDefault(_once);

var _onlyOnce = require('./internal/onlyOnce.js');

var _onlyOnce2 = _interopRequireDefault(_onlyOnce);

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 }; }

/**
 * Runs the `tasks` array of functions in series, each passing their results to
 * the next in the array. However, if any of the `tasks` pass an error to their
 * own callback, the next function is not executed, and the main `callback` is
 * immediately called with the error.
 *
 * @name waterfall
 * @static
 * @memberOf module:ControlFlow
 * @method
 * @category Control Flow
 * @param {Array} tasks - An array of [async functions]{@link AsyncFunction}
 * to run.
 * Each function should complete with any number of `result` values.
 * The `result` values will be passed as arguments, in order, to the next task.
 * @param {Function} [callback] - An optional callback to run once all the
 * functions have completed. This will be passed the results of the last task's
 * callback. Invoked with (err, [results]).
 * @returns {Promise} a promise, if a callback is omitted
 * @example
 *
 * async.waterfall([
 *     function(callback) {
 *         callback(null, 'one', 'two');
 *     },
 *     function(arg1, arg2, callback) {
 *         // arg1 now equals 'one' and arg2 now equals 'two'
 *         callback(null, 'three');
 *     },
 *     function(arg1, callback) {
 *         // arg1 now equals 'three'
 *         callback(null, 'done');
 *     }
 * ], function (err, result) {
 *     // result now equals 'done'
 * });
 *
 * // Or, with named functions:
 * async.waterfall([
 *     myFirstFunction,
 *     mySecondFunction,
 *     myLastFunction,
 * ], function (err, result) {
 *     // result now equals 'done'
 * });
 * function myFirstFunction(callback) {
 *     callback(null, 'one', 'two');
 * }
 * function mySecondFunction(arg1, arg2, callback) {
 *     // arg1 now equals 'one' and arg2 now equals 'two'
 *     callback(null, 'three');
 * }
 * function myLastFunction(arg1, callback) {
 *     // arg1 now equals 'three'
 *     callback(null, 'done');
 * }
 */
function waterfall(tasks, callback) {
    callback = (0, _once2.default)(callback);
    if (!Array.isArray(tasks)) return callback(new Error('First argument to waterfall must be an array of functions'));
    if (!tasks.length) return callback();
    var taskIndex = 0;

    function nextTask(args) {
        var task = (0, _wrapAsync2.default)(tasks[taskIndex++]);
        task(...args, (0, _onlyOnce2.default)(next));
    }

    function next(err, ...args) {
        if (err === false) return;
        if (err || taskIndex === tasks.length) {
            return callback(err, ...args);
        }
        nextTask(args);
    }

    nextTask([]);
}

exports.default = (0, _awaitify2.default)(waterfall);
module.exports = exports.default;

Directory Contents

Dirs: 2 × Files: 109

Name Size Perms Modified Actions
dist DIR
- drwxr-xr-x 2026-02-21 00:54:22
Edit Download
internal DIR
- drwxr-xr-x 2026-02-21 00:54:22
Edit Download
3.48 KB lrw-r--r-- 2026-02-21 00:53:20
Edit Download
1.71 KB lrw-r--r-- 2026-02-21 00:53:22
Edit Download
1.61 KB lrw-r--r-- 2026-02-21 00:53:22
Edit Download
3.71 KB lrw-r--r-- 2026-02-21 00:53:24
Edit Download
1.74 KB lrw-r--r-- 2026-02-21 00:53:24
Edit Download
1.64 KB lrw-r--r-- 2026-02-21 00:53:28
Edit Download
217 B lrw-r--r-- 2026-02-21 00:53:28
Edit Download
1.94 KB lrw-r--r-- 2026-02-21 00:53:30
Edit Download
1.27 KB lrw-r--r-- 2026-02-21 00:53:34
Edit Download
3.67 KB lrw-r--r-- 2026-02-21 00:53:38
Edit Download
11.58 KB lrw-r--r-- 2026-02-21 00:53:40
Edit Download
6.93 KB lrw-r--r-- 2026-02-21 00:53:42
Edit Download
239 B lrw-r--r-- 2026-02-21 00:54:22
Edit Download
2.68 KB lrw-r--r-- 2026-02-21 00:53:44
Edit Download
3.27 KB lrw-r--r-- 2026-02-21 00:53:44
Edit Download
32.70 KB lrw-r--r-- 2026-02-21 00:54:22
Edit Download
1.53 KB lrw-r--r-- 2026-02-21 00:53:46
Edit Download
3.57 KB lrw-r--r-- 2026-02-21 00:53:46
Edit Download
2.04 KB lrw-r--r-- 2026-02-21 00:53:46
Edit Download
1.44 KB lrw-r--r-- 2026-02-21 00:53:48
Edit Download
302 B lrw-r--r-- 2026-02-21 00:53:50
Edit Download
3.17 KB lrw-r--r-- 2026-02-21 00:53:50
Edit Download
1.79 KB lrw-r--r-- 2026-02-21 00:53:50
Edit Download
1.70 KB lrw-r--r-- 2026-02-21 00:53:52
Edit Download
1.27 KB lrw-r--r-- 2026-02-21 00:53:54
Edit Download
2.25 KB lrw-r--r-- 2026-02-21 00:53:54
Edit Download
1.66 KB lrw-r--r-- 2026-02-21 00:53:56
Edit Download
2.25 KB lrw-r--r-- 2026-02-21 00:53:56
Edit Download
2.28 KB lrw-r--r-- 2026-02-21 00:53:58
Edit Download
3.93 KB lrw-r--r-- 2026-02-21 00:53:58
Edit Download
1.75 KB lrw-r--r-- 2026-02-21 00:53:58
Edit Download
5.61 KB lrw-r--r-- 2026-02-21 00:53:58
Edit Download
1.60 KB lrw-r--r-- 2026-02-21 00:53:58
Edit Download
1.30 KB lrw-r--r-- 2026-02-21 00:53:58
Edit Download
1.54 KB lrw-r--r-- 2026-02-21 00:54:00
Edit Download
2.26 KB lrw-r--r-- 2026-02-21 00:54:00
Edit Download
3.48 KB lrw-r--r-- 2026-02-21 00:54:00
Edit Download
1.71 KB lrw-r--r-- 2026-02-21 00:54:00
Edit Download
1.61 KB lrw-r--r-- 2026-02-21 00:54:00
Edit Download
2.83 KB lrw-r--r-- 2026-02-21 00:54:00
Edit Download
1.62 KB lrw-r--r-- 2026-02-21 00:54:00
Edit Download
1.51 KB lrw-r--r-- 2026-02-21 00:54:00
Edit Download
3.17 KB lrw-r--r-- 2026-02-21 00:54:00
Edit Download
1.79 KB lrw-r--r-- 2026-02-21 00:54:00
Edit Download
1.70 KB lrw-r--r-- 2026-02-21 00:54:00
Edit Download
3.57 KB lrw-r--r-- 2026-02-21 00:54:02
Edit Download
2.04 KB lrw-r--r-- 2026-02-21 00:54:02
Edit Download
1.44 KB lrw-r--r-- 2026-02-21 00:54:02
Edit Download
4.76 KB lrw-r--r-- 2026-02-21 00:54:02
Edit Download
1.47 KB lrw-r--r-- 2026-02-21 00:54:02
Edit Download
3.93 KB lrw-r--r-- 2026-02-21 00:54:02
Edit Download
1.75 KB lrw-r--r-- 2026-02-21 00:54:02
Edit Download
5.61 KB lrw-r--r-- 2026-02-21 00:54:02
Edit Download
1.60 KB lrw-r--r-- 2026-02-21 00:54:04
Edit Download
1.30 KB lrw-r--r-- 2026-02-21 00:54:04
Edit Download
1.54 KB lrw-r--r-- 2026-02-21 00:54:04
Edit Download
2.07 KB lrw-r--r-- 2026-02-21 00:54:04
Edit Download
3.51 KB lrw-r--r-- 2026-02-21 00:54:04
Edit Download
2.39 KB lrw-r--r-- 2026-02-21 00:54:04
Edit Download
1.30 KB lrw-r--r-- 2026-02-21 00:54:04
Edit Download
19.47 KB lrw-r--r-- 2026-02-21 00:54:04
Edit Download
4.76 KB lrw-r--r-- 2026-02-21 00:54:04
Edit Download
1.04 KB lrw-r--r-- 2026-02-21 00:53:18
Edit Download
1.17 KB lrw-r--r-- 2026-02-21 00:54:04
Edit Download
4.49 KB lrw-r--r-- 2026-02-21 00:54:04
Edit Download
1.58 KB lrw-r--r-- 2026-02-21 00:54:04
Edit Download
1.48 KB lrw-r--r-- 2026-02-21 00:54:06
Edit Download
4.48 KB lrw-r--r-- 2026-02-21 00:54:06
Edit Download
2.07 KB lrw-r--r-- 2026-02-21 00:54:06
Edit Download
1.35 KB lrw-r--r-- 2026-02-21 00:54:06
Edit Download
3.00 KB lrw-r--r-- 2026-02-21 00:54:08
Edit Download
1.44 KB lrw-r--r-- 2026-02-21 00:54:08
Edit Download
2.15 KB lrw-r--r-- 2026-02-21 00:54:22
Edit Download
5.44 KB lrw-r--r-- 2026-02-21 00:54:08
Edit Download
1.48 KB lrw-r--r-- 2026-02-21 00:54:08
Edit Download
1.41 KB lrw-r--r-- 2026-02-21 00:54:08
Edit Download
626 B lrw-r--r-- 2026-02-21 00:54:10
Edit Download
2.08 KB lrw-r--r-- 2026-02-21 00:54:10
Edit Download
3.14 KB lrw-r--r-- 2026-02-21 00:54:22
Edit Download
4.76 KB lrw-r--r-- 2026-02-21 00:54:10
Edit Download
1.47 KB lrw-r--r-- 2026-02-21 00:54:10
Edit Download
2.21 KB lrw-r--r-- 2026-02-21 00:54:10
Edit Download
2.39 KB lrw-r--r-- 2026-02-21 00:54:10
Edit Download
2.61 KB lrw-r--r-- 2026-02-21 00:54:12
Edit Download
1.54 KB lrw-r--r-- 2026-02-21 00:54:12
Edit Download
1.44 KB lrw-r--r-- 2026-02-21 00:54:12
Edit Download
5.39 KB lrw-r--r-- 2026-02-21 00:54:12
Edit Download
2.48 KB lrw-r--r-- 2026-02-21 00:54:12
Edit Download
2.83 KB lrw-r--r-- 2026-02-21 00:54:14
Edit Download
1.62 KB lrw-r--r-- 2026-02-21 00:54:14
Edit Download
1.51 KB lrw-r--r-- 2026-02-21 00:54:16
Edit Download
2.59 KB lrw-r--r-- 2026-02-21 00:54:16
Edit Download
5.69 KB lrw-r--r-- 2026-02-21 00:54:16
Edit Download
1.36 KB lrw-r--r-- 2026-02-21 00:54:18
Edit Download
3.71 KB lrw-r--r-- 2026-02-21 00:54:18
Edit Download
1.74 KB lrw-r--r-- 2026-02-21 00:54:18
Edit Download
1.64 KB lrw-r--r-- 2026-02-21 00:54:18
Edit Download
6.06 KB lrw-r--r-- 2026-02-21 00:54:20
Edit Download
2.69 KB lrw-r--r-- 2026-02-21 00:54:20
Edit Download
1.45 KB lrw-r--r-- 2026-02-21 00:54:20
Edit Download
1.42 KB lrw-r--r-- 2026-02-21 00:54:20
Edit Download
1.04 KB lrw-r--r-- 2026-02-21 00:54:20
Edit Download
5.43 KB lrw-r--r-- 2026-02-21 00:54:20
Edit Download
2.48 KB lrw-r--r-- 2026-02-21 00:54:20
Edit Download
665 B lrw-r--r-- 2026-02-21 00:54:20
Edit Download
2.03 KB lrw-r--r-- 2026-02-21 00:54:20
Edit Download
3.13 KB lrw-r--r-- 2026-02-21 00:54:20
Edit Download
2.28 KB lrw-r--r-- 2026-02-21 00:54:22
Edit Download
3.67 KB lrw-r--r-- 2026-02-21 00:54:22
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).