New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

linebyline

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

linebyline - npm Package Compare versions

Comparing version

to
0.0.5

5

package.json
{
"name": "linebyline",
"version": "0.0.4",
"description": "simple streaming readline module",
"version": "0.0.5",
"description": "Simple streaming readline module. Previously under readline",
"main": "readline.js",

@@ -16,2 +16,3 @@ "scripts": {

"readline",
"line by line",
"file"

@@ -18,0 +19,0 @@ ],

78

readline.js

@@ -1,47 +0,45 @@

var fs = require('fs');
var EventEmitter = require('events').EventEmitter;
var util = require('util');
var fs = require('fs'),
EventEmitter = require('events').EventEmitter,
util = require('util'),
newlines = [
13, // \r
10 // \n
];
var readLine = module.exports = function(file, opts) {
if (!(this instanceof readLine)) return new readLine(file);
function readLine (file, opts){
EventEmitter.call(this);
opts = opts || {};
var self = this,
line = [],
emit = function(line) {
self.emit('line', new Buffer(line).toString());
};
if (!(this instanceof readLine)) return new readLine(file);
EventEmitter.call(this);
opts = opts || {};
var self = this;
var readStream = fs.createReadStream(file);
var nl = require('os').EOL.charCodeAt(0); //could prob change this to just be the number 10
var line = [];
readStream.on("open",function (fd){
self.emit('open',fd);
});
readStream.on("data", function (data){
for(var i=0; i < data.length; i++){
if(data[i] === nl){
var tmpBuf = new Buffer(line);
self.emit("line",tmpBuf.toString());
line = [];
}else{
line.push(data[i]);
fs.createReadStream(file).on('open', function(fd) {
self.emit('open', fd);
})
.on('data', function(data) {
for (var i = 0; i < data.length; i++) {
if (0 <= newlines.indexOf(data[i])) { // Newline char was found.
if (line.length) emit(line);
line = []; // Empty buffer.
} else {
line.push(data[i]); // Buffer new line data.
}
}
});
readStream.on("error", function (err){
self.emit("error",err);
});
readStream.on("end", function (){
self.emit("end");
});
readStream.on("close", function (){
self.emit("close");
});
})
.on('error', function(err) {
self.emit('error', err);
})
.on('end', function() {
// Emit last line if anything left over since EOF won't trigger it.
if (line.length) emit(line);
self.emit('end');
})
.on('close', function() {
self.emit('close');
});
};
util.inherits(readLine, EventEmitter);
module.exports = readLine;

@@ -1,23 +0,28 @@

readline
========
## _readline_
> Read a file line by line.
formally the readline module. Read a file line by line.
## Install
TODO
=====
```sh
npm install readline
```
test different new line chars \r
## What's this?
Example
=======
Simple streaming readline module for NodeJS. Reads a file and buffer new lines emitting a _line_ event for each line.
```
var readline = require('linebyline');
var rl = readline("./somefile.txt");
rl.on("line", function (line){
//do something with the line of text
## Usage
```js
var readline = require('readline'),
rl = readline('./somefile.txt');
rl.on('line', function(line) {
// do something with the line of text
})
.on('error', function(e) {
// something went wrong
});
rl.on('error', function (e){
//something went wrong
});
```
## License
BSD © [Craig Brookes](http://craigbrookes.com/)

@@ -17,3 +17,3 @@ var test = require("tap").test;

var rl = readLine('./fixtures/nmbr.txt');
var answer = 21;
var answer = 28;
var i=0;

@@ -20,0 +20,0 @@ rl.on("line", function (line){