Skip to content

Commit

Permalink
more style changes
Browse files Browse the repository at this point in the history
  • Loading branch information
aearly committed May 28, 2015
1 parent d35f460 commit b11fc31
Showing 1 changed file with 61 additions and 55 deletions.
116 changes: 61 additions & 55 deletions lib/async.js
Expand Up @@ -178,7 +178,7 @@
return callback(null);
}
var completed = 0;
var iterate = function () {
function iterate() {
iterator(arr[completed], function (err) {
if (err) {
callback(err);
Expand All @@ -194,7 +194,7 @@
}
}
});
};
}
iterate();
};

Expand Down Expand Up @@ -281,7 +281,7 @@
return callback();
}
var completed = 0;
var iterate = function () {
function iterate() {
var sync = true;
var key = keys[completed];
iterator(obj[key], key, function (err) {
Expand All @@ -305,7 +305,7 @@
}
});
sync = false;
};
}
iterate();
};

Expand Down Expand Up @@ -549,15 +549,17 @@
return callback(err);
}
else {
var fn = function (left, right) {
var a = left.criteria, b = right.criteria;
return a < b ? -1 : a > b ? 1 : 0;
};
callback(null, _map(results.sort(fn), function (x) {
callback(null, _map(results.sort(comparator), function (x) {
return x.value;
}));
}

});

function comparator(left, right) {
var a = left.criteria, b = right.criteria;
return a < b ? -1 : a > b ? 1 : 0;
}
};

async.auto = function (tasks, callback) {
Expand All @@ -571,23 +573,23 @@
var results = {};

var listeners = [];
var addListener = function (fn) {
function addListener(fn) {
listeners.unshift(fn);
};
var removeListener = function (fn) {
}
function removeListener(fn) {
for (var i = 0; i < listeners.length; i += 1) {
if (listeners[i] === fn) {
listeners.splice(i, 1);
return;
}
}
};
var taskComplete = function () {
}
function taskComplete() {
remainingTasks--;
_each(listeners.slice(0), function (fn) {
fn();
});
};
}

addListener(function () {
if (!remainingTasks) {
Expand All @@ -601,7 +603,7 @@

_each(keys, function (k) {
var task = _isArray(tasks[k]) ? tasks[k]: [tasks[k]];
var taskCallback = function (err) {
function taskCallback(err) {
var args = _baseSlice(arguments, 1);
if (args.length <= 1) {
args = args[0];
Expand All @@ -620,7 +622,7 @@
results[k] = args;
async.setImmediate(taskComplete);
}
};
}
var requires = task.slice(0, Math.abs(task.length - 1)) || [];
// prevent dead-locks
var len = requires.length;
Expand All @@ -633,23 +635,23 @@
throw new Error('Has cyclic dependencies');
}
}
var ready = function () {
function ready() {
return _reduce(requires, function (a, x) {
return (a && results.hasOwnProperty(x));
}, true) && !results.hasOwnProperty(k);
};
}
if (ready()) {
task[task.length - 1](taskCallback, results);
}
else {
var listener = function () {
if (ready()) {
removeListener(listener);
task[task.length - 1](taskCallback, results);
}
};
addListener(listener);
}
function listener() {
if (ready()) {
removeListener(listener);
task[task.length - 1](taskCallback, results);
}
}
});
};

Expand All @@ -664,22 +666,25 @@
}
// Make sure times is a number
times = parseInt(times, 10) || DEFAULT_TIMES;
var wrappedTask = function(wrappedCallback, wrappedResults) {
var retryAttempt = function(task, finalAttempt) {

function wrappedTask(wrappedCallback, wrappedResults) {
function retryAttempt(task, finalAttempt) {
return function(seriesCallback) {
task(function(err, result){
seriesCallback(!err || finalAttempt, {err: err, result: result});
}, wrappedResults);
};
};
}

while (times) {
attempts.push(retryAttempt(task, !(times-=1)));
}
async.series(attempts, function(done, data){
data = data[data.length - 1];
(wrappedCallback || callback)(data.err, data.result);
});
};
}

// If a callback is passed, run this as a controll flow
return callback ? wrappedTask() : wrappedTask;
};
Expand All @@ -693,7 +698,7 @@
if (!tasks.length) {
return callback();
}
var wrapIterator = function (iterator) {
function wrapIterator(iterator) {
return function (err) {
if (err) {
callback.apply(null, arguments);
Expand All @@ -713,11 +718,11 @@
});
}
};
};
}
wrapIterator(async.iterator(tasks))();
};

var _parallel = function(eachfn, tasks, callback) {
function _parallel(eachfn, tasks, callback) {
callback = callback || noop;
if (_isArray(tasks)) {
eachfn.map(tasks, function (fn, callback) {
Expand Down Expand Up @@ -747,7 +752,7 @@
callback(err, results);
});
}
};
}

async.parallel = function (tasks, callback) {
_parallel({ map: async.map, each: async.each }, tasks, callback);
Expand Down Expand Up @@ -790,18 +795,18 @@
};

async.iterator = function (tasks) {
var makeCallback = function (index) {
var fn = function () {
function makeCallback(index) {
function fn() {
if (tasks.length) {
tasks[index].apply(null, arguments);
}
return fn.next();
};
}
fn.next = function () {
return (index < tasks.length - 1) ? makeCallback(index + 1): null;
};
return fn;
};
}
return makeCallback(0);
};

Expand All @@ -814,7 +819,7 @@
};
};

var _concat = function (eachfn, arr, fn, callback) {
function _concat(eachfn, arr, fn, callback) {
var r = [];
eachfn(arr, function (x, cb) {
fn(x, function (err, y) {
Expand All @@ -824,7 +829,7 @@
}, function (err) {
callback(err, r);
});
};
}
async.concat = doParallel(_concat);
async.concatSeries = doSeries(_concat);

Expand Down Expand Up @@ -953,19 +958,20 @@
q.empty();
}
workers += 1;
var next = function () {
workers -= 1;
if (task.callback) {
task.callback.apply(task, arguments);
}
if (q.drain && q.tasks.length + workers === 0) {
q.drain();
}
q.process();
};
var cb = only_once(next);
worker(task.data, cb);
}

function next() {
workers -= 1;
if (task.callback) {
task.callback.apply(task, arguments);
}
if (q.drain && q.tasks.length + workers === 0) {
q.drain();
}
q.process();
}
},
length: function () {
return q.tasks.length;
Expand Down Expand Up @@ -1127,7 +1133,7 @@
return cargo;
};

var _console_fn = function (name) {
function _console_fn(name) {
return function (fn) {
var args = _baseSlice(arguments, 1);
fn.apply(null, args.concat([function (err) {
Expand All @@ -1146,7 +1152,7 @@
}
}]));
};
};
}
async.log = _console_fn('log');
async.dir = _console_fn('dir');
/*async.info = _console_fn('info');
Expand All @@ -1159,7 +1165,7 @@
hasher = hasher || function (x) {
return x;
};
var memoized = function () {
function memoized() {
var args = _baseSlice(arguments);
var callback = args.pop();
var key = hasher.apply(null, args);
Expand All @@ -1182,7 +1188,7 @@
}
}]));
}
};
}
memoized.memo = memo;
memoized.unmemoized = fn;
return memoized;
Expand Down Expand Up @@ -1234,15 +1240,15 @@
};

function _applyEach(eachfn, fns /*args...*/) {
var go = function () {
function go() {
var that = this;
var args = _baseSlice(arguments);
var callback = args.pop();
return eachfn(fns, function (fn, cb) {
fn.apply(that, args.concat([cb]));
},
callback);
};
}
if (arguments.length > 2) {
var args = _baseSlice(arguments, 2);
return go.apply(this, args);
Expand Down

0 comments on commit b11fc31

Please sign in to comment.