A dwtrie wrapper that supports mounting of other dwtries
npm install mountable-dwtrieA Hypertrie wrapper that supports mounting of sub-Hypertries.
mount command:js
const store = dwebx(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:
`js
trie1.get('/a/b/c', console.log) // Will return Buffer.from('hello')
`A mount can be removed by performing a
del on the mountpoint :
`js
trie1.del('/a', err => {
trie1.get('/a/b/c', console.log) // Will print null
})
`
$3
mountable-dwtrie re-exposes the dwtrie API, with the addition of the following methods (and a different constructor):####
const trie = new MountableHypertrie(dwebx, key, opts)
- dwebx: any object that implements the dwebx interface. For now, it's recommanded to use random-access-dwebx
- key is the dwtrie key
- opts can contain any dwtrie options####
trie.mount(path, key, opts, cb)
- path is the mountpoint
- key is the key for the MountableHypertrie to be mounted at pathopts 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 dwtrie 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`