Skip to content

Commit

Permalink
Breaking: Use now-and-later for settle functions & export all methods…
Browse files Browse the repository at this point in the history
… from index.js
  • Loading branch information
phated committed Jun 27, 2016
1 parent 54b0a6e commit 2dda613
Show file tree
Hide file tree
Showing 13 changed files with 70 additions and 106 deletions.
4 changes: 3 additions & 1 deletion index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,7 @@

module.exports = {
series: require('./lib/series'),
parallel: require('./lib/parallel')
parallel: require('./lib/parallel'),
settleSeries: require('./lib/settleSeries'),
settleParallel: require('./lib/settleParallel')
};
22 changes: 0 additions & 22 deletions lib/createParallel.js

This file was deleted.

22 changes: 0 additions & 22 deletions lib/createSeries.js

This file was deleted.

11 changes: 11 additions & 0 deletions lib/getExtensions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
'use strict';

function getExtensions(lastArg){
if(typeof lastArg !== 'function'){
return lastArg;
}

return {};
}

module.exports = getExtensions;
6 changes: 2 additions & 4 deletions lib/parallel.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,13 @@ var _ = require('lodash');
var asyncDone = require('async-done');
var nowAndLater = require('now-and-later');

var getExtensions = require('./getExtensions');
var verifyArguments = require('./verifyArguments');

function buildParallel(){
var args = verifyArguments(arguments);

var extensions = {};
if(typeof _.last(args) !== 'function'){
extensions = _.last(args);
}
var extensions = getExtensions(_.last(args));

function parallel(done){
nowAndLater.parallel(args, asyncDone, extensions, done);
Expand Down
6 changes: 2 additions & 4 deletions lib/series.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,13 @@ var _ = require('lodash');
var asyncDone = require('async-done');
var nowAndLater = require('now-and-later');

var getExtensions = require('./getExtensions');
var verifyArguments = require('./verifyArguments');

function buildSeries(){
var args = verifyArguments(arguments);

var extensions = {};
if(typeof _.last(args) !== 'function'){
extensions = _.last(args);
}
var extensions = getExtensions(_.last(args));

function series(done){
nowAndLater.series(args, asyncDone, extensions, done);
Expand Down
23 changes: 23 additions & 0 deletions lib/settleParallel.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
'use strict';

var _ = require('lodash');
var asyncSettle = require('async-settle');
var nowAndLater = require('now-and-later');

var onSettled = require('./onSettled');
var getExtensions = require('./getExtensions');
var verifyArguments = require('./verifyArguments');

function buildParallel(){
var args = verifyArguments(arguments);

var extensions = getExtensions(_.last(args));

function settleParallel(done){
nowAndLater.parallel(args, asyncSettle, extensions, onSettled(done));
}

return settleParallel;
}

module.exports = buildParallel;
23 changes: 23 additions & 0 deletions lib/settleSeries.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
'use strict';

var _ = require('lodash');
var asyncSettle = require('async-settle');
var nowAndLater = require('now-and-later');

var onSettled = require('./onSettled');
var getExtensions = require('./getExtensions');
var verifyArguments = require('./verifyArguments');

function buildSeries(){
var args = verifyArguments(arguments);

var extensions = getExtensions(_.last(args));

function settleSeries(done){
nowAndLater.series(args, asyncSettle, extensions, onSettled(done));
}

return settleSeries;
}

module.exports = buildSeries;
9 changes: 0 additions & 9 deletions settle.js

This file was deleted.

19 changes: 0 additions & 19 deletions settle/parallel.js

This file was deleted.

19 changes: 0 additions & 19 deletions settle/series.js

This file was deleted.

6 changes: 3 additions & 3 deletions test/settleParallel.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

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

var bach = require('../settle');
var bach = require('../');

function fn1(done){
done(null, 1);
Expand All @@ -23,7 +23,7 @@ function fnError(done){
}

test('should execute functions in parallel and call callback with results on settled', function(t){
bach.parallel(fn1, fn2, fn3)(function(errors, results){
bach.settleParallel(fn1, fn2, fn3)(function(errors, results){
t.notOk(errors, 'errors should be undefined');
t.ok(results, 'results should be defined');
t.deepEqual(results, [1, 2, 3], 'results should be [1, 2, 3]');
Expand All @@ -38,7 +38,7 @@ test('should execute functions in parallel and call callback with errors on sett
done(null, 2);
}, 500);
}
bach.parallel(fn1, slowFn, fn3, fnError)(function(errors, results){
bach.settleParallel(fn1, slowFn, fn3, fnError)(function(errors, results){
t.ok(errors, 'errors should be defined');
t.ok(results, 'results should be defined');
t.ok(Array.isArray(errors), 'errors should be an array');
Expand Down
6 changes: 3 additions & 3 deletions test/settleSeries.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

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

var bach = require('../settle');
var bach = require('../');

function fn1(done){
done(null, 1);
Expand All @@ -23,7 +23,7 @@ function fnError(done){
}

test('should execute functions in series and call callback with results on settled', function(t){
bach.series(fn1, fn2, fn3)(function(errors, results){
bach.settleSeries(fn1, fn2, fn3)(function(errors, results){
t.notOk(errors, 'errors should be undefined');
t.ok(results, 'results should be defined');
t.deepEqual(results, [1, 2, 3], 'results should be [1, 2, 3]');
Expand All @@ -38,7 +38,7 @@ test('should execute functions in series and call callback with errors on settle
done(null, 2);
}, 500);
}
bach.series(fn1, slowFn, fn3, fnError)(function(errors, results){
bach.settleSeries(fn1, slowFn, fn3, fnError)(function(errors, results){
t.ok(errors, 'errors should be defined');
t.ok(results, 'results should be defined');
t.ok(Array.isArray(errors), 'errors should be an array');
Expand Down

0 comments on commit 2dda613

Please sign in to comment.