map-reduce
Advanced tools
Comparing version 3.2.2 to 3.2.3
42
index.js
@@ -53,5 +53,4 @@ var Trigger = require('level-trigger') | ||
}) | ||
mapDb.batch.call(mapDb, batch, function (err) { | ||
done(err) | ||
}) | ||
mapDb.batch.call(mapDb, batch, done) | ||
}) | ||
@@ -75,23 +74,22 @@ }) | ||
var acc = initial | ||
next(function () { | ||
//process.nextTick(function () { | ||
mapDb.createReadStream(range.range(array.concat(true))) | ||
.on('data', function (e) { | ||
try { | ||
acc = reduce(acc, e.value) | ||
} catch (err) { console.error(err); return done(err); this.destroy() } | ||
}) | ||
.on('end', function () { | ||
mapDb.batch([{ | ||
key : range.stringify(array), | ||
value: acc, | ||
type : acc == null ? 'del' : 'put' | ||
}], function (err) { | ||
if(err) return done(err) | ||
mapDb.createReadStream(range.range(array.concat(true))) | ||
.on('data', function (e) { | ||
try { | ||
acc = reduce(acc, e.value) | ||
} catch (err) { | ||
console.error(err); return done(err); this.destroy() } | ||
}) | ||
.on('end', function () { | ||
var batch | ||
mapDb.batch([batch = { | ||
key : range.stringify(array), | ||
value: ''+acc, | ||
type : acc == null ? 'del' : 'put' | ||
}], function (err) { | ||
if(err) return done(err) | ||
mapDb.emit('reduce', array, acc) | ||
done() | ||
}) | ||
mapDb.emit('reduce', array, acc) | ||
done() | ||
}) | ||
}, 10) | ||
}) | ||
}) | ||
@@ -98,0 +96,0 @@ |
{ | ||
"name": "map-reduce", | ||
"description": "map-reduce on leveldb", | ||
"version": "3.2.2", | ||
"version": "3.2.3", | ||
"homepage": "https://github.com/dominictarr/map-reduce", | ||
@@ -12,3 +12,3 @@ "repository": { | ||
"dependencies": { | ||
"level-trigger": "~1.1.1", | ||
"level-trigger": "~1.1.4", | ||
"level-live-stream": "~1.4.0" | ||
@@ -15,0 +15,0 @@ }, |
@@ -36,12 +36,20 @@ var MapReduce = require('..') | ||
db.put('E', '50') | ||
var total, vowels, consonants | ||
mr.on('reduce', function (key, sum) { | ||
console.log(key, sum) | ||
if(key.length == 0) { | ||
assert.equal(Number(sum), 150) | ||
total = +sum | ||
} else if(key[0] == 'vowel') | ||
assert.equal(Number(sum), 60) | ||
vowels = +sum //60 | ||
else if(key[0] == 'consonant') | ||
assert.equal(Number(sum), 90) | ||
consonants = +sum | ||
}) | ||
process.on('exit', function () { | ||
assert.equal(total, 150) | ||
assert.equal(vowels, 60) | ||
assert.equal(consonants, 90) | ||
}) |
@@ -34,2 +34,3 @@ | ||
//need to assert that this value is EVENTUALLY equal to (n * (n + 1)) / 2 | ||
console.log(key, sum) | ||
if(key.length == 0 && sum == target) | ||
@@ -36,0 +37,0 @@ TOTAL = true |
19020
426
Updatedlevel-trigger@~1.1.4