| 440 | async.rejectSeries = doSeries(_reject); |
| 441 | |
| 442 | function _createTester(eachfn, check, getResult) { |
| 443 | return function(arr, limit, iterator, cb) { |
| 444 | function done() { |
| 445 | if (cb) cb(getResult(false, void 0)); |
| 446 | } |
| 447 | function iteratee(x, _, callback) { |
| 448 | if (!cb) return callback(); |
| 449 | iterator(x, function (v) { |
| 450 | if (cb && check(v)) { |
| 451 | cb(getResult(true, x)); |
| 452 | cb = iterator = false; |
| 453 | } |
| 454 | callback(); |
| 455 | }); |
| 456 | } |
| 457 | if (arguments.length > 3) { |
| 458 | eachfn(arr, limit, iteratee, done); |
| 459 | } else { |
| 460 | cb = iterator; |
| 461 | iterator = limit; |
| 462 | eachfn(arr, iteratee, done); |
| 463 | } |
| 464 | }; |
| 465 | } |
| 466 | |
| 467 | async.any = |
| 468 | async.some = _createTester(async.eachOf, toBool, identity); |