lowlevelup: each.

This commit is contained in:
Christopher Jeffrey 2016-08-15 05:12:03 -07:00
parent e503b7ecad
commit 17b176141e
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD

View File

@ -278,10 +278,19 @@ LowlevelUp.prototype.each = function each(options, handler, callback) {
iter = this.iterator(opt);
(function next(stop) {
if (stop === true)
(function next(err, key) {
if (err && typeof err !== 'boolean') {
return iter.end(function() {
callback(err);
});
}
if (err === false)
return iter.end(callback);
if (err === true)
iter.seek(key);
iter.next(function(err, key, value) {
if (err) {
return iter.end(function() {
@ -292,7 +301,13 @@ LowlevelUp.prototype.each = function each(options, handler, callback) {
if (key === undefined)
return iter.end(callback);
handler(key, value, next, i++);
try {
handler(key, value, next, i++);
} catch (e) {
return iter.end(function() {
callback(e);
});
}
});
})();
};