aboutsummaryrefslogtreecommitdiff
path: root/node_modules/async/internal/createTester.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2016-11-03 01:33:53 +0100
committerFlorian Dold <florian.dold@gmail.com>2016-11-03 01:33:53 +0100
commitd1291f67551c58168af43698a359cb5ddfd266b0 (patch)
tree55a13ed29fe1915e3f42f1b1b7038dafa2e975a7 /node_modules/async/internal/createTester.js
parentd0a0695fb5d34996850723f7d4b1b59c3df909c2 (diff)
node_modules
Diffstat (limited to 'node_modules/async/internal/createTester.js')
-rw-r--r--node_modules/async/internal/createTester.js29
1 files changed, 14 insertions, 15 deletions
diff --git a/node_modules/async/internal/createTester.js b/node_modules/async/internal/createTester.js
index 4ec5db360..5330c38a3 100644
--- a/node_modules/async/internal/createTester.js
+++ b/node_modules/async/internal/createTester.js
@@ -9,32 +9,31 @@ var _noop = require('lodash/noop');
var _noop2 = _interopRequireDefault(_noop);
+var _breakLoop = require('./breakLoop');
+
+var _breakLoop2 = _interopRequireDefault(_breakLoop);
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _createTester(eachfn, check, getResult) {
return function (arr, limit, iteratee, cb) {
- function done(err) {
+ function done() {
if (cb) {
- if (err) {
- cb(err);
- } else {
- cb(null, getResult(false));
- }
+ cb(null, getResult(false));
}
}
function wrappedIteratee(x, _, callback) {
if (!cb) return callback();
iteratee(x, function (err, v) {
- if (cb) {
- if (err) {
- cb(err);
- cb = iteratee = false;
- } else if (check(v)) {
- cb(null, getResult(true, x));
- cb = iteratee = false;
- }
+ // Check cb as another iteratee may have resolved with a
+ // value or error since we started this iteratee
+ if (cb && (err || check(v))) {
+ if (err) cb(err);else cb(err, getResult(true, x));
+ cb = iteratee = false;
+ callback(err, _breakLoop2.default);
+ } else {
+ callback();
}
- callback();
});
}
if (arguments.length > 3) {