summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Early <alexander.early@gmail.com>2016-03-09 13:37:50 -0800
committerAlexander Early <alexander.early@gmail.com>2016-03-09 13:37:50 -0800
commitb75d0061b59dd2a7f5407dd3d6d3118cdb7d131b (patch)
treee3df729959dd5a78bf4a5b63cb028ce73717fe32
parent4c88e6c69c9cb057e5bb9867653b29c492003875 (diff)
downloadasync-b75d0061b59dd2a7f5407dd3d6d3118cdb7d131b.tar.gz
add find alias, apply *Limit, *Series more consistently. Closes #835
-rw-r--r--README.md8
-rw-r--r--lib/everySeries.js6
-rw-r--r--lib/index.js13
-rw-r--r--lib/someSeries.js6
-rw-r--r--mocha_test/detect.js14
-rw-r--r--mocha_test/every.js9
-rw-r--r--mocha_test/some.js9
7 files changed, 63 insertions, 2 deletions
diff --git a/README.md b/README.md
index b872bc8..0a0b52c 100644
--- a/README.md
+++ b/README.md
@@ -200,8 +200,8 @@ Some functions are also available in the following forms:
* [`reduce`](#reduce), [`reduceRight`](#reduceRight)
* [`detect`](#detect), `detectSeries`, `detectLimit`
* [`sortBy`](#sortBy)
-* [`some`](#some), `someLimit`
-* [`every`](#every), `everyLimit`
+* [`some`](#some), `someLimit`, `someSeries`
+* [`every`](#every), `everyLimit`, `someSeries`
* [`concat`](#concat), `concatSeries`
### Control Flow
@@ -500,6 +500,8 @@ Same as [`reduce`](#reduce), only operates on `arr` in reverse order.
<a name="detect"></a>
### detect(arr, iteratee, [callback])
+__Alias:__ `find`
+
Returns the first value in `arr` that passes an async truth test. The
`iteratee` is applied in parallel, meaning the first iteratee to return `true` will
fire the detect `callback` with that result. That means the result might not be
@@ -620,6 +622,7 @@ async.some(['file1','file2','file3'], function(filePath, callback) {
__Related__
+* someSeries(arr, iteratee, callback)
* someLimit(arr, limit, iteratee, callback)
---------------------------------------
@@ -656,6 +659,7 @@ async.every(['file1','file2','file3'], function(filePath, callback) {
__Related__
+* everySeries(arr, iteratee, callback)
* everyLimit(arr, limit, iteratee, callback)
---------------------------------------
diff --git a/lib/everySeries.js b/lib/everySeries.js
new file mode 100644
index 0000000..0b3db2c
--- /dev/null
+++ b/lib/everySeries.js
@@ -0,0 +1,6 @@
+'use strict';
+
+import everyLimit from './everyLimit';
+import doLimit from './internal/doLimit';
+
+export default doLimit(everyLimit, 1);
diff --git a/lib/index.js b/lib/index.js
index 3db4064..de337a2 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -28,6 +28,7 @@ import eachSeries from './eachSeries';
import ensureAsync from './ensureAsync';
import every from './every';
import everyLimit from './everyLimit';
+import everySeries from './everySeries';
import filter from './filter';
import filterLimit from './filterLimit';
import filterSeries from './filterSeries';
@@ -55,6 +56,7 @@ import series from './series';
import setImmediate from './setImmediate';
import some from './some';
import someLimit from './someLimit';
+import someSeries from './someSeries';
import sortBy from './sortBy';
import timeout from './timeout';
import times from './times';
@@ -95,6 +97,7 @@ export default {
ensureAsync: ensureAsync,
every: every,
everyLimit: everyLimit,
+ everySeries: everySeries,
filter: filter,
filterLimit: filterLimit,
filterSeries: filterSeries,
@@ -122,6 +125,7 @@ export default {
setImmediate: setImmediate,
some: some,
someLimit: someLimit,
+ someSeries: someSeries,
sortBy: sortBy,
timeout: timeout,
times: times,
@@ -180,6 +184,7 @@ export {
ensureAsync as ensureAsync,
every as every,
everyLimit as everyLimit,
+ everySeries as everySeries,
filter as filter,
filterLimit as filterLimit,
filterSeries as filterSeries,
@@ -207,6 +212,7 @@ export {
setImmediate as setImmediate,
some as some,
someLimit as someLimit,
+ someSeries as someSeries,
sortBy as sortBy,
timeout as timeout,
times as times,
@@ -220,7 +226,14 @@ export {
// Aliases
every as all,
+ everyLimit as allLimit,
+ everySeries as allSeries,
some as any,
+ someLimit as anyLimit,
+ someSeries as anySeries,
+ detect as find,
+ detectLimit as findLimit,
+ detectSeries as findSeries,
each as forEach,
eachSeries as forEachSeries,
eachLimit as forEachLimit,
diff --git a/lib/someSeries.js b/lib/someSeries.js
new file mode 100644
index 0000000..a5fc97c
--- /dev/null
+++ b/lib/someSeries.js
@@ -0,0 +1,6 @@
+'use strict';
+
+import someLimit from './someLimit';
+import doLimit from './internal/doLimit';
+
+export default doLimit(someLimit, 1);
diff --git a/mocha_test/detect.js b/mocha_test/detect.js
index e1eec79..97d7c3d 100644
--- a/mocha_test/detect.js
+++ b/mocha_test/detect.js
@@ -120,4 +120,18 @@ describe("detect", function () {
});
});
+
+ it('find alias', function(){
+ expect(async.find).to.equal(async.detect);
+ });
+
+ it('findLimit alias', function(){
+ expect(async.findLimit).to.equal(async.detectLimit);
+ });
+
+ it('findSeries alias', function(){
+ expect(async.findSeries).to.be.a('function');
+ expect(async.findSeries).to.equal(async.detectSeries);
+ });
+
});
diff --git a/mocha_test/every.js b/mocha_test/every.js
index 2f562ce..b8cfb7a 100644
--- a/mocha_test/every.js
+++ b/mocha_test/every.js
@@ -87,4 +87,13 @@ describe("every", function () {
expect(async.all).to.equal(async.every);
});
+ it('allLimit alias', function(){
+ expect(async.allLimit).to.equal(async.everyLimit);
+ });
+
+ it('allSeries alias', function(){
+ expect(async.allSeries).to.be.a('function');
+ expect(async.allSeries).to.equal(async.everySeries);
+ });
+
});
diff --git a/mocha_test/some.js b/mocha_test/some.js
index 8bdcb6b..a4b57a5 100644
--- a/mocha_test/some.js
+++ b/mocha_test/some.js
@@ -87,5 +87,14 @@ describe("some", function () {
expect(async.any).to.equal(async.some);
});
+ it('anyLimit alias', function(){
+ expect(async.anyLimit).to.equal(async.someLimit);
+ });
+
+ it('anySeries alias', function(){
+ expect(async.anySeries).to.be.a('function');
+ expect(async.anySeries).to.equal(async.someSeries);
+ });
+
});