{ "_args": [ [ { "raw": "through@^2.3.6", "scope": null, "escapedName": "through", "name": "through", "rawSpec": "^2.3.6", "spec": ">=2.3.6 <3.0.0", "type": "range" }, "/home/jdaugherty/work/GT2/GT2-Android/node_modules/inquirer" ] ], "_from": "through@>=2.3.6 <3.0.0", "_id": "through@2.3.8", "_inCache": true, "_location": "/through", "_nodeVersion": "2.3.1", "_npmUser": { "name": "dominictarr", "email": "dominic.tarr@gmail.com" }, "_npmVersion": "2.12.0", "_phantomChildren": {}, "_requested": { "raw": "through@^2.3.6", "scope": null, "escapedName": "through", "name": "through", "rawSpec": "^2.3.6", "spec": ">=2.3.6 <3.0.0", "type": "range" }, "_requiredBy": [ "/inquirer", "/logfmt", "/logfmt/split", "/split" ], "_resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "_shasum": "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5", "_shrinkwrap": null, "_spec": "through@^2.3.6", "_where": "/home/jdaugherty/work/GT2/GT2-Android/node_modules/inquirer", "author": { "name": "Dominic Tarr", "email": "dominic.tarr@gmail.com", "url": "dominictarr.com" }, "bugs": { "url": "https://github.com/dominictarr/through/issues" }, "dependencies": {}, "description": "simplified stream construction", "devDependencies": { "from": "~0.1.3", "stream-spec": "~0.3.5", "tape": "~2.3.2" }, "directories": {}, "dist": { "shasum": "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5", "tarball": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" }, "gitHead": "2c5a6f9a0cc54da759b6e10964f2081c358e49dc", "homepage": "https://github.com/dominictarr/through", "keywords": [ "stream", "streams", "user-streams", "pipe" ], "license": "MIT", "main": "index.js", "maintainers": [ { "name": "dominictarr", "email": "dominic.tarr@gmail.com" } ], "name": "through", "optionalDependencies": {}, "readme": "#through\n\n[![build status](https://secure.travis-ci.org/dominictarr/through.png)](http://travis-ci.org/dominictarr/through)\n[![testling badge](https://ci.testling.com/dominictarr/through.png)](https://ci.testling.com/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", "repository": { "type": "git", "url": "git+https://github.com/dominictarr/through.git" }, "scripts": { "test": "set -e; for t in test/*.js; do node $t; done" }, "testling": { "browsers": [ "ie/8..latest", "ff/15..latest", "chrome/20..latest", "safari/5.1..latest" ], "files": "test/*.js" }, "version": "2.3.8" }