{ "name": "through", "version": "2.2.7", "description": "simplified stream contruction", "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## License\n\nMIT / Apache2\n", "readmeFilename": "readme.markdown", "bugs": { "url": "https://github.com/dominictarr/through/issues" }, "_id": "through@2.2.7", "dist": { "shasum": "6e8e21200191d4eb6a99f6f010df46aa1c6eb2bd" }, "_from": "through@~2.2.0", "_resolved": "https://registry.npmjs.org/through/-/through-2.2.7.tgz" }