Skip to content
This repository has been archived by the owner on Dec 2, 2024. It is now read-only.

Commit

Permalink
update all deps, fix standard linting
Browse files Browse the repository at this point in the history
  • Loading branch information
achingbrain committed Jun 24, 2019
1 parent 6024df9 commit e684801
Show file tree
Hide file tree
Showing 9 changed files with 73 additions and 59 deletions.
3 changes: 2 additions & 1 deletion client.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
var levelup = require('levelup')
var duplexify = require('duplexify')
var leveldown = require('./leveldown')
var encoding = require('encoding-down')

module.exports = function (opts) {
if (!opts) opts = {}

var down
opts.db = createLeveldown
opts.onflush = onflush
var db = levelup('multileveldown', opts)
var db = levelup(encoding(createLeveldown('multileveldown'), opts), opts)
db.createRpcStream = db.connect = connect

return db
Expand Down
8 changes: 7 additions & 1 deletion leveldown.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ function Multilevel (path, opts) {
this._streaming = null
this._ref = null
this._db = null
this._opts = opts
}

util.inherits(Multilevel, abstract.AbstractLevelDOWN)
Expand Down Expand Up @@ -206,7 +207,7 @@ Multilevel.prototype._batch = function (batch, opts, cb) {
Multilevel.prototype._write = function (req) {
if (this._requests.length + this._iterators.length === 1) ref(this._ref)
var enc = ENCODERS[req.tag]
var buf = new Buffer(enc.encodingLength(req) + 1)
var buf = Buffer.alloc(enc.encodingLength(req) + 1)
buf[0] = req.tag
enc.encode(req, buf, 1)
this._encode.write(buf)
Expand All @@ -225,6 +226,11 @@ Multilevel.prototype._close = function (cb) {
}

Multilevel.prototype._iterator = function (opts) {
opts = {
...this._opts,
...opts
}

if (this._db) return this._db._iterator(opts)
return new Iterator(this, opts)
}
Expand Down
15 changes: 8 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,20 @@
"description": "multilevel implemented using leveldowns with reconnect support",
"main": "index.js",
"dependencies": {
"abstract-leveldown": "^2.4.1",
"duplexify": "^3.4.2",
"abstract-leveldown": "^6.0.3",
"duplexify": "^4.1.1",
"encoding-down": "^6.0.2",
"end-of-stream": "^1.1.0",
"length-prefixed-stream": "^1.4.0",
"levelup": "^1.3.1",
"length-prefixed-stream": "^2.0.0",
"levelup": "^4.0.2",
"numeric-id-map": "^1.1.0",
"protocol-buffers-encodings": "^1.1.0"
},
"devDependencies": {
"concat-stream": "^1.5.1",
"memdown": "^1.1.0",
"concat-stream": "^2.0.0",
"level-mem": "^4.0.0",
"protocol-buffers": "^4.0.2",
"standard": "^5.4.1",
"standard": "^12.0.1",
"tape": "^4.4.0"
},
"scripts": {
Expand Down
22 changes: 15 additions & 7 deletions server.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ module.exports = function (db, opts) {
})

function callback (id, err, value) {
var msg = {id: id, error: err && err.message, value: value}
var buf = new Buffer(messages.Callback.encodingLength(msg) + 1)
var msg = { id: id, error: err && err.message, value: value }
var buf = Buffer.alloc(messages.Callback.encodingLength(msg) + 1)
buf[0] = 0
messages.Callback.encode(msg, buf, 1)
encode.write(buf)
Expand Down Expand Up @@ -138,10 +138,18 @@ function Iterator (down, req, encode) {
this.batch = req.batch || 0

if (req.options) {
if (req.options.gt === null) req.options.gt = undefined
if (req.options.gte === null) req.options.gte = undefined
if (req.options.lt === null) req.options.lt = undefined
if (req.options.lte === null) req.options.lte = undefined
if (!req.options.gt) {
delete req.options.gt
}
if (!req.options.gte) {
delete req.options.gte
}
if (!req.options.lt) {
delete req.options.lt
}
if (!req.options.lte) {
delete req.options.lte
}
}

this._iterator = down.iterator(req.options)
Expand All @@ -163,7 +171,7 @@ function Iterator (down, req, encode) {
self._data.key = key
self._data.value = value
self.batch--
var buf = new Buffer(messages.IteratorData.encodingLength(self._data) + 1)
var buf = Buffer.alloc(messages.IteratorData.encodingLength(self._data) + 1)
buf[0] = 1
messages.IteratorData.encode(self._data, buf, 1)
encode.write(buf)
Expand Down
3 changes: 2 additions & 1 deletion streams.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
var pbs = require('pbs')
var fs = require('fs')
var path = require('path')

module.exports = pbs(fs.readFileSync(__dirname + '/schema.proto'))
module.exports = pbs(fs.readFileSync(path.join(__dirname, 'schema.proto')))
40 changes: 19 additions & 21 deletions test/basic.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
var tape = require('tape')
var memdown = require('memdown')
var concat = require('concat-stream')
var levelup = require('levelup')
var level = require('level-mem')
var multileveldown = require('../')

tape('get', function (t) {
var db = levelup('no-location', {db: mem})
var db = level()
var stream = multileveldown.server(db)
var client = multileveldown.client()

Expand All @@ -21,7 +20,7 @@ tape('get', function (t) {
})

tape('put', function (t) {
var db = levelup('no-location', {db: mem})
var db = level()
var stream = multileveldown.server(db)
var client = multileveldown.client()

Expand All @@ -38,11 +37,11 @@ tape('put', function (t) {
})

tape('readonly', function (t) {
var db = levelup('no-location', {db: mem})
var db = level()

db.put('hello', 'verden')

var stream = multileveldown.server(db, {readonly: true})
var stream = multileveldown.server(db, { readonly: true })
var client = multileveldown.client()

stream.pipe(client.createRpcStream()).pipe(stream)
Expand All @@ -58,7 +57,7 @@ tape('readonly', function (t) {
})

tape('del', function (t) {
var db = levelup('no-location', {db: mem})
var db = level()
var stream = multileveldown.server(db)
var client = multileveldown.client()

Expand All @@ -78,13 +77,13 @@ tape('del', function (t) {
})

tape('batch', function (t) {
var db = levelup('no-location', {db: mem})
var db = level()
var stream = multileveldown.server(db)
var client = multileveldown.client()

stream.pipe(client.createRpcStream()).pipe(stream)

client.batch([{type: 'put', key: 'hello', value: 'world'}, {type: 'put', key: 'hej', value: 'verden'}], function (err) {
client.batch([{ type: 'put', key: 'hello', value: 'world' }, { type: 'put', key: 'hej', value: 'verden' }], function (err) {
t.error(err, 'no err')
client.get('hello', function (err, value) {
t.error(err, 'no err')
Expand All @@ -99,42 +98,41 @@ tape('batch', function (t) {
})

tape('read stream', function (t) {
var db = levelup('no-location', {db: mem})
var db = level()
var stream = multileveldown.server(db)
var client = multileveldown.client()

stream.pipe(client.createRpcStream()).pipe(stream)

client.batch([{type: 'put', key: 'hello', value: 'world'}, {type: 'put', key: 'hej', value: 'verden'}], function (err) {
client.batch([{ type: 'put', key: 'hello', value: 'world' }, { type: 'put', key: 'hej', value: 'verden' }], function (err) {
t.error(err, 'no err')

var rs = client.createReadStream()
rs.pipe(concat(function (datas) {
t.same(datas.length, 2)
t.same(datas[0], {key: 'hej', value: 'verden'})
t.same(datas[1], {key: 'hello', value: 'world'})
t.same(datas[0], { key: 'hej', value: 'verden' })
t.same(datas[1], { key: 'hello', value: 'world' })
t.end()
}))
})
})

tape('read stream (gt)', function (t) {
var db = levelup('no-location', {db: mem})
var db = level()
var stream = multileveldown.server(db)
var client = multileveldown.client()

stream.pipe(client.createRpcStream()).pipe(stream)

client.batch([{type: 'put', key: 'hello', value: 'world'}, {type: 'put', key: 'hej', value: 'verden'}], function (err) {
client.batch([{ type: 'put', key: 'hello', value: 'world' }, { type: 'put', key: 'hej', value: 'verden' }], function (err) {
t.error(err, 'no err')
var rs = client.createReadStream({gt: 'hej'})
var rs = client.createReadStream({
gt: 'hej'
})
rs.pipe(concat(function (datas) {
t.same(datas.length, 1)
t.same(datas[0], {key: 'hello', value: 'world'})
t.same(datas[0], { key: 'hello', value: 'world' })
t.end()
}))
})
})

function mem () {
return memdown()
}
7 changes: 3 additions & 4 deletions test/concurrent.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
var tape = require('tape')
var memdown = require('memdown')
var levelup = require('levelup')
var level = require('level-mem')
var concat = require('concat-stream')
var multileveldown = require('../')

tape('two concurrent iterators', function (t) {
var db = levelup('', {db: memdown})
var db = level()
var server = multileveldown.server(db)
var client = multileveldown.client()

server.pipe(client.connect()).pipe(server)

var batch = []
for (var i = 0; i < 100; i++) batch.push({type: 'put', key: 'key-' + i, value: 'value-' + i})
for (var i = 0; i < 100; i++) batch.push({ type: 'put', key: 'key-' + i, value: 'value-' + i })

client.batch(batch, function (err) {
t.error(err)
Expand Down
27 changes: 14 additions & 13 deletions test/retry.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
var tape = require('tape')
var memdown = require('memdown')
var levelup = require('levelup')
var level = require('level-mem')
var multileveldown = require('../')

tape('retry get', function (t) {
var db = levelup('no-location', {db: memdown})
var db = level()
var stream = multileveldown.server(db)
var client = multileveldown.client({retry: true})
var client = multileveldown.client({ retry: true })

db.put('hello', 'world', function () {
client.get('hello', function (err, value) {
Expand All @@ -20,9 +19,9 @@ tape('retry get', function (t) {
})

tape('no retry get', function (t) {
var db = levelup('no-location', {db: memdown})
var db = level()
var stream = multileveldown.server(db)
var client = multileveldown.client({retry: false})
var client = multileveldown.client({ retry: false })

client.open(function () {
db.put('hello', 'world', function () {
Expand All @@ -44,9 +43,9 @@ tape('no retry get', function (t) {
})

tape('retry get', function (t) {
var db = levelup('no-location', {db: memdown})
var db = level()
var stream = multileveldown.server(db)
var client = multileveldown.client({retry: true})
var client = multileveldown.client({ retry: true })

client.open(function () {
db.put('hello', 'world', function () {
Expand All @@ -69,8 +68,8 @@ tape('retry get', function (t) {
})

tape('retry read stream', function (t) {
var db = levelup('no-location', {db: memdown})
var client = multileveldown.client({retry: true})
var db = level()
var client = multileveldown.client({ retry: true })

client.open(function () {
db.batch([{
Expand Down Expand Up @@ -124,8 +123,8 @@ tape('retry read stream', function (t) {
})

tape('retry read stream and limit', function (t) {
var db = levelup('no-location', {db: memdown})
var client = multileveldown.client({retry: true})
var db = level()
var client = multileveldown.client({ retry: true })

client.open(function () {
db.batch([{
Expand All @@ -141,7 +140,9 @@ tape('retry read stream and limit', function (t) {
key: 'hola',
value: 'mundo'
}], function () {
var rs = client.createReadStream({limit: 2})
var rs = client.createReadStream({
limit: 2
})
var expected = [{
key: 'hej',
value: 'verden'
Expand Down
7 changes: 3 additions & 4 deletions test/streams.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
var tape = require('tape')
var memdown = require('memdown')
var levelup = require('levelup')
var level = require('level-mem')
var concat = require('concat-stream')
var multileveldown = require('../')

tape('two concurrent iterators', function (t) {
var db = levelup('', {db: memdown})
var db = level()
var server = multileveldown.server(db)
var client = multileveldown.client()

server.pipe(client.connect()).pipe(server)

var batch = []
for (var i = 0; i < 100; i++) batch.push({type: 'put', key: 'key-' + i, value: 'value-' + i})
for (var i = 0; i < 100; i++) batch.push({ type: 'put', key: 'key-' + i, value: 'value-' + i })

client.batch(batch, function (err) {
t.error(err)
Expand Down

0 comments on commit e684801

Please sign in to comment.