dat-archive-web
v2.0.5
Published
DatArchive implementation for borwsers that uses dat-gateway
Downloads
5
Readme
dat-archive-web
DatArchive implementation for browsers using dat-js
npm install --save dat-archive-web
Or
<script src="//unpkg.com/dat-archive-web/bundle.js"></script>
Example
// After including the bundle in a script tag, or requiring it
const archive = new DatArchive('dat://87ed2e3b160f261a032af03921a3bd09227d0a4cde73466c17114816cae43336')
// Subscribe to network events
archive.addEventListener("download", ({bytes}) => console.log(`Downloaded ${bytes} bytes`))
// Subscribe to file events
const emitter = archive.watch("/path/to/watch")
emitter.addEventListener("change", ({path}) => console.log(`file at path: ${path} changed!`))
archive.readFile('/index.html')
.then((html) => console.log(html))
API
Implements the same interface as DatArchive in Beaker with the following exceptions:
archive.diff()
,archive.commit()
, andarchive.revert()
are not supportedDatArchive.selectArchive()
doesn't do filtering and looks crappy. Uses window.prompt APIDatArchive.resolveName()
doesn't work and DNS based urls aren't supported. Waiting for dat-js support
Features
- [x] Support most DatArchive methods
- [x] Public bridges used to replicate with non-browser network
- [x] Detect HTTP/HTTPS in gateway URL
- [x] Data stored in memory by default, unless it was created locally.
- [] Functional DatDNS support (via gateway)
- [x] Full support for versions (Needs testing, but code is there)
- [x] Forking (without preserving change feed)
- [x] DatArchive.selectArchive() Really rudimentary
Development
- This project uses the
standard
code style - Run the example in node with
npm install && npm run example
- Build the browserify bundle with
npm run build