Socket
Socket
Sign inDemoInstall

debussy

Package Overview
Dependencies
0
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    debussy

simple, fast, and efficient file reader, line by line


Version published
Weekly downloads
3
decreased by-50%
Maintainers
1
Install size
5.32 kB
Created
Weekly downloads
 

Readme

Source

debussy

Simple, fast, and efficient file reader - line by line

Installation

npm install debussy --save

Overview

You want to read files line by line. And you cannot be bothered with memory limitations because of the size of the file.

This module neatly does the trick for you, even if you need to parse a 20 GB log file.

Usage

const Debussy = require('debussy');
const FileReader = new Debussy('/path/to/file');

// or pass in options to override defaults.
// refer to fs.createReadStream() documentation.
const FileReader = new Debussy(filename, {encoding: 'utf-8'});

FileReader.on('line', line => {
  // process line...

  // found what you need; stop the stream.
  FileReader.stop();
});

FileReader.on('end', () => {
  // do whatever you want after last line has been read...
});

As of node v6.2.0, import statement still not implemented. And not gonna complicate things transpiling to ES5.

Technical Notes

We're using node's built-in streaming, readline, and event emit tech. The module is very small. The inspiration for creating this npm package was so I wouldn't have to keep looking up and repeating the same stream and readline node syntax every time I needed to parse a file.

Why Name the Module Debussy?

After researching similar npm modules, I discovered I really didn't have to write this at all and I could be using someone else's npm package instead. But that's no fun. Also, I get to make my interface the way I think it should be done. And giving the module a name which represented its functionality would have lost my version in a sea of names like file-reader, line-read, file-line-read, stream-line-reader, line-reader-stream, read-by-line, reader-line-stuff, etc.

I therefore paid homage to one of the greatest composers.

Enjoy!

Gerry Gold May 2016

Keywords

FAQs

Last updated on 02 Oct 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc