Skip to content

DatArchive implementation for browsers that uses dat-gateway

License

Notifications You must be signed in to change notification settings

RangerMauve/dat-archive-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Note: This is being replaced by the Dat SDK

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(), and archive.revert() are not supported
  • DatArchive.selectArchive() doesn't do filtering and looks crappy. Uses window.prompt API
  • DatArchive.resolveName() doesn't work and DNS based urls aren't supported. Waiting for dat-js support

Features

  • Support most DatArchive methods
  • Public bridges used to replicate with non-browser network
  • Detect HTTP/HTTPS in gateway URL
  • Data stored in memory by default, unless it was created locally.
  • [] Functional DatDNS support (via gateway)
  • Full support for versions (Needs testing, but code is there)
  • Forking (without preserving change feed)
  • 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

About

DatArchive implementation for browsers that uses dat-gateway

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published