diff options
author | Graeme Yeates <yeatesgraeme@gmail.com> | 2015-07-03 02:08:31 -0400 |
---|---|---|
committer | Graeme Yeates <yeatesgraeme@gmail.com> | 2015-07-03 02:08:31 -0400 |
commit | a835c67ba5aa3f14294642f77af4a8538fe7f69a (patch) | |
tree | f5fa096dda1e3c019fae733133618fddd5e5f96e | |
parent | 6e6afb61fca7d4bf57a500c5cb8c030c5ff4e8b7 (diff) | |
download | async-a835c67ba5aa3f14294642f77af4a8538fe7f69a.tar.gz |
Add _indexOf helper
-rw-r--r-- | lib/async.js | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/async.js b/lib/async.js index 45385f9..8560576 100644 --- a/lib/async.js +++ b/lib/async.js @@ -116,6 +116,13 @@ }); } + function _indexOf(arr, item) { + for (var i = 0; i < arr.length; i++) { + if (arr[i] === item) return i; + } + return -1; + } + var _keys = Object.keys || function (obj) { var keys = []; for (var k in obj) { @@ -524,12 +531,8 @@ listeners.unshift(fn); } function removeListener(fn) { - for (var i = 0; i < listeners.length; i += 1) { - if (listeners[i] === fn) { - listeners.splice(i, 1); - return; - } - } + var idx = _indexOf(listeners, fn); + if (idx >= 0) listeners.splice(idx, 1); } function taskComplete() { remainingTasks--; @@ -571,7 +574,7 @@ if (!(dep = tasks[requires[len]])) { throw new Error('Has inexistant dependency'); } - if (_isArray(dep) && !!~dep.indexOf(k)) { + if (_isArray(dep) && _indexOf(dep, k) >= 0) { throw new Error('Has cyclic dependencies'); } } |