diff options
Diffstat (limited to 'lib/doWhilst.js')
-rw-r--r-- | lib/doWhilst.js | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/lib/doWhilst.js b/lib/doWhilst.js index 5245820..324d2e0 100644 --- a/lib/doWhilst.js +++ b/lib/doWhilst.js @@ -1,5 +1,4 @@ import noop from './internal/noop'; -import slice from './internal/slice'; import onlyOnce from './internal/onlyOnce'; import wrapAsync from './internal/wrapAsync'; @@ -29,12 +28,11 @@ import wrapAsync from './internal/wrapAsync'; export default function doWhilst(iteratee, test, callback) { callback = onlyOnce(callback || noop); var _iteratee = wrapAsync(iteratee); - var next = function(err/*, ...args*/) { + function next (err, ...args) { if (err) return callback(err); if (err === false) return; - var args = slice(arguments, 1); - if (test.apply(this, args)) return _iteratee(next); - callback.apply(null, [null].concat(args)); - }; + if (test(...args)) return _iteratee(next); + callback(null, ...args); + } _iteratee(next); } |