react / wstein / node_modules / browserify / node_modules / read-only-stream / node_modules / readable-wrap / readme.markdown
80538 views# readable-wrap upgrade streams1 to streams2 streams as a standalone module This module provides a wrap function based on `Readable().wrap()` from node core but as a standalone module. Use this module if you don't want to wait for [a patch in node core](https://github.com/joyent/node/pull/7758) to land that fixes falsey objectMode values in wrapped readable streams. [](http://travis-ci.org/substack/readable-wrap) [](https://ci.testling.com/substack/readable-wrap) # example ``` js var split = require('split'); var wrap = require('readable-wrap'); var through = require('through2'); process.stdin.pipe(wrap.obj(split())).pipe(through.obj(write)); function write (buf, enc, next) { console.log(buf.length + ': ' + buf); next(); } ``` output: ``` $ echo -e 'one\ntwo\n\nthree' | node example/split.js 3: one 3: two 0: 5: three 0: ``` In object mode you get the empty lines, which is handy if you need to perform a special action on empty lines such as to partition an HTTP request header from a body in a streaming fashion. In non-object mode the empty lines get ignored because that is how node core streams work. # methods ``` js var wrap = require('readable-wrap') ``` ## var stream = wrap(oldStream, opts) Return a new streams2 `stream` based on the streams1 stream `oldStream`. The `opts` will be passed to the underlying readable stream instance. ## var stream = wrap.obj(oldStream, opts) Return a new streams2 `stream` based on the streams1 stream `oldStream` with `opts.objectMode` set to `true`. # install With [npm](https://npmjs.org) do: ``` npm install readable-wrap ``` # license MIT