UNPKG

hyperkv

Version:

p2p key/value store over a [hyperlog][1] using a [multi-value register conflict strategy][2]

33 lines (31 loc) 903 B
var test = require('tape') var hyperkv = require('../') var memdb = require('memdb') var hyperlog = require('hyperlog') var sub = require('subleveldown') var collect = require('collect-stream') test('fields', function (t) { t.plan(5) var db = memdb() var kv = hyperkv({ log: hyperlog(sub(db, 'log'), { valueEncoding: 'json' }), db: sub(db, 'kv') }) kv.put('A', 555, { fields: { x: 5 } }, function (err, node) { t.ifError(err) kv.get('A', { fields: true }, function (err, doc) { t.ifError(err) var expected = {} expected[node.key] = { k: 'A', v: 555, x: 5 } t.deepEqual(doc, expected, 'expected values for key A') collect(kv.createReadStream({ fields: true }), function (err, docs) { t.error(err) t.deepEqual(docs, [ { key: 'A', values: expected, links: [node.key] }]) }) }) }) })