Socket
Socket
Sign inDemoInstall

sub-encoder

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sub-encoder - npm Package Compare versions

Comparing version 1.0.3 to 1.0.4

4

package.json
{
"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))

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc