co-readline

1.2.2 • Public • Published

co-readline

Build Status

codecov

Read a file line by line in generator/co style.

install

$ npm i co-readline

easy example

var coReadline = require('co-readline')
var co = require('co')
 
co(function * () {
  var NORMAL_FILE_PATH = 'absolute_path_to_file'
  var rlGen = coReadline(NORMAL_FILE_PATH)
 
  var lines = []
 
  for (var line of rlGen) {
    if (line.then) { // `line` could be Promise or String
      line = yield line;
    }
 
    lines.push(line)
  }
 
  var fileContent = yield fs.readFile(NORMAL_FILE_PATH, 'utf-8')
  fileContent.should.equal(lines.join('\n'))
})
 

api

coReadline(filePath) return a generator, then do for..of to it

benchmark

About 1/3 speed of build-in readline module

About 1/6 speed of fs.readFileSync

Read about 1 million lines per second

Readme

Keywords

none

Package Sidebar

Install

npm i co-readline

Weekly Downloads

41

Version

1.2.2

License

MIT

Last publish

Collaborators

  • alsotang