Linear asynchronous stateful indexing of a hypercore feed
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
.travis.yml
LICENSE
README.md
example.js
index.js
package.json
test.js

README.md

hypercore-index

Linear asynchronous stateful indexing of a hypercore feed.

build status Greenkeeper badge

Traverses a hypercore feed in chronologic order and lets you consume each entry via some asynchronous function. Remembers where you left inside the feed's db and continues there on later runs.

Example

const ram = require('random-access-memory')
const hypercore = require('hypercore')
const index = require('hypercore-index')

const feed = hypercore(ram)

index(ram(), {
  feed: feed
}, function onentry (entry, next) {
  console.log('entry', entry.toString())
  next()
}, function ondone (err) {
  if (err) throw err
  console.log('Done!')
})

Installation

$ npm install hypercore-index

API

var append = index(storage, opts, onentry, [ondone])

storage is an abstract-random-access compliant storage or file path.

Options:

  • feed: The hypercore feed. Required.
  • start: The first index. Default: 0
  • end: The last index. Default: Infinity
  • live: Whether to keep scanning. Default: true, unless you pass opts.end

If you are the feed owner you can use the append(data, callback) method returned to append data and and wait for it to be indexed

License

MIT