npm.io
2.1.1 • Published 5 years ago

@geut/hypercore-promise

Licence
MIT
Version
2.1.1
Deps
1
Size
8 kB
Vulns
0
Weekly
0
Stars
9

hypercore-promise

Build Status JavaScript Style Guide standard-readme compliant

An async/await based wrapper for hypercore (v9+)

Install

$ npm install @geut/hypercore-promise

Usage

const hypercore = require('@geut/hypercore-promise')

;(async () => {
  const feed = hypercore('./my-first-dataset', {valueEncoding: 'utf-8'})

  await feed.append('hello')
  await feed.append('world')

  console.log(await feed.get(0)) // prints hello
  console.log(await feed.get(1)) // prints world
})
Differences with Hypercore

Some methods like get and download not only use callbacks but also returns a value directly.

const id = feed.get(0, (err, data) => {
  console.log(data)
})

Since our methods return promises what you need to do to get the internal value is to use our function helper getValue.

const { getValue } = require('hypercore-promise')

const promise = feed.get(0)
const id = getValue(promise)
promise.then(data => console.log(data))

hypercore-promise already detects the internal value so you don't need to use getValue in that case.

const promise = feed.get(0)
feed.cancel(promise)
promise.catch(err => {
  console.log('was canceled')
})

Issues

If you found an issue we encourage you to report it on github. Please specify your OS and the actions to reproduce it.

Contributing

Ideas and contributions to the project are welcome. You must follow this guideline.

License

MIT A GEUT project