mountable-hypertrie
v2.8.0
Published
A Hypertrie wrapper that supports mounting of other Hypertries
Downloads
311
Readme
mountable-hypertrie
A Hypertrie wrapper that supports mounting of sub-Hypertries.
Usage
A MountableHypertrie can be mounted within another MountableHypertrie by using the mount
command:
const store = corestore(ram)
const trie1 = new MountableHypertrie(store)
const trie2 = new MountableHypertrie(store)
trie2.ready(() => {
trie1.mount('/a', trie2.key, ...)
})
Assuming trie2
has a value 'hello' at /b/c
:
trie1.get('/a/b/c', console.log) // Will return Buffer.from('hello')
A mount can be removed by performing a del
on the mountpoint :
trie1.del('/a', err => {
trie1.get('/a/b/c', console.log) // Will print `null`
})
API
mountable-hypertrie
re-exposes the hypertrie
API, with the addition of the following methods (and a different constructor):
const trie = new MountableHypertrie(corestore, key, opts)
corestore
: any object that implements the corestore interface. For now, it's recommanded to userandom-access-corestore
key
is the hypertrie keyopts
can contain anyhypertrie
options
trie.mount(path, key, opts, cb)
path
is the mountpointkey
is the key for the MountableHypertrie to be mounted atpath
opts
can include:
{
remotePath: '/remote/path', // An optional base path within the mount.
version: 1 // An optional checkout version
}
Note: We're still adding support for many hypertrie methods. Here's what's been implemented so far:
- [x]
get
- [x]
put
- [x]
del
- [ ]
batch
- [x]
iterator
- [x]
list
- [x]
createReadStream
- [ ]
createWriteStream
- [x]
checkout
- [x]
watch
- [ ]
createHistoryStream
- [x]
createDiffStream
License
MIT