Skip to content

Latest commit

 

History

History
42 lines (32 loc) · 1.07 KB

README.md

File metadata and controls

42 lines (32 loc) · 1.07 KB

line-by-line-promise

is a NodeJS module that reads large text files line by line, without buffering the files into memory. It is built upon line-by-line but returns Promise for every line read, enabling generator based flow-control.

Installation:

npm install line-by-line-promise

Usage

var LineReader = require('line-by-line-promise');
var file = new LineReader('big_file.txt');

// Example using co: https://github.com/tj/co
co(function* () {
    var line;
    // note that eof is defined when `readLine()` yields `null`
    while((line = yield file.readLine()) !== null) {
        console.log(line);
    }
});

// Example using bluebird: https://github.com/petkaantonov/bluebird
Promise.coroutine(function* () {
    var line;
    // note that eof is defined when `readLine()` yields `null`
    while((line = yield file.readLine()) !== null) {
        console.log(line);
    }
})();

License

MIT License. See license text in LICENSE