Comparing version 1.2.0 to 1.2.1
{ | ||
"name": "async", | ||
"description": "Higher-order functions and common patterns for asynchronous code", | ||
"version": "1.0.0", | ||
"version": "1.2.1", | ||
"main": "lib/async.js", | ||
@@ -18,3 +18,4 @@ "keywords": [ | ||
"devDependencies": { | ||
"benchmark": "~1.0.0", | ||
"benchmark": "bestiejs/benchmark.js", | ||
"coveralls": "^2.11.2", | ||
"jshint": "~2.7.0", | ||
@@ -24,3 +25,5 @@ "lodash": ">=2.4.1", | ||
"nodeunit": ">0.0.0", | ||
"uglify-js": "1.2.x" | ||
"nyc": "^2.1.0", | ||
"uglify-js": "1.2.x", | ||
"yargs": "~3.9.1" | ||
}, | ||
@@ -27,0 +30,0 @@ "moduleType": [ |
@@ -0,1 +1,7 @@ | ||
# v1.2.1 | ||
Bug Fix: | ||
- Small regression with synchronous iterator behavior in `eachSeries` with a 1-element array. Before 1.1.0, `eachSeries`'s callback was called on the same tick, which this patch restores. In 2.0.0, it will be called on the next tick. (#782) | ||
# v1.2.0 | ||
@@ -6,3 +12,3 @@ | ||
- Added `timesLimit` (#743) | ||
- `concurrency` can be changed in `async.queue` by setting `q.concurrency`. The concurrency will be reflected the next time a task it processed. (#747, #772) | ||
- `concurrency` can be changed after initialization in `queue` by setting `q.concurrency`. The new concurrency will be reflected the next time a task is processed. (#747, #772) | ||
@@ -13,2 +19,10 @@ Bug Fixes: | ||
# v1.1.1 | ||
Bug Fix: | ||
- Small regression with synchronous iterator behavior in `eachSeries` with a 1-element array. Before 1.1.0, `eachSeries`'s callback was called on the same tick, which this patch restores. In 2.0.0, it will be called on the next tick. (#782) | ||
# v1.1.0 | ||
@@ -15,0 +29,0 @@ |
{ | ||
"name": "async", | ||
"description": "Higher-order functions and common patterns for asynchronous code", | ||
"version": "1.0.0", | ||
"version": "1.2.1", | ||
"keywords": [ | ||
@@ -6,0 +6,0 @@ "async", |
@@ -250,9 +250,9 @@ /*! | ||
var nextKey = _keyIterator(obj); | ||
var key = nextKey(); | ||
function iterate() { | ||
var sync = true; | ||
var key = nextKey(); | ||
if (key === null) { | ||
return callback(null); | ||
} | ||
iterator(obj[key], key, function (err) { | ||
iterator(obj[key], key, only_once(function (err) { | ||
if (err) { | ||
@@ -262,10 +262,14 @@ callback(err); | ||
else { | ||
if (sync) { | ||
async.nextTick(iterate); | ||
key = nextKey(); | ||
if (key === null) { | ||
return callback(null); | ||
} else { | ||
if (sync) { | ||
async.nextTick(iterate); | ||
} else { | ||
iterate(); | ||
} | ||
} | ||
else { | ||
iterate(); | ||
} | ||
} | ||
}); | ||
})); | ||
sync = false; | ||
@@ -311,3 +315,3 @@ } | ||
running += 1; | ||
iterator(obj[key], key, function (err) { | ||
iterator(obj[key], key, only_once(function (err) { | ||
running -= 1; | ||
@@ -321,3 +325,3 @@ if (err) { | ||
} | ||
}); | ||
})); | ||
} | ||
@@ -887,7 +891,7 @@ })(); | ||
q.tasks.splice(0, q.tasks.length); | ||
var data = _map(tasks, function (task) { | ||
return task.data; | ||
}); | ||
if (q.tasks.length === 0) { | ||
@@ -894,0 +898,0 @@ q.empty(); |
@@ -6,3 +6,3 @@ { | ||
"author": "Caolan McMahon", | ||
"version": "1.2.0", | ||
"version": "1.2.1", | ||
"keywords": [ | ||
@@ -63,2 +63,2 @@ "async", | ||
} | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
511738
1934