diff options
author | Alexander Early <alexander.early@gmail.com> | 2016-03-09 13:37:50 -0800 |
---|---|---|
committer | Alexander Early <alexander.early@gmail.com> | 2016-03-09 13:37:50 -0800 |
commit | b75d0061b59dd2a7f5407dd3d6d3118cdb7d131b (patch) | |
tree | e3df729959dd5a78bf4a5b63cb028ce73717fe32 | |
parent | 4c88e6c69c9cb057e5bb9867653b29c492003875 (diff) | |
download | async-b75d0061b59dd2a7f5407dd3d6d3118cdb7d131b.tar.gz |
add find alias, apply *Limit, *Series more consistently. Closes #835
-rw-r--r-- | README.md | 8 | ||||
-rw-r--r-- | lib/everySeries.js | 6 | ||||
-rw-r--r-- | lib/index.js | 13 | ||||
-rw-r--r-- | lib/someSeries.js | 6 | ||||
-rw-r--r-- | mocha_test/detect.js | 14 | ||||
-rw-r--r-- | mocha_test/every.js | 9 | ||||
-rw-r--r-- | mocha_test/some.js | 9 |
7 files changed, 63 insertions, 2 deletions
@@ -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); + }); + }); |