{"_id":"emit-stream","_rev":"17-280282c3755f9d28415f0f2200a21aa2","name":"emit-stream","description":"turn event emitters into streams and streams into event emitters","dist-tags":{"latest":"0.1.2"},"versions":{"0.0.0":{"name":"emit-stream","version":"0.0.0","description":"turn event emitters into streams and streams into event emitters","main":"index.js","bin":{},"directories":{"example":"example","test":"test"},"dependencies":{"JSONStream":"~0.3.1"},"devDependencies":{"tap":"~0.3.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/emit-stream.git"},"homepage":"https://github.com/substack/emit-stream","keywords":["emit","event","emitter","EventEmitter","stream"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","readme":"","_id":"emit-stream@0.0.0","dist":{"shasum":"1484d8fb13f4f95b846dcee03208954e1d4de202","tarball":"https://registry.npmjs.org/emit-stream/-/emit-stream-0.0.0.tgz","integrity":"sha512-SgEBDBYIepQudc9JcQDRBXARR0L6F/90ECSlgQrHMnxt9Ov7y4Gdu+HwWoSiKxsLH6qp8ChQr5g6XScYsaXCEA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDAFqYxwCiXTHpVkmUNRJpRbXy1KDEIrNieRWqvHOXAgQIgDbG1v/Mn9eYtpMtIm9gajYKYdDFCoPm7pq3TXNu6oeo="}]},"maintainers":[{"name":"substack","email":"mail@substack.net"}]},"0.1.0":{"name":"emit-stream","version":"0.1.0","description":"turn event emitters into streams and streams into event emitters","main":"index.js","directories":{"example":"example","test":"test"},"dependencies":{"through":"~0.1.4"},"devDependencies":{"tap":"~0.3.0","JSONStream":"~0.3.1"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/emit-stream.git"},"homepage":"https://github.com/substack/emit-stream","keywords":["emit","event","emitter","EventEmitter","stream"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","readme":"","_id":"emit-stream@0.1.0","dist":{"shasum":"a82371d166955f1fdc46a33b15276340a5578c4b","tarball":"https://registry.npmjs.org/emit-stream/-/emit-stream-0.1.0.tgz","integrity":"sha512-7VaYk5fA3c9rYa2jCXDVXfmzu1v23B6cVL+v9IuszqlBAmoujhwLe+M0+ZYkMWd2wT5SQrbBmiQpoNeGZblwPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFG7PVu1xT5h5X80RuUJXOPm57HA+EOFFAwjHb9lC0ywAiEAxDKbF++6FROb5oYXBDVtLV7Hy5+CsjmJb2HrtCcXb9I="}]},"maintainers":[{"name":"substack","email":"mail@substack.net"}]},"0.1.1":{"name":"emit-stream","version":"0.1.1","description":"turn event emitters into streams and streams into event emitters","main":"index.js","directories":{"example":"example","test":"test"},"dependencies":{"through":"~0.3.4"},"devDependencies":{"tap":"~0.4.2","JSONStream":"~0.6.4"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/emit-stream.git"},"homepage":"https://github.com/substack/emit-stream","keywords":["emit","event","emitter","EventEmitter","stream"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","readme":"# emit-stream\n\nturn event emitters into streams and streams into event emitters\n\n[![build status](https://secure.travis-ci.org/substack/emit-stream.png)](http://travis-ci.org/substack/emit-stream)\n\n![emit stream explained](http://substack.net/images/emit_stream.gif)\n\n# example\n\nwrite a server that streams an event emitter's events to clients:\n\n``` js\nvar emitStream = require('emit-stream');\nvar JSONStream = require('JSONStream');\nvar net = require('net');\n\nvar server = (function () {\n    var ev = createEmitter();\n    \n    return net.createServer(function (stream) {\n        emitStream(ev)\n            .pipe(JSONStream.stringify())\n            .pipe(stream)\n        ;\n    });\n})();\nserver.listen(5555);\n\nvar EventEmitter = require('events').EventEmitter;\n\nfunction createEmitter () {\n    var ev = new EventEmitter;\n    setInterval(function () {\n        ev.emit('ping', Date.now());\n    }, 2000);\n    \n    var x = 0;\n    setInterval(function () {\n        ev.emit('x', x ++);\n    }, 500);\n    \n    return ev;\n}\n```\n\nthen re-constitute the event-emitters on the client:\n\n``` js\nvar emitStream = require('emit-stream');\nvar net = require('net');\n\nvar stream = net.connect(5555)\n    .pipe(JSONStream.parse([true]))\n;\nvar ev = emitStream(stream);\n\nev.on('ping', function (t) {\n    console.log('# ping: ' + t);\n});\n\nev.on('x', function (x) {\n    console.log('x = ' + x);\n});\n```\n\n***\n\n```\n$ node example/emit.js \nx = 0\nx = 1\nx = 2\nx = 3\n# ping: 1346116850523\nx = 4\nx = 5\n^C\n```\n\n# methods\n\n``` js\nvar emitStream = require('emit-stream')\n```\n\n## emitStream(x)\n\nIf `x` is a stream, returns an event emitter from `emit.toStream(x)`.\n\nOtherwise returns a stream from `emit.fromStream(x)`.\n\n## emitStream.toStream(emitter)\n\nReturn a stream from the EventEmitter `emitter`.\n\nThe `'data'` emitted by this stream will be array data.\nSerialization is up to you. I recommend\n[JSONStream](http://github.com/dominictarr/JSONStream)\nfor most purposes.\n\n## emitStream.fromStream(stream)\n\nReturn an EventEmitter from `stream`.\n\nThe `'data'` written to this stream should be an array, like\n[JSONStream](http://github.com/dominictarr/JSONStream) creates.\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install emit-stream\n```\n\n# license\n\nMIT\n","readmeFilename":"readme.markdown","_id":"emit-stream@0.1.1","dist":{"shasum":"fb9fb29f65edc744db28d62216abb64bf226f891","tarball":"https://registry.npmjs.org/emit-stream/-/emit-stream-0.1.1.tgz","integrity":"sha512-Jw9jXiW6ROFHBMU7b8bEXdmp+Kh+3UmUAKmOZJZoeBI9mTclnAi58hjcXNqRvMOn35tRyr+BEVtRXFDB3qGxVQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFaAVA8d56RYkjXm3pVeNW+GKOdePqTyNfofLamQLkxKAiA/O/6xOvY1GRB+zqkSyN+kNr6/3hfdsVu5k6QOVb6jag=="}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}]},"0.1.2":{"name":"emit-stream","version":"0.1.2","description":"turn event emitters into streams and streams into event emitters","main":"index.js","directories":{"example":"example","test":"test"},"dependencies":{"through":"~2.3.4"},"devDependencies":{"tap":"~0.4.2","JSONStream":"~0.6.4"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/substack/emit-stream.git"},"homepage":"https://github.com/substack/emit-stream","keywords":["emit","event","emitter","EventEmitter","stream"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","readme":"# emit-stream\n\nturn event emitters into streams and streams into event emitters\n\n[![build status](https://secure.travis-ci.org/substack/emit-stream.png)](http://travis-ci.org/substack/emit-stream)\n\n![emit stream explained](http://substack.net/images/emit_stream.gif)\n\n# example\n\nwrite a server that streams an event emitter's events to clients:\n\n``` js\nvar emitStream = require('emit-stream');\nvar JSONStream = require('JSONStream');\nvar net = require('net');\n\nvar server = (function () {\n    var ev = createEmitter();\n    \n    return net.createServer(function (stream) {\n        emitStream(ev)\n            .pipe(JSONStream.stringify())\n            .pipe(stream)\n        ;\n    });\n})();\nserver.listen(5555);\n\nvar EventEmitter = require('events').EventEmitter;\n\nfunction createEmitter () {\n    var ev = new EventEmitter;\n    setInterval(function () {\n        ev.emit('ping', Date.now());\n    }, 2000);\n    \n    var x = 0;\n    setInterval(function () {\n        ev.emit('x', x ++);\n    }, 500);\n    \n    return ev;\n}\n```\n\nthen re-constitute the event-emitters on the client:\n\n``` js\nvar emitStream = require('emit-stream');\nvar net = require('net');\n\nvar stream = net.connect(5555)\n    .pipe(JSONStream.parse([true]))\n;\nvar ev = emitStream(stream);\n\nev.on('ping', function (t) {\n    console.log('# ping: ' + t);\n});\n\nev.on('x', function (x) {\n    console.log('x = ' + x);\n});\n```\n\n***\n\n```\n$ node example/emit.js \nx = 0\nx = 1\nx = 2\nx = 3\n# ping: 1346116850523\nx = 4\nx = 5\n^C\n```\n\n# methods\n\n``` js\nvar emitStream = require('emit-stream')\n```\n\n## emitStream(x)\n\nIf `x` is a stream, returns an event emitter from `emit.toStream(x)`.\n\nOtherwise returns a stream from `emit.fromStream(x)`.\n\n## emitStream.toStream(emitter)\n\nReturn a stream from the EventEmitter `emitter`.\n\nThe `'data'` emitted by this stream will be array data.\nSerialization is up to you. I recommend\n[JSONStream](http://github.com/dominictarr/JSONStream)\nfor most purposes.\n\n## emitStream.fromStream(stream)\n\nReturn an EventEmitter from `stream`.\n\nThe `'data'` written to this stream should be an array, like\n[JSONStream](http://github.com/dominictarr/JSONStream) creates.\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install emit-stream\n```\n\n# license\n\nMIT\n","readmeFilename":"readme.markdown","_id":"emit-stream@0.1.2","dist":{"shasum":"0e205508a0d0d6d334607842f7c4769dbfbf16e8","tarball":"https://registry.npmjs.org/emit-stream/-/emit-stream-0.1.2.tgz","integrity":"sha512-6p7OdzHlmvsfbDkoLj/b3sh+7wnt3gkJ/FUxShhXcc+xGKqBWLnxAM5T3ktTK865g4nBXKqFHlar5bfmob+MLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFw6U098s2Qqy10tTbVyS3UNzwAMDPoHTO2tD9dD1GSVAiEA+3ZoR1fBGfiOrB4L2Cb1OZNseL65Xwg6zwN7QT3yg/8="}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}]}},"readme":"","maintainers":[{"email":"nopersonsmodules@gmail.com","name":"nopersonsmodules"}],"time":{"modified":"2022-11-11T06:34:40.566Z","created":"2012-08-21T23:32:22.604Z","0.0.0":"2012-08-21T23:32:24.699Z","0.1.0":"2012-08-28T01:28:54.514Z","0.1.1":"2013-05-13T11:26:53.260Z","0.1.2":"2013-05-16T03:02:22.104Z"},"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"repository":{"type":"git","url":"git://github.com/substack/emit-stream.git"},"users":{"akiva":true,"meeh":true}}