aboutsummaryrefslogtreecommitdiff
path: root/node_modules/async/waterfall.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/async/waterfall.js')
-rw-r--r--node_modules/async/waterfall.js25
1 files changed, 10 insertions, 15 deletions
diff --git a/node_modules/async/waterfall.js b/node_modules/async/waterfall.js
index feda782cf..d547d6b1e 100644
--- a/node_modules/async/waterfall.js
+++ b/node_modules/async/waterfall.js
@@ -11,23 +11,18 @@ exports.default = function (tasks, callback) {
var taskIndex = 0;
function nextTask(args) {
- if (taskIndex === tasks.length) {
- return callback.apply(null, [null].concat(args));
- }
-
- var taskCallback = (0, _onlyOnce2.default)((0, _rest2.default)(function (err, args) {
- if (err) {
- return callback.apply(null, [err].concat(args));
- }
- nextTask(args);
- }));
-
- args.push(taskCallback);
-
var task = (0, _wrapAsync2.default)(tasks[taskIndex++]);
+ args.push((0, _onlyOnce2.default)(next));
task.apply(null, args);
}
+ function next(err /*, ...args*/) {
+ if (err || taskIndex === tasks.length) {
+ return callback.apply(null, arguments);
+ }
+ nextTask((0, _slice2.default)(arguments, 1));
+ }
+
nextTask([]);
};
@@ -43,9 +38,9 @@ var _once = require('./internal/once');
var _once2 = _interopRequireDefault(_once);
-var _rest = require('./internal/rest');
+var _slice = require('./internal/slice');
-var _rest2 = _interopRequireDefault(_rest);
+var _slice2 = _interopRequireDefault(_slice);
var _onlyOnce = require('./internal/onlyOnce');