Skip to content

bitwebs/unichain-promise

 
 

Repository files navigation

unichain-promise

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

Install

$ npm install @web4/unichain-promise

Usage

const unichain = require('@web4/unichain-promise')

;(async () => {
  const feed = unichain('./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 Unichain

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('unichain-promise')

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

unichain-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

About

An async/await based wrapper for Unichain

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%