# carrier

> Evented stream line reader for node.js

Latest version **0.3.0** (published 2016-02-10) · 0 weekly downloads

## Install

```sh
npm install carrier
pnpm add carrier
yarn add carrier
bun add carrier
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.3.0 |
| Published | 2016-02-10 |
| First published | 2011-01-10 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=0.3.0 |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 125 |
| Author | Pedro Teixeira |
| Maintainers | pgte |

## Links

- npm: https://www.npmjs.com/package/carrier
- Repository: https://github.com/pgte/carrier
- Homepage: http://github.com/pgte/carrier
- Issues: http://github.com/pgte/carrier/issues
- npm.io page: https://npm.io/package/carrier

## Recent versions

- 0.3.0 (latest) — 2016-02-10
- 0.2.1 — 2015-07-31
- 0.1.14 — 2014-05-10
- 0.1.13 — 2013-09-24
- 0.1.12 — 2013-09-17
- 0.1.11 — 2013-09-17
- 0.2.0 — 2013-08-19
- 0.1.10 — 2013-02-04
- 0.1.9 — 2013-02-01
- 0.1.8 — 2012-12-07
- 0.1.7 — 2012-03-22
- 0.1.6 — 2012-02-01
- 0.1.5 — 2012-02-01
- 0.1.4 — 2012-01-31
- 0.1.3 — 2011-09-15
- … 7 more at https://npm.io/package/carrier/versions

## README

[![build status](https://secure.travis-ci.org/pgte/carrier.png)](http://travis-ci.org/pgte/carrier)
Carrier helps you implement new-line terminated protocols over node.js.

The client can send you chunks of lines and carrier will only notify you on each completed line.

## Install

    $ npm install carrier
    
## Usage

```javascript
var net     = require('net'),
    carrier = require('carrier');

var server = net.createServer(function(conn) {
  carrier.carry(conn, function(line) {
    console.log('got one line: ' + line);
  });
});
server.listen(4001);
```
  
Or, you can also listen to the "line" event on the returned object of carrier.carry() like this:

```javascript
var net     = require('net'),
    carrier = require('carrier');

var server = net.createServer(function(conn) {
  var my_carrier = carrier.carry(conn);
  my_carrier.on('line',  function(line) {
    console.log('got one line: ' + line);
  });
});
server.listen(4001);
```
carrier.carry accepts the following options:

```javascript
  carrier.carry(reader, listener, encoding, separator)
```
* reader: the stream reader
* listener: a "line" event listener function
* encoding: what encoding to assume. Default: "utf8"
* separator: what line separator to use. Default: /\r?\n/

All are optional except for the first.

---
_Source: https://npm.io/package/carrier · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
