sub-encoder
Advanced tools
Comparing version 1.0.3 to 1.0.4
{ | ||
"name": "sub-encoder", | ||
"version": "1.0.3", | ||
"version": "1.0.4", | ||
"description": "Generate sub encodings for key/value stores", | ||
@@ -27,3 +27,2 @@ "main": "index.js", | ||
"hypercore": "^10.3.2", | ||
"hyperbee": "github:hypercore-protocol/hyperbee#batch-put-encodings", | ||
"random-access-memory": "^6.0.0", | ||
@@ -35,4 +34,5 @@ "standard": "^17.0.0" | ||
"codecs": "^3.0.0", | ||
"hyperbee": "^2.4.0", | ||
"is-options": "^1.0.2" | ||
} | ||
} |
@@ -87,2 +87,39 @@ const test = require('brittle') | ||
test('sub range diff encoding with hyperbee', async t => { | ||
const bee = new Hyperbee(new Hypercore(ram), { valueEncoding: 'utf-8' }) | ||
const enc = new SubEncoder({ keyEncoding: 'utf-8' }) | ||
const subA = enc.sub('sub-a', { keyEncoding: 'utf-8' }) | ||
const subB = enc.sub('sub-b', { keyEncoding: 'utf-8' }) | ||
const subC = enc.sub('sub-c', { keyEncoding: 'utf-8' }) | ||
await bee.put(enc.encode('d1'), 'd2') | ||
await bee.put(subA.encode('a1'), 'a1') | ||
await bee.put(subB.encode('b1'), 'b1') | ||
await bee.put(subB.encode('b2'), 'b2') | ||
await bee.put(subB.encode('b3'), 'b3') | ||
await bee.put(subC.encode('c1'), 'c1') | ||
{ | ||
const range = enc.range({ lt: 'sub' }) | ||
const nodes = await collect(bee.createDiffStream(0, range)) | ||
t.is(nodes.length, 1) | ||
t.is(nodes[0].left.key, 'd1') | ||
} | ||
{ | ||
const range = subA.range() | ||
const nodes = await collect(bee.createDiffStream(0, range)) | ||
t.is(nodes.length, 1) | ||
t.is(nodes[0].left.key, 'a1') | ||
} | ||
{ | ||
const range = subB.range({ gt: 'b1', lt: 'b3' }) | ||
const nodes = await collect(bee.createDiffStream(0, range)) | ||
t.is(nodes.length, 1) | ||
t.is(nodes[0].left.key, 'b2') | ||
} | ||
}) | ||
test('supports the empty sub', async t => { | ||
@@ -89,0 +126,0 @@ const bee = new Hyperbee(new Hypercore(ram)) |
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
8812
4
191
4
+ Addedhyperbee@^2.4.0
+ Addedbare-events@2.5.0(transitive)
+ Addeddebounceify@1.1.0(transitive)
+ Addedfast-fifo@1.3.2(transitive)
+ Addedhyperbee@2.20.2(transitive)
+ Addedhypercore-errors@1.3.0(transitive)
+ Addedmutexify@1.4.0(transitive)
+ Addedprotocol-buffers-encodings@1.2.0(transitive)
+ Addedqueue-tick@1.0.1(transitive)
+ Addedrache@1.0.0(transitive)
+ Addedready-resource@1.1.1(transitive)
+ Addedsafety-catch@1.0.2(transitive)
+ Addedsigned-varint@2.0.1(transitive)
+ Addedstreamx@2.20.1(transitive)
+ Addedtext-decoder@1.2.0(transitive)
+ Addedunslab@1.3.0(transitive)
+ Addedvarint@5.0.0(transitive)