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

carrier

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

carrier - npm Package Compare versions

Comparing version 0.2.0 to 0.2.1

test/extra_carriage.js

63

lib/carrier.js

@@ -1,17 +0,14 @@

var util = require('util'),
var util = require('util'),
events = require('events'),
dgram = require('dgram');
dgram = require('dgram');
function Carrier(reader, listener, encoding, separator) {
var self = this;
encoding = encoding || 'utf-8';
var eventName = (reader.constructor === dgram.Socket) ? 'message' : 'data';
var buffer = '';
var event = reader.constructor === dgram.Socket ? 'message' : 'data';
self.reader = reader;
encoding = encoding || 'utf-8';
separator = separator || /\r?\n/;
if (!separator) {
separator = /\r?\n/;
}
if (listener) {

@@ -21,10 +18,13 @@ self.addListener('line', listener);

var buffer = '';
if (typeof reader.setEncoding === 'function') {
reader.setEncoding(encoding);
}
if (typeof reader.setEncoding === 'function')
reader.setEncoding(encoding);
var defferredLineEmit = function(line) {
process.nextTick(function() {
self.emit('line', line);
});
};
reader.on(event, function(data) {
var args = Array.prototype.slice.call(arguments, 1);
var onData = function carrierOnData(data) {
if (data instanceof Buffer) {

@@ -34,25 +34,25 @@ data = data.toString(encoding);

data = buffer + data;
var lines = data.split(separator);
lines[0] = buffer + lines[0];
buffer = lines.pop();
var length = lines.length - 1;
lines.forEach(function(line, index) {
var _args = args.slice(0);
buffer = lines[length] || '';
for (var i = 0; i < length; i++) {
defferredLineEmit(lines[i]);
}
};
_args.unshift(line);
_args.unshift('line');
self.emit.apply(self, _args);
});
});
var ender = function() {
if (buffer.length > 0) {
self.emit('line', buffer);
var onEnd = function onEnd() {
if (buffer) {
defferredLineEmit(buffer);
buffer = '';
}
self.emit('end');
}
};
reader.on('end', ender);
reader.on(eventName, onData);
reader.on('end', onEnd);
}

@@ -65,2 +65,1 @@

}
{ "name" : "carrier"
, "description" : "Evented stream line reader for node.js"
, "version" : "0.2.0"
, "version" : "0.2.1"
, "homepage" : "http://github.com/pgte/carrier"

@@ -23,3 +23,7 @@ , "author" :

, "url": "https://github.com/pgeorgi"
}
}
, {
"name": "Mattijah"
, "url": "https://github.com/Mattijah"
}
]

@@ -26,0 +30,0 @@ , "repository" :

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc