fs-ndjson

    1.1.0 • Public • Published

    fs-ndjson NPM version Build Status Dependency Status Coverage percentage

    read and write NDJSON files (Newline Delimited JSON)

    FYI

    While NDJSON is often used for efficient streaming of JSON, it is also a good format for persisting and retreiving object data collections to and from disk. For example, NeDB uses the format.

    See Also:

    API

    The following fs-ndjson methods mirror the fs core module method APIs, however, the methods have been universalified so that you can use promises or callbacks for async.

    • readFile
    • readFileSync
    • writeFile
    • writeFileSync

    BONUS: writeFile and writeFileSync will create the parent directory, if it does not already exist.

    Installation

    $ npm install --save fs-ndjson

    Usage

    Given /Users/tyler/project-mayhem/enemies.db contains

      {"name":"Equifax","location":"Atlanta, GA"}
      {"name":"Visa","location":"Foster City, CA"}
    
    const fsNdjson = require('fs-ndjson');
     
    // can return a promise
    fsNdjson.readFile('/Users/tyler/project-mayhem/enemies.db').then(targets => {
      console.log(targets);
      // [
      //   {
      //     name: "Equifax",
      //     location: "Atlanta, GA"
      //   },
      //   {
      //     name: "Visa",
      //     location: "Foster City, CA"
      //   }
      // ]
    });
     
    // can use a callback
    fsNdjson.readFile('/Users/tyler/project-mayhem/enemies.db', (err, enemies) => {
      if (err) throw err;
      console.log(enemies.length);
      // => 2
    });
     
    // can be used synchronously
    let enemies = fsNdjson.readFileSync('/Users/tyler/project-mayhem/enemies.db');
     
    // ******** BUT WAIT, THERE'S MORE! ******** //
    // Not only does it read, but it writes too! //
     
    // fsNdjson.writeFile     // use callback or promise
    // fsNdjson.writeFileSync // does what you think it does

    License

    ISC © Buster Collings

    Install

    npm i fs-ndjson

    DownloadsWeekly Downloads

    72

    Version

    1.1.0

    License

    ISC

    Unpacked Size

    11.4 kB

    Total Files

    10

    Last publish

    Collaborators

    • buster