Skip to content

Commit 2dda613

Browse files
committed
Breaking: Use now-and-later for settle functions & export all methods from index.js
1 parent 54b0a6e commit 2dda613

13 files changed

+70
-106
lines changed

index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,7 @@
22

33
module.exports = {
44
series: require('./lib/series'),
5-
parallel: require('./lib/parallel')
5+
parallel: require('./lib/parallel'),
6+
settleSeries: require('./lib/settleSeries'),
7+
settleParallel: require('./lib/settleParallel')
68
};

lib/createParallel.js

Lines changed: 0 additions & 22 deletions
This file was deleted.

lib/createSeries.js

Lines changed: 0 additions & 22 deletions
This file was deleted.

lib/getExtensions.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
'use strict';
2+
3+
function getExtensions(lastArg){
4+
if(typeof lastArg !== 'function'){
5+
return lastArg;
6+
}
7+
8+
return {};
9+
}
10+
11+
module.exports = getExtensions;

lib/parallel.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,13 @@ var _ = require('lodash');
44
var asyncDone = require('async-done');
55
var nowAndLater = require('now-and-later');
66

7+
var getExtensions = require('./getExtensions');
78
var verifyArguments = require('./verifyArguments');
89

910
function buildParallel(){
1011
var args = verifyArguments(arguments);
1112

12-
var extensions = {};
13-
if(typeof _.last(args) !== 'function'){
14-
extensions = _.last(args);
15-
}
13+
var extensions = getExtensions(_.last(args));
1614

1715
function parallel(done){
1816
nowAndLater.parallel(args, asyncDone, extensions, done);

lib/series.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,13 @@ var _ = require('lodash');
44
var asyncDone = require('async-done');
55
var nowAndLater = require('now-and-later');
66

7+
var getExtensions = require('./getExtensions');
78
var verifyArguments = require('./verifyArguments');
89

910
function buildSeries(){
1011
var args = verifyArguments(arguments);
1112

12-
var extensions = {};
13-
if(typeof _.last(args) !== 'function'){
14-
extensions = _.last(args);
15-
}
13+
var extensions = getExtensions(_.last(args));
1614

1715
function series(done){
1816
nowAndLater.series(args, asyncDone, extensions, done);

lib/settleParallel.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
'use strict';
2+
3+
var _ = require('lodash');
4+
var asyncSettle = require('async-settle');
5+
var nowAndLater = require('now-and-later');
6+
7+
var onSettled = require('./onSettled');
8+
var getExtensions = require('./getExtensions');
9+
var verifyArguments = require('./verifyArguments');
10+
11+
function buildParallel(){
12+
var args = verifyArguments(arguments);
13+
14+
var extensions = getExtensions(_.last(args));
15+
16+
function settleParallel(done){
17+
nowAndLater.parallel(args, asyncSettle, extensions, onSettled(done));
18+
}
19+
20+
return settleParallel;
21+
}
22+
23+
module.exports = buildParallel;

lib/settleSeries.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
'use strict';
2+
3+
var _ = require('lodash');
4+
var asyncSettle = require('async-settle');
5+
var nowAndLater = require('now-and-later');
6+
7+
var onSettled = require('./onSettled');
8+
var getExtensions = require('./getExtensions');
9+
var verifyArguments = require('./verifyArguments');
10+
11+
function buildSeries(){
12+
var args = verifyArguments(arguments);
13+
14+
var extensions = getExtensions(_.last(args));
15+
16+
function settleSeries(done){
17+
nowAndLater.series(args, asyncSettle, extensions, onSettled(done));
18+
}
19+
20+
return settleSeries;
21+
}
22+
23+
module.exports = buildSeries;

settle.js

Lines changed: 0 additions & 9 deletions
This file was deleted.

settle/parallel.js

Lines changed: 0 additions & 19 deletions
This file was deleted.

settle/series.js

Lines changed: 0 additions & 19 deletions
This file was deleted.

test/settleParallel.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
var test = require('tap').test;
44

5-
var bach = require('../settle');
5+
var bach = require('../');
66

77
function fn1(done){
88
done(null, 1);
@@ -23,7 +23,7 @@ function fnError(done){
2323
}
2424

2525
test('should execute functions in parallel and call callback with results on settled', function(t){
26-
bach.parallel(fn1, fn2, fn3)(function(errors, results){
26+
bach.settleParallel(fn1, fn2, fn3)(function(errors, results){
2727
t.notOk(errors, 'errors should be undefined');
2828
t.ok(results, 'results should be defined');
2929
t.deepEqual(results, [1, 2, 3], 'results should be [1, 2, 3]');
@@ -38,7 +38,7 @@ test('should execute functions in parallel and call callback with errors on sett
3838
done(null, 2);
3939
}, 500);
4040
}
41-
bach.parallel(fn1, slowFn, fn3, fnError)(function(errors, results){
41+
bach.settleParallel(fn1, slowFn, fn3, fnError)(function(errors, results){
4242
t.ok(errors, 'errors should be defined');
4343
t.ok(results, 'results should be defined');
4444
t.ok(Array.isArray(errors), 'errors should be an array');

test/settleSeries.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
var test = require('tap').test;
44

5-
var bach = require('../settle');
5+
var bach = require('../');
66

77
function fn1(done){
88
done(null, 1);
@@ -23,7 +23,7 @@ function fnError(done){
2323
}
2424

2525
test('should execute functions in series and call callback with results on settled', function(t){
26-
bach.series(fn1, fn2, fn3)(function(errors, results){
26+
bach.settleSeries(fn1, fn2, fn3)(function(errors, results){
2727
t.notOk(errors, 'errors should be undefined');
2828
t.ok(results, 'results should be defined');
2929
t.deepEqual(results, [1, 2, 3], 'results should be [1, 2, 3]');
@@ -38,7 +38,7 @@ test('should execute functions in series and call callback with errors on settle
3838
done(null, 2);
3939
}, 500);
4040
}
41-
bach.series(fn1, slowFn, fn3, fnError)(function(errors, results){
41+
bach.settleSeries(fn1, slowFn, fn3, fnError)(function(errors, results){
4242
t.ok(errors, 'errors should be defined');
4343
t.ok(results, 'results should be defined');
4444
t.ok(Array.isArray(errors), 'errors should be an array');

0 commit comments

Comments
 (0)