summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/npm-lifecycle/node_modules/byline/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/npm-lifecycle/node_modules/byline/README.md')
-rw-r--r--deps/npm/node_modules/npm-lifecycle/node_modules/byline/README.md147
1 files changed, 147 insertions, 0 deletions
diff --git a/deps/npm/node_modules/npm-lifecycle/node_modules/byline/README.md b/deps/npm/node_modules/npm-lifecycle/node_modules/byline/README.md
new file mode 100644
index 0000000000..f5a0644095
--- /dev/null
+++ b/deps/npm/node_modules/npm-lifecycle/node_modules/byline/README.md
@@ -0,0 +1,147 @@
+# byline — buffered stream for reading lines
+
+![npm package](https://nodei.co/npm/byline.png?downloads=true&downloadRank=true)
+
+`byline` is a simple module providing a `LineStream`.
+
+- node v0.10 `streams2` (transform stream)
+- supports `pipe`
+- supports both UNIX and Windows line endings
+- supports [Unicode UTS #18 line boundaries](http://www.unicode.org/reports/tr18/#Line_Boundaries)
+- can wrap any readable stream
+- can be used as a readable-writable "through-stream" (transform stream)
+- super-simple: `stream = byline(stream);`
+
+## Install
+
+ npm install byline
+
+or from source:
+
+ git clone git://github.com/jahewson/node-byline.git
+ cd node-byline
+ npm link
+
+# Convenience API
+
+The `byline` module can be used as a function to quickly wrap a readable stream:
+
+```javascript
+var fs = require('fs'),
+ byline = require('byline');
+
+var stream = byline(fs.createReadStream('sample.txt', { encoding: 'utf8' }));
+```
+
+The `data` event then emits lines:
+
+```javascript
+stream.on('data', function(line) {
+ console.log(line);
+});
+```
+
+# Standard API
+
+You just need to add one line to wrap your readable `Stream` with a `LineStream`.
+
+```javascript
+var fs = require('fs'),
+ byline = require('byline');
+
+var stream = fs.createReadStream('sample.txt');
+stream = byline.createStream(stream);
+
+stream.on('data', function(line) {
+ console.log(line);
+});
+```
+
+# Piping
+
+`byline` supports `pipe` (though it strips the line endings, of course).
+
+```javascript
+var stream = fs.createReadStream('sample.txt');
+stream = byline.createStream(stream);
+stream.pipe(fs.createWriteStream('nolines.txt'));
+```
+
+Alternatively, you can create a readable/writable "through-stream" which doesn't wrap any specific
+stream:
+
+```javascript
+var stream = fs.createReadStream('sample.txt');
+stream = byline.createStream(stream);
+stream.pipe(fs.createWriteStream('nolines.txt'));
+
+var input = fs.createReadStream('LICENSE');
+var lineStream = byline.createStream();
+input.pipe(lineStream);
+
+var output = fs.createWriteStream('test.txt');
+lineStream.pipe(output);
+```
+
+# Streams2 API
+
+Node v0.10 added a new streams2 API. This allows the stream to be used in non-flowing mode and is
+preferred over the legacy pause() and resume() methods.
+
+```javascript
+var stream = fs.createReadStream('sample.txt');
+stream = byline.createStream(stream);
+
+stream.on('readable', function() {
+ var line;
+ while (null !== (line = stream.read())) {
+ console.log(line);
+ }
+});
+```
+
+# Transform Stream
+
+The `byline` transform stream can be directly manipulated like so:
+
+```javascript
+var LineStream = require('byline').LineStream;
+
+var input = fs.createReadStream('sample.txt');
+var output = fs.createWriteStream('nolines.txt');
+
+var lineStream = new LineStream();
+input.pipe(lineStream);
+lineStream.pipe(output);
+
+```
+
+# Empty Lines
+
+By default byline skips empty lines, if you want to keep them, pass the `keepEmptyLines` option in
+the call to `byline.createStream(stream, options)` or `byline(stream, options)`.
+
+# Tests
+
+ npm test
+
+# v0.8
+
+If you want to use `node-byline` with node v0.8 then you can use the 2.1.x series. Simply use the
+following in your `package.json`:
+
+```javascript
+ "dependencies": {
+ "byline": ">=2.1.0 <3.0.0"
+},
+```
+
+# Simple
+Unlike other modules (of which there are many), `byline` contains no:
+
+- monkeypatching
+- dependencies
+- non-standard 'line' events which break `pipe`
+- limitations to only file streams
+- CoffeeScript
+- unnecessary code