Comparing version 0.2.9 to 0.2.10
@@ -2295,4 +2295,3 @@ (function() { | ||
// TODO ? | ||
if (_isFunction(c.empty)) { | ||
if (!c.length() && _isFunction(c.empty)) { | ||
c.empty(); | ||
@@ -2467,11 +2466,10 @@ } | ||
var size = 0; | ||
var key = 0; | ||
var keys = []; | ||
if (_isArray(tasks)) { | ||
size = tasks.length; | ||
} else { | ||
var keys = _keys(tasks); | ||
keys = _keys(tasks); | ||
size = keys.length; | ||
key = keys[key]; | ||
} | ||
return makeCallback(key); | ||
return makeCallback(0); | ||
@@ -2482,3 +2480,4 @@ function makeCallback(index) { | ||
if (size) { | ||
tasks[index].apply(null, arguments); | ||
var key = keys[index] || index; | ||
tasks[key].apply(null, arguments); | ||
} | ||
@@ -2485,0 +2484,0 @@ return fn.next(); |
{ | ||
"name": "neo-async", | ||
"version": "0.2.9", | ||
"version": "0.2.10", | ||
"description": "Neo-Async is compatible with Async.js, it is faster and has more feature.", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -117,3 +117,3 @@ /* global describe, it */ | ||
it('should cause error', function(done) { | ||
it('should throw error', function(done) { | ||
@@ -138,2 +138,32 @@ var order = []; | ||
it('should return response immediately if array is empty', function(done) { | ||
var iterator = function(memo, value, key, callback) { | ||
callback(); | ||
}; | ||
async.transform([], iterator, function(err, res) { | ||
if (err) { | ||
return done(err); | ||
} | ||
assert.deepEqual(res, []); | ||
done(); | ||
}); | ||
}); | ||
it('should return response immediately if object is empty', function(done) { | ||
var iterator = function(memo, value, key, callback) { | ||
callback(); | ||
}; | ||
async.transform({}, iterator, function(err, res) { | ||
if (err) { | ||
return done(err); | ||
} | ||
assert.deepEqual(res, {}); | ||
done(); | ||
}); | ||
}); | ||
}); | ||
@@ -218,3 +248,3 @@ | ||
it('should cause error', function(done) { | ||
it('should throw error', function(done) { | ||
@@ -239,2 +269,32 @@ var order = []; | ||
it('should return response immediately if array is empty', function(done) { | ||
var iterator = function(memo, value, key, callback) { | ||
callback(); | ||
}; | ||
async.transformSeries([], iterator, function(err, res) { | ||
if (err) { | ||
return done(err); | ||
} | ||
assert.deepEqual(res, []); | ||
done(); | ||
}); | ||
}); | ||
it('should return response immediately if object is empty', function(done) { | ||
var iterator = function(memo, value, key, callback) { | ||
callback(); | ||
}; | ||
async.transformSeries({}, iterator, function(err, res) { | ||
if (err) { | ||
return done(err); | ||
} | ||
assert.deepEqual(res, {}); | ||
done(); | ||
}); | ||
}); | ||
}); | ||
@@ -247,3 +307,3 @@ | ||
var order = []; | ||
var collection = [1, 3, 4, 2, 3, 1]; | ||
var collection = [1, 3, 4, 2, 3, 1, 1]; | ||
@@ -254,4 +314,4 @@ async.transformLimit(collection, 2, transformIterator(order), function(err, res) { | ||
} | ||
assert.deepEqual(res, [1, 3, 1, 3]); | ||
assert.deepEqual(order, [1, 3, 2, 4, 1, 3]); | ||
assert.deepEqual(res, [1, 3, 1, 3, 1]); | ||
assert.deepEqual(order, [1, 3, 2, 4, 1, 3, 1]); | ||
done(); | ||
@@ -325,3 +385,3 @@ }); | ||
it('should cause error', function(done) { | ||
it('should throw error', function(done) { | ||
@@ -346,3 +406,33 @@ var order = []; | ||
it('should return response immediately if array is empty', function(done) { | ||
var iterator = function(memo, value, key, callback) { | ||
callback(); | ||
}; | ||
async.transformLimit([], 3, iterator, function(err, res) { | ||
if (err) { | ||
return done(err); | ||
} | ||
assert.deepEqual(res, []); | ||
done(); | ||
}); | ||
}); | ||
it('should return response immediately if object is empty', function(done) { | ||
var iterator = function(memo, value, key, callback) { | ||
callback(); | ||
}; | ||
async.transformLimit({}, 2, iterator, function(err, res) { | ||
if (err) { | ||
return done(err); | ||
} | ||
assert.deepEqual(res, {}); | ||
done(); | ||
}); | ||
}); | ||
}); | ||
@@ -13,3 +13,3 @@ /* global describe, it */ | ||
var order = []; | ||
var delays = [160, 160, 80]; | ||
var delays = [40, 40, 20]; | ||
var iterator = function(tasks, callback) { | ||
@@ -46,3 +46,3 @@ setTimeout(function() { | ||
}); | ||
}, 60); | ||
}, 20); | ||
@@ -63,3 +63,3 @@ setTimeout(function() { | ||
}); | ||
}, 120); | ||
}, 30); | ||
@@ -74,3 +74,3 @@ setTimeout(function() { | ||
done(); | ||
}, 800); | ||
}, 200); | ||
@@ -82,3 +82,3 @@ }); | ||
var order = []; | ||
var delays = [160, 80, 240, 80]; | ||
var delays = [40, 20, 60, 20]; | ||
@@ -95,3 +95,3 @@ var c = async.cargo(function(tasks, callback) { | ||
c.push(2); | ||
}, 120); | ||
}, 30); | ||
setTimeout(function() { | ||
@@ -101,3 +101,3 @@ c.push(3); | ||
c.push(5); | ||
}, 180); | ||
}, 45); | ||
@@ -112,3 +112,3 @@ setTimeout(function() { | ||
done(); | ||
}, 800); | ||
}, 200); | ||
@@ -120,3 +120,3 @@ }); | ||
var order = []; | ||
var delays = [120, 40]; | ||
var delays = [30, 10]; | ||
@@ -147,3 +147,3 @@ var c = async.cargo(function(tasks, callback) { | ||
done(); | ||
}, 800); | ||
}, 200); | ||
}); | ||
@@ -177,3 +177,3 @@ | ||
done(); | ||
}, 500); | ||
}, 120); | ||
@@ -187,2 +187,3 @@ }); | ||
order.push(tasks); | ||
assert.ok(c.running()); | ||
callback(); | ||
@@ -195,2 +196,6 @@ }, 3); | ||
}; | ||
var saturated = false; | ||
c.saturated = function() { | ||
saturated = true; | ||
}; | ||
@@ -201,2 +206,7 @@ var n = 10; | ||
assert.strictEqual(c.length(), 10); | ||
var empty = false; | ||
c.empty = function() { | ||
empty = true; | ||
}; | ||
setTimeout(loadCargo, 50); | ||
@@ -216,2 +226,3 @@ | ||
assert.strictEqual(drainCounter, 2); | ||
assert.ok(saturated); | ||
done(); | ||
@@ -222,3 +233,4 @@ }, 100); | ||
}); | ||
@@ -40,2 +40,33 @@ /* global describe, it */ | ||
it('should execute object iterators', function(done) { | ||
var order = []; | ||
var iterator = async.iterator({ | ||
a: function() { | ||
order.push(1); | ||
}, | ||
b: function(arg1) { | ||
assert.equal(arg1, 'arg1'); | ||
order.push(2); | ||
}, | ||
c: function(arg1, arg2) { | ||
assert.equal(arg1, 'arg1'); | ||
assert.equal(arg2, 'arg2'); | ||
order.push(3); | ||
} | ||
}); | ||
iterator(); | ||
assert.deepEqual(order, [1]); | ||
var iterator2 = iterator(); | ||
assert.deepEqual(order, [1, 1]); | ||
var iterator3 = iterator2('arg1'); | ||
assert.deepEqual(order, [1, 1, 2]); | ||
var iterator4 = iterator3('arg1', 'arg2'); | ||
assert.deepEqual(order, [1, 1, 2, 3]); | ||
assert.equal(iterator4, undefined); | ||
done(); | ||
}); | ||
it('should get undefined if array is empty', function(done) { | ||
@@ -42,0 +73,0 @@ |
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
209440
7004
52