sub-encoder
Generate sub encodings for key/value stores
Usage
const enc = new SubEncoder()
const subA = enc.sub('sub-a')
const subB = enc.sub('sub-b', 'binary')
await bee.put('k1', 'b')
await bee.put('a1', 'a1', { keyEncoding: subA })
await bee.put('b1', 'b1', { keyEncoding: subB })
await bee.get('k1')
await bee.get('a1', { keyEncoding: subA })
for await (const node of bee.createReadStream({ keyEncoding: subA })) {
}
for await (const node of bee.createReadStream({ lt: 'b2' }, { keyEncoding: subB })) {
}
API
const enc = new SubEncoder([prefix, encoding])
Create a new SubEncoder. Optionally set the initial prefix and encoding.
prefix
can be string or Buffer. If set, acts as an initial sub instead of starting at the Hyperbee's base level.
subEnc = enc.sub(prefix, [encoding])
Make a new sub. Returns a SubEncoder, so subs can easily be nested.
prefix
can be string or Buffer.
buf = enc.encode(key)
Encode a key.
key = enc.decode(buf)
Decode a key.
encodedRange = enc.encodeRange(range)
Encode a range.
License
Apache-2.0