Network Printer Manager

    orbit-db-kastore

    1.0.5 • Public • Published

    orbit-db-kastore

    Gitter Matrix npm version

    Key-Array database for orbit-db

    A key-array database just like your favourite key-array database.

    Used in ipfs-browser.

    Table of Contents

    Install

    npm install orbit-db ipfs orbit-db-kastore

    Usage

    First, create an instance of OrbitDB:

    const IPFS = require('ipfs')
    const OrbitDB = require('orbit-db')
    const KeyArrayStore = require('orbit-db-kastore')
    
    const ipfs = new IPFS()
    OrbitDB.addDatabaseType("keyarray", KeyArrayStore)
    const orbitdb = await OrbitDB.createInstance(ipfs)

    Get a key-array database and add one or multiple entry to it:

    const options = Object.assign({ type: "keyarray" }, { create: true, disableDelete: false }) // yes you can disable delete command by setting this to true (it is optional and false by default)
    const ka = await orbitdb.open('settings', options)
    ka.add('volume', '100')
      .then(() => {
        console.log(ka.get('volume'))
        // [100]
      })
    // Or:
    ka.add('volume', ['100', '200'])
      .then(() => {
        console.log(ka.get('volume'))
        // [100, 200]
      })

    Later, when the database contains data, load the history and query when ready:

    const options = Object.assign({ type: "keyarray" }, {})
    const ka = await orbitdb.open('settings', options)
    ka.events.on('ready', () => {
      console.log(ka.get('volume'))
      // [100] or [100, 200]
    })

    API

    orbitdb.open(name|address, Object.assign({ type: "keyarray" }, options))

    Creates and opens a keyarray database

    Returns a Promise that resolves to a KeyArrayStore instance.

    const options = Object.assign({ type: "keyarray" }, { create: true })
    const db = await orbitdb.open('application.settings', options)
    // Or:
    const db = await orbitdb.open(anotherkadb.address, options)

    Module: orbit-db-kastore

    append(key, value|values)

    Returns a Promise that resolves to a String that is the multihash of the entry.

    await db.append('hello', { name: 'World' })
    // Or:
    await db.append('hello', [{ name: 'World' }])

    values(key)

    Returns an Array of Object with the contents of the entry.

    const values = db.values('hello')
    // [{ name: 'World' }]

    delete(key)

    Deletes the Array of Object associated with key. Returns a Promise that resolves to a String that is the multihash of the deleted entry.

    const hash = await db.delete('hello')
    // QmbYHhnXEdmdfUDzZKeEg7HyG2f8veaF2wBrYFcSHJ3mvd

    all

    Returns an Object with the contents of all entries in the index.

    const value = db.all
    // { hello: [{ name: 'World' }] }

    Contributing

    If you think this could be better, please open an issue!

    Please note that all interactions in orbit-db-kastore fall under our Code of Conduct.

    License

    MIT ©️ 2016-2018 Protocol Labs Inc., 2018 Haja Networks Oy

    Install

    npm i orbit-db-kastore

    DownloadsWeekly Downloads

    7

    Version

    1.0.5

    License

    MIT

    Unpacked Size

    893 kB

    Total Files

    15

    Last publish

    Collaborators

    • thalusa