Nascent Political Miscreant

    levelup-async-iterator
    TypeScript icon, indicating that this package has built-in type declarations

    0.3.0 • Public • Published

    LevelUP Async Iterator

    LevelDB Logo

    adds iterator() to levelup that returns this._db.iterator(options) plus an injected [Symbol.asyncIterator] property

    Usage

    this package requires that the host system support async-iteration. Currently for node 8.x, this requires running your application with:

    node --harmony_async_iteration example.js
    

    import/require levelup-async-iterator on app entry;

    import 'levelup-async-iterator';
    import * as levelup from 'levelup';
    import * as leveldown from 'leveldown';
    import * as encode from 'encoding-down';
     
    let db = levelup(encode(leveldown('./db')));
     
    async function main() {
      await db.put("a", "John");
      await db.put("b", "James");
      await db.put("c", "Janet");
      await db.put("d", "Joseph");
     
      let iter = db.iterator();  
     
      for await (let [key, value] of iter) {
        if(key === "a"){
          iter.it.seek("c");
        }
        console.log(key, value);
      }
    }
     
    main();

    output:

    D:\Code\levelup-async-iterator>ts-node example
    a John
    c Janet
    d Joseph
    

    iterator([options])

    db.iterator() creates a iterator from the underlying store. the options parameter is the same as what you'd use for createReadStream

    Keywords

    none

    Install

    npm i levelup-async-iterator

    DownloadsWeekly Downloads

    4

    Version

    0.3.0

    License

    none

    Last publish

    Collaborators

    • meirionhughes