A datastore backed by leveldb

Hierarchy (view full)

Constructors

Properties

db: Level<string, Uint8Array>

Methods

  • Parameters

    • opts: {
          prefix?: string;
          values: boolean;
      }
      • Optional prefix?: string
      • values: boolean

    Returns AsyncIterable<Pair>

  • This will return an object with which you can chain multiple operations together, with them only being executed on calling commit.

    Returns Batch<{}>

    Example

    const b = store.batch()

    for (let i = 0; i < 100; i++) {
    b.put(new Key(`hello${i}`), new TextEncoder('utf8').encode(`hello world ${i}`))
    }

    await b.commit()
    console.log('put 100 values')
  • Retrieve values for the passed keys

    Parameters

    Returns AwaitIterable<Pair>

    Example

    for await (const { key, value } of store.getMany([new Key('awesome')])) {
    console.log(`got "${key}" = "${new TextDecoder('utf8').decode(value)}"`')
    // => got "/awesome" = "datastore"
    }
  • Check for the existence of a value for the passed key

    Parameters

    Returns Promise<boolean>

    Example

    const exists = await store.has(new Key('awesome'))

    if (exists) {
    console.log('it is there')
    } else {
    console.log('it is not there')
    }
  • Store the given key/value pairs

    Parameters

    Returns AwaitIterable<Key>

    Example

    const source = [{ key: new Key('awesome'), value: new Uint8Array([0, 1, 2, 3]) }]

    for await (const { key, value } of store.putMany(source)) {
    console.info(`put content for key ${key}`)
    }
  • Query the datastore.

    Parameters

    Returns AsyncIterable<Pair>

    Example

    // retrieve __all__ key/value pairs from the store
    let list = []
    for await (const { key, value } of store.query({})) {
    list.push(value)
    }
    console.log('ALL THE VALUES', list)