UNPKG

yapm

Version:

package manager for io.js (npm fork)

42 lines (41 loc) 2.57 kB
{ "name": "through", "version": "2.3.4", "description": "simplified stream contsruction", "main": "index.js", "scripts": { "test": "set -e; for t in test/*.js; do node $t; done" }, "devDependencies": { "stream-spec": "~0.3.5", "tape": "~0.2.2" }, "keywords": [ "stream", "streams", "user-streams", "pipe" ], "author": { "name": "Dominic Tarr", "email": "dominic.tarr@gmail.com", "url": "dominictarr.com" }, "license": "MIT", "repository": { "type": "git", "url": "https://github.com/dominictarr/through.git" }, "homepage": "http://github.com/dominictarr/through", "testling": { "browsers": [ "ie/8..latest", "ff/15..latest", "chrome/20..latest", "safari/5.1..latest" ], "files": "test/*.js" } ,"readme":"#through\n\n[![build status](https://secure.travis-ci.org/dominictarr/through.png)](http://travis-ci.org/dominictarr/through)\n\nEasy way to create a `Stream` that is both `readable` and `writable`. \n\n* Pass in optional `write` and `end` methods.\n* `through` takes care of pause/resume logic if you use `this.queue(data)` instead of `this.emit('data', data)`.\n* Use `this.pause()` and `this.resume()` to manage flow.\n* Check `this.paused` to see current flow state. (`write` always returns `!this.paused`).\n\nThis function is the basis for most of the synchronous streams in \n[event-stream](http://github.com/dominictarr/event-stream).\n\n``` js\nvar through = require('through')\n\nthrough(function write(data) {\n this.queue(data) //data *must* not be null\n },\n function end () { //optional\n this.queue(null)\n })\n```\n\nOr, can also be used _without_ buffering on pause, use `this.emit('data', data)`,\nand this.emit('end')\n\n``` js\nvar through = require('through')\n\nthrough(function write(data) {\n this.emit('data', data)\n //this.pause() \n },\n function end () { //optional\n this.emit('end')\n })\n```\n\n## Extended Options\n\nYou will probably not need these 99% of the time.\n\n### autoDestroy=false\n\nBy default, `through` emits close when the writable\nand readable side of the stream has ended.\nIf that is not desired, set `autoDestroy=false`.\n\n``` js\nvar through = require('through')\n\n//like this\nvar ts = through(write, end, {autoDestroy: false})\n//or like this\nvar ts = through(write, end)\nts.autoDestroy = false\n```\n\n## License\n\nMIT / Apache2\n","readmeFilename":"readme.markdown","bugs":{ "url": "https://github.com/dominictarr/through/issues" },"_id":"through@2.3.4","_from":"through@*"}