{"_id":"socket.io-stream","_rev":"65-9099a5380996266e7d5dd34762926c86","name":"socket.io-stream","description":"stream for socket.io","dist-tags":{"latest":"0.9.1"},"versions":{"0.1.0":{"name":"socket.io-stream","version":"0.1.0","description":"stream for socket.io","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"keywords":["stream","socket.io","binary","file","upload"],"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"scripts":{"test":"node_modules/.bin/mocha --reporter dot"},"dependencies":{"readable-stream":"1.0.2","debug":"*"},"devDependencies":{"mocha":"*","chai":"*","async":"*","checksum":"*","socket.io":"0.9.16","socket.io-client":"0.9.16"},"bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"_id":"socket.io-stream@0.1.0","dist":{"shasum":"2a0552e3f60befd0c84c091e09e15f6ddace7bb2","tarball":"https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.1.0.tgz","integrity":"sha512-/gR20VQCGy+mAshnf+ZMXW+uIdHQK4rxS8jm4gkm7SghSh7RzrIppRb9VlstHMRjiFwaGpwY4SJcKC1SECjs1Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFKEFTDxbMv5tVzusQ0EXBCkLAb7rzuCjDM8/H78dDqoAiAORs3D9o6L7xs3l/o+g74L5FMlWHxS+TdOy7caxWjToA=="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}]},"0.2.0":{"name":"socket.io-stream","version":"0.2.0","description":"stream for socket.io","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"keywords":["stream","socket.io","binary","file","upload"],"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"scripts":{"test":"node_modules/.bin/mocha --reporter dot"},"dependencies":{"readable-stream":"1.0.2","debug":"*"},"devDependencies":{"mocha":"*","chai":"*","async":"*","checksum":"*","socket.io":"0.9.16","socket.io-client":"0.9.16"},"bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"_id":"socket.io-stream@0.2.0","dist":{"shasum":"0fa616b5a18d26594078e76987e97ca2e4b677cf","tarball":"https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.2.0.tgz","integrity":"sha512-pjd/uauYKTKfhrDBzMBnxXAZy7jaVALxaozA41m2xxKEUveESY83/+160ASHLkPR+iz/r2Lk3fNqFevAlj4Pug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsS4ig31BUgaUg9MqbLQAGorGBhMQZHLEBoPVa4SCJCQIgfE2SksC3YQUoEcMoKMmIDs8VoXgX50Dctm/EtHYHegQ="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}]},"0.3.0":{"name":"socket.io-stream","version":"0.3.0","description":"stream for socket.io","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"keywords":["stream","socket.io","binary","file","upload"],"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"scripts":{"test":"make test"},"dependencies":{"readable-stream":"1.0.2","debug":"*"},"devDependencies":{"socket.io":"0.9.16","socket.io-client":"0.9.16","mocha":"*","chai":"*","async":"*","checksum":"*","send":"*","browserify":"*","uglify-js":"*"},"bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"_id":"socket.io-stream@0.3.0","dist":{"shasum":"4ce3cf9e190c566ee75b67dae07ddaa076d2d16b","tarball":"https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.3.0.tgz","integrity":"sha512-MzjVsW8vfdmqhK4y616WPn4ppX5I6eGHE6z0sDzHoqDyh0PncwX1QNKHwxCTVUVfs3LY6seEhEpozaKfFa/e3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtBC0Xs4yYZ7oNMBCDw+x8ilzrWoTPsOEJJJA2CUHM3AIgT6yz7N57C7oBFi355JMMRnxUMCx40VyOny05oKX+mK4="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}]},"0.3.1":{"name":"socket.io-stream","version":"0.3.1","description":"stream for socket.io","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"keywords":["stream","socket.io","binary","file","upload"],"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"scripts":{"test":"make test"},"dependencies":{"readable-stream":"1.0.2","debug":"*"},"devDependencies":{"socket.io":"0.9.16","socket.io-client":"0.9.16","mocha":"1.9.0","chai":"*","async":"*","checksum":"*","browserify":"*","uglify-js":"*","phantomjs":"*","mocha-phantomjs":"*","node-static":"*"},"bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"_id":"socket.io-stream@0.3.1","dist":{"shasum":"3ec1ff4e98d5867b1d06d18fe9557f5ebd622b1b","tarball":"https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.3.1.tgz","integrity":"sha512-fDNVjCvXuauftoWefKUKb46xOVH5MRuwHoz/iZiQ2VvOk/wo017ZPj9LlG9FdYUtJglaE0lf9G4/4HIt+o37cg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEk/OEwNEQZRsGcrKZ+cXZBK3NnDQPZ9Db4k2v+pSUqoAiBaU1Ck6Il8Zl8ZSgNCJHnIhIS1TaWdpP4c+cgcHCCvzw=="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}]},"0.4.0":{"name":"socket.io-stream","version":"0.4.0","description":"stream for socket.io","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"contributors":[{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},{"name":"Aaron O'Mullan","email":"aaron.omullan@friendco.de"}],"keywords":["stream","socket.io","binary","file","upload","download"],"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"scripts":{"test":"make test-all"},"dependencies":{"readable-stream":"1.0.2","debug":"*"},"devDependencies":{"socket.io":"0.9.16","socket.io-client":"0.9.16","mocha":"*","chai":"*","async":"*","checksum":"*","browserify":"*","uglify-js":"*","phantomjs":"*","mocha-phantomjs":"*","node-static":"*"},"bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"_id":"socket.io-stream@0.4.0","dist":{"shasum":"84e6e41b299c001a683f3028fc2273c0227bc0dd","tarball":"https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.4.0.tgz","integrity":"sha512-y7h/FjABpe0SO2jm5Vd2QZzHmRkjj/+S2Fx/lqxJfTRXrL+Bx3gZzSyRxpyCTfEUklU7SRJq+y8pvkU6j3T5iw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIYW0f2IFxr+Npd+gROk9ITzsvRgp/cfqAntRRsHoUagIgPTznPBWhmByy8U50s5uS2Za+G7S2uC7i/tBiDre/f4k="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}]},"0.5.0":{"name":"socket.io-stream","version":"0.5.0","description":"stream for socket.io","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"contributors":[{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},{"name":"Aaron O'Mullan","email":"aaron.omullan@friendco.de"}],"keywords":["stream","socket.io","binary","file","upload","download"],"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"scripts":{"test":"make test-all"},"dependencies":{"readable-stream":"1.0.2","debug":"*"},"devDependencies":{"socket.io":"0.9.16","socket.io-client":"0.9.16","mocha":"*","chai":"*","async":"*","checksum":"*","browserify":"*","uglify-js":"*","phantomjs":"*","mocha-phantomjs":"*","node-static":"*"},"bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"_id":"socket.io-stream@0.5.0","dist":{"shasum":"3b6d7babf46a2f8b2c54e06ee21afd12d432bd41","tarball":"https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.5.0.tgz","integrity":"sha512-Q8hT5ZbvKI5bZRTgowWrKbOoQNO3gxeNHw8X2LjfaZALDfkp+zFdA/gSyoRTVJhciexHPIqllWTX+0owQLmjvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrAy+4EJZmSzVEHrjvXup+mYlN2izJlo/haFO0HeSf7wIgaoTxMgfJokHZw5ctMcx7rigV55G/MUmlsZZcnCSEu4U="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}]},"0.5.1":{"name":"socket.io-stream","version":"0.5.1","description":"stream for socket.io","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"contributors":[{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},{"name":"Aaron O'Mullan","email":"aaron.omullan@friendco.de"}],"keywords":["stream","socket.io","binary","file","upload","download"],"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"scripts":{"test":"make test-all"},"dependencies":{"readable-stream":"1.0.2","debug":"*"},"devDependencies":{"socket.io":"0.9.16","socket.io-client":"0.9.16","mocha":"*","chai":"*","async":"*","checksum":"*","browserify":"*","uglify-js":"*","phantomjs":"*","mocha-phantomjs":"*","node-static":"*"},"bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"homepage":"https://github.com/nkzawa/socket.io-stream","_id":"socket.io-stream@0.5.1","dist":{"shasum":"7699040f9ed53ec9f1bb7ec3d40afa357c488b60","tarball":"https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.5.1.tgz","integrity":"sha512-FObnOC799l6YFy/n2Ye6ZklTi6U8LoIhbHlZXbV1H2y+2/1en6MIwPbM52oVVfBt4sUYrqEJS4UldgbEEOzo4g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzyE5KrsEfhapff6ANTBSIpJs+wJ115BulPzGgwJQuIwIhAMfKzBtBd0HvZTE8g0nbXr3WnmUpWI0Y5Vs++pMVDFi3"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}]},"0.5.2":{"name":"socket.io-stream","version":"0.5.2","description":"stream for socket.io","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"contributors":[{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},{"name":"Aaron O'Mullan","email":"aaron.omullan@friendco.de"}],"keywords":["stream","socket.io","binary","file","upload","download"],"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"scripts":{"test":"make test-all","prepublish":"make test-all build"},"dependencies":{"readable-stream":"1.1.9","debug":"*"},"devDependencies":{"socket.io":"0.9.16","socket.io-client":"0.9.16","mocha":"*","chai":"*","async":"*","checksum":"*","browserify":"2.36.1","uglify-js":"*","phantomjs":"*","mocha-phantomjs":"*","node-static":"*"},"bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"homepage":"https://github.com/nkzawa/socket.io-stream","_id":"socket.io-stream@0.5.2","dist":{"shasum":"a61539427530e66d8586b283230db8a6a818734f","tarball":"https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.5.2.tgz","integrity":"sha512-lhE97sUXZ2q9qAkdzuNjZGIUFgYzs5k0rhsnUx97fWRsliFHwGVi4wDls1L2i3v7DaE1izkKHlTdzargm5ibKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBHEU+4x2JBQgPr6iqzEzmjo3J7KzGGz/yj29avPDMhAIhAIUyiDsuqMburHJuewwPn+/IWB6RfP5rYFCV0KYYGMbs"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}]},"0.5.3":{"name":"socket.io-stream","version":"0.5.3","description":"stream for socket.io","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"contributors":[{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},{"name":"Aaron O'Mullan","email":"aaron.omullan@friendco.de"}],"keywords":["stream","socket.io","binary","file","upload","download"],"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"scripts":{"test":"make test-all"},"dependencies":{"readable-stream":"1.1.9","debug":"*"},"devDependencies":{"socket.io":"0.9.16","socket.io-client":"0.9.16","mocha":"*","chai":"*","async":"*","checksum":"*","browserify":"2.36.1","uglify-js":"*","phantomjs":"*","mocha-phantomjs":"*","node-static":"*"},"bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"homepage":"https://github.com/nkzawa/socket.io-stream","_id":"socket.io-stream@0.5.3","dist":{"shasum":"03157c5a5eeb3d26e249cd1dee4b377b6c829cb0","tarball":"https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.5.3.tgz","integrity":"sha512-zMblUX2/PYWaxYVHZ5uh5tERR9nfUCx6GKX6BUbkX5v/q1xApGLU9Lnh2oZ6lwtaS7rchLfcum/QRumjbt2/5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHHEq0sWC9T42CEs3xApmirnJ3uya85DSKVLnu84LYb4AiEA+AK0igzCD/4usGkngFODMurLoj2SZZty6fpYHDSnM48="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}]},"0.6.0":{"name":"socket.io-stream","version":"0.6.0","description":"stream for socket.io","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"contributors":[{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},{"name":"Aaron O'Mullan","email":"aaron.omullan@friendco.de"}],"keywords":["stream","socket.io","binary","file","upload","download"],"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"scripts":{"test":"make test"},"dependencies":{"component-bind":"~1.0.0","debug":"~2.1.0"},"devDependencies":{"blob":"0.0.4","browserify":"~6.1.0","expect.js":"~0.3.1","mocha":"~1.21.5","socket.io":"~1.1.0","socket.io-client":"~1.1.0","zuul":"~1.11.2"},"gitHead":"d5eddd95f362b1f44f3ff34846116375ed699680","bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"homepage":"https://github.com/nkzawa/socket.io-stream","_id":"socket.io-stream@0.6.0","_shasum":"d8422573848cd3b1f0a27855aa7dbe308c8b436f","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}],"dist":{"shasum":"d8422573848cd3b1f0a27855aa7dbe308c8b436f","tarball":"https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.6.0.tgz","integrity":"sha512-HX2R0eHySJtO6+3O/vkYEYFHP/S9l04g+ldeopHLfCJ3eFdYYA4he1p8YyaReeWM38RmBXrTKnGfKTni07LlYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLvjWCni6NoMpMBHOYfpbYR3y6PF3PbID612RV3dPn/QIhAKOvkXBK+MFRWu+wzr+m732ys/UHle25vkRez11gCm5R"}]}},"0.6.1":{"name":"socket.io-stream","version":"0.6.1","description":"stream for socket.io","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"contributors":[{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},{"name":"Aaron O'Mullan","email":"aaron.omullan@friendco.de"}],"keywords":["stream","socket.io","binary","file","upload","download"],"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"scripts":{"prepublish":"make build test","test":"make test"},"dependencies":{"component-bind":"~1.0.0","debug":"~2.1.3"},"devDependencies":{"blob":"0.0.4","browserify":"~9.0.7","expect.js":"~0.3.1","mocha":"~2.2.1","socket.io":"~1.3.5","socket.io-client":"~1.3.4","zuul":"~2.1.1","zuul-ngrok":"~3.0.0"},"gitHead":"fd538ba0d78dd1e21c97c28317e9b3f60d0034e7","bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"homepage":"https://github.com/nkzawa/socket.io-stream","_id":"socket.io-stream@0.6.1","_shasum":"232920ec17e1ff62fd81cdbef4d2434f7a6b3324","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}],"dist":{"shasum":"232920ec17e1ff62fd81cdbef4d2434f7a6b3324","tarball":"https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.6.1.tgz","integrity":"sha512-WcVcrTdbRg5kWkpPQHmyle8ufJaLuV7GdxsAPw9y1qJBx1kJ2ekZvIkeY+NArvxWdJL9YFZDnpyMs7Lf67eFAw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPmmNkuTa2jxFmBNWGKmH3q4MMtZZ68Rvw2a8lQRBUrQIgVFC7WeqnjvM+k3W2q3B+ohVCj9ib/g0gTGKa5bTZECY="}]}},"0.7.0":{"name":"socket.io-stream","version":"0.7.0","description":"stream for socket.io","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"contributors":[{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},{"name":"Aaron O'Mullan","email":"aaron.omullan@friendco.de"}],"keywords":["stream","socket.io","binary","file","upload","download"],"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"scripts":{"prepublish":"make build test","test":"make test"},"dependencies":{"component-bind":"~1.0.0","debug":"~2.1.3"},"devDependencies":{"blob":"0.0.4","browserify":"~9.0.8","expect.js":"~0.3.1","mocha":"~2.2.4","socket.io":"~1.3.5","socket.io-client":"~1.3.4","zuul":"~2.1.1","zuul-ngrok":"~3.0.0"},"gitHead":"272018af5534fee2b5ea7d28b3624284d4a2efae","bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"homepage":"https://github.com/nkzawa/socket.io-stream","_id":"socket.io-stream@0.7.0","_shasum":"af7112a4b76d866e7167dd2c56cd2559f76336fd","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}],"dist":{"shasum":"af7112a4b76d866e7167dd2c56cd2559f76336fd","tarball":"https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.7.0.tgz","integrity":"sha512-qXz/5rFMHJ5TTwz2q/xHPGI4UmunQcFFYXKUdG+ofHOiBDsH36nyHYQ2LF30SDCmGQWcbttCcrb2S9C4y1prCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/9xhLp0+VFSz5Af4DFid9bTim67o2c8RnsmUleLyZTAIgIBB4Ys7BRXZbELCfqVkcNnyr0N+ec/gC2riGNAX8eDM="}]}},"0.8.0":{"name":"socket.io-stream","version":"0.8.0","description":"stream for socket.io","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"contributors":[{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},{"name":"Aaron O'Mullan","email":"aaron.omullan@friendco.de"}],"keywords":["stream","socket.io","binary","file","upload","download"],"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"scripts":{"prepublish":"make build test","test":"make test"},"dependencies":{"component-bind":"~1.0.0","debug":"~2.1.3"},"devDependencies":{"blob":"0.0.4","browserify":"~9.0.8","expect.js":"~0.3.1","mocha":"~2.2.4","socket.io":"~1.3.5","socket.io-client":"~1.3.4","zuul":"~2.1.1","zuul-ngrok":"~3.0.0"},"gitHead":"fb05ac1628b5e0eb4df5be55164d6239e21f716d","bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"homepage":"https://github.com/nkzawa/socket.io-stream","_id":"socket.io-stream@0.8.0","_shasum":"1692db436a2db654119686f5f0c74680b044fab9","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}],"dist":{"shasum":"1692db436a2db654119686f5f0c74680b044fab9","tarball":"https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.8.0.tgz","integrity":"sha512-MlmGWoAXRidZwXoda/YsPnij+Ku7K7vwZJpFWs4Lx/trIFcAmm6rDAGwuer3Ur7us9RzHj9cvHBx8v2WsxA+Rw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH2we0ehLIBKZQWUwehEt9ZfarUzOL/dwLWwv9Mu9APwAiALxeFebTkP6/uGf+xEJa3E92FYLIJWsXdhMx2d9tvEzA=="}]}},"0.9.0":{"name":"socket.io-stream","version":"0.9.0","description":"stream for socket.io","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"contributors":[{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},{"name":"Aaron O'Mullan","email":"aaron.omullan@friendco.de"}],"keywords":["stream","socket.io","binary","file","upload","download"],"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"scripts":{"prepublish":"make build","test":"make test"},"dependencies":{"component-bind":"~1.0.0","debug":"~2.2.0"},"devDependencies":{"blob":"0.0.4","browserify":"~11.2.0","expect.js":"~0.3.1","mocha":"~2.3.3","socket.io":"~1.3.7","socket.io-client":"~1.3.7","zuul":"~3.7.1","zuul-ngrok":"~3.0.0"},"gitHead":"b4d71db4b0e8c23ad638755b37c08e82a70d5e21","bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"homepage":"https://github.com/nkzawa/socket.io-stream#readme","_id":"socket.io-stream@0.9.0","_shasum":"eb1c19939748f2074f0d2a878346dfedf3f74fad","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}],"dist":{"shasum":"eb1c19939748f2074f0d2a878346dfedf3f74fad","tarball":"https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.9.0.tgz","integrity":"sha512-yUtZC1ixUTIWfuj6bXYC6/Dz3pSv41pAUDmL+rsvmRS4ZpLCINOcer4laaF2x+6y+tvItdbBrNYYc7D54vXuEA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCan0H/EF/Zh5i210pf7HLDwyZ04eRCmtR0S58+SdQnfQIgXq2L8zofK5grR+9P1vmJNkh05/V1LrB5wP3k2ekdhzE="}]}},"0.9.1":{"name":"socket.io-stream","version":"0.9.1","description":"stream for socket.io","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"contributors":[{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},{"name":"Aaron O'Mullan","email":"aaron.omullan@friendco.de"}],"keywords":["stream","socket.io","binary","file","upload","download"],"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"scripts":{"prepublish":"make build","test":"make test"},"dependencies":{"component-bind":"~1.0.0","debug":"~2.2.0"},"devDependencies":{"blob":"0.0.4","browserify":"~13.1.0","expect.js":"~0.3.1","mocha":"~3.0.2","socket.io":"~1.4.8","socket.io-client":"~1.4.8","zuul":"~3.11.1","zuul-ngrok":"~4.0.0"},"gitHead":"8feef9e9ce296ec87e471731735abc6982e4158d","bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"homepage":"https://github.com/nkzawa/socket.io-stream#readme","_id":"socket.io-stream@0.9.1","_shasum":"421258316288b83ac693b0d43efd09d6d43aba97","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"dist":{"shasum":"421258316288b83ac693b0d43efd09d6d43aba97","tarball":"https://registry.npmjs.org/socket.io-stream/-/socket.io-stream-0.9.1.tgz","integrity":"sha512-yBSvp1RGwhLOP/XmgdlrCtf2rOMX1XvbPqceYuJd7tjxCI5p1dnPXS5p9zRPozUYa+/b2+sGHrqShY7Z5lVfwg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDauLNmwC2jrdTZo4CJCh7SL6X52r6MPB213/D3j5QHbgIgbtMXahUVc2O3qdhj9cgRXYesp3tK97L3v9ZzkR+3C7A="}]},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/socket.io-stream-0.9.1.tgz_1474905141029_0.3379524094052613"}}},"readme":"# Socket.IO stream\n\n[![Build Status](https://travis-ci.org/nkzawa/socket.io-stream.png?branch=master)](https://travis-ci.org/nkzawa/socket.io-stream)\n[![NPM version](https://badge.fury.io/js/socket.io-stream.png)](http://badge.fury.io/js/socket.io-stream)\n\nThis is the module for bidirectional binary data transfer with Stream API through [Socket.IO](https://github.com/socketio/socket.io).\n\n## Installation\n\n    npm install socket.io-stream\n\n## Usage\n\nIf you are not familiar with Stream API, be sure to check out [the docs](http://nodejs.org/api/stream.html).\nI also recommend checking out the awesome [Stream Handbook](https://github.com/substack/stream-handbook).\n\nFor streaming between server and client, you will send stream instances first.\nTo receive streams, you just wrap `socket` with `socket.io-stream`, then listen any events as usual.\n\nServer:\n\n```js\nvar io = require('socket.io').listen(80);\nvar ss = require('socket.io-stream');\nvar path = require('path');\n\nio.of('/user').on('connection', function(socket) {\n  ss(socket).on('profile-image', function(stream, data) {\n    var filename = path.basename(data.name);\n    stream.pipe(fs.createWriteStream(filename));\n  });\n});\n```\n\n`createStream()` returns a new stream which can be sent by `emit()`.\n\nClient:\n\n```js\nvar io = require('socket.io-client');\nvar ss = require('socket.io-stream');\n\nvar socket = io.connect('http://example.com/user');\nvar stream = ss.createStream();\nvar filename = 'profile.jpg';\n\nss(socket).emit('profile-image', stream, {name: filename});\nfs.createReadStream(filename).pipe(stream);\n```\n\nYou can stream data from a client to server, and vice versa.\n\n```js\n// send data\nss(socket).on('file', function(stream) {\n  fs.createReadStream('/path/to/file').pipe(stream);\n});\n\n// receive data\nss(socket).emit('file', stream);\nstream.pipe(fs.createWriteStream('file.txt'));\n```\n\n### Browser\n\nThis module can be used on the browser. To do so, just copy a file to a public directory.\n\n    $ cp node_modules/socket.io-stream/socket.io-stream.js somewhere/public/\n\nYou can also use [browserify](http://github.com/substack/node-browserify) to create your own bundle.\n\n    $ npm install browserify -g\n    $ cd node_modules/socket.io-stream\n    $ browserify index.js -s ss > socket.io-stream.js\n\n```html\n<input id=\"file\" type=\"file\" />\n\n<script src=\"/socket.io/socket.io.js\"></script>\n<script src=\"/js/socket.io-stream.js\"></script>\n<script src=\"/js/jquery.js\"></script>\n<script>\n$(function() {\n  var socket = io.connect('/foo');\n\n  $('#file').change(function(e) {\n    var file = e.target.files[0];\n    var stream = ss.createStream();\n\n    // upload a file to the server.\n    ss(socket).emit('file', stream, {size: file.size});\n    ss.createBlobReadStream(file).pipe(stream);\n  });\n});\n</script>\n```\n\n#### Upload progress\n\nYou can track upload progress like the following:\n\n```js\nvar blobStream = ss.createBlobReadStream(file);\nvar size = 0;\n\nblobStream.on('data', function(chunk) {\n  size += chunk.length;\n  console.log(Math.floor(size / file.size * 100) + '%');\n  // -> e.g. '42%'\n});\n\nblobStream.pipe(stream);\n```\n\n### Socket.IO v0.9 support\n\nYou have to set `forceBase64` option `true` when using the library with socket.io v0.9.x.\n\n```js\nss.forceBase64 = true;\n```\n\n\n## Documentation\n\n### ss(sio)\n\n- sio `socket.io Socket` A socket of Socket.IO, both for client and server\n- return `Socket`\n\nLook up an existing `Socket` instance based on `sio` (a socket of Socket.IO), or create one if it doesn't exist.\n\n### socket.emit(event, [arg1], [arg2], [...])\n\n- event `String` The event name\n\nEmit an `event` with variable number of arguments including at least a stream.\n\n```js\nss(socket).emit('myevent', stream, {name: 'thefilename'}, function() { ... });\n\n// send some streams at a time.\nss(socket).emit('multiple-streams', stream1, stream2);\n\n// as members of array or object.\nss(socket).emit('flexible', [stream1, { foo: stream2 }]);\n\n// get streams through the ack callback\nss(socket).emit('ack', function(stream1, stream2) { ... });\n```\n\n### socket.on(event, listener)\n\n- event `String` The event name\n- listener `Function` The event handler function\n\nAdd a `listener` for `event`. `listener` will take stream(s) with any data as arguments.\n\n```js\nss(socket).on('myevent', function(stream, data, callback) { ... });\n\n// access stream options\nss(socket).on('foo', function(stream) {\n  if (stream.options && stream.options.highWaterMark > 1024) {\n    console.error('Too big highWaterMark.');\n    return;\n  }\n});\n```\n\n### ss.createStream([options])\n\n- options `Object`\n    - highWaterMark `Number`\n    - encoding `String`\n    - decodeStrings `Boolean`\n    - objectMode `Boolean`\n    - allowHalfOpen `Boolean` if `true`, then the stream won't automatically close when the other endpoint ends. Default to `false`.\n- return `Duplex Stream`\n\nCreate a new duplex stream. See [the docs](http://nodejs.org/api/stream.html) for the details of stream and `options`.\n\n```js\nvar stream = ss.createStream();\n\n// with options\nvar stream = ss.createStream({\n  highWaterMark: 1024,\n  objectMode: true,\n  allowHalfOpen: true\n});\n```\n\n### ss.createBlobReadStream(blob, [options])\n\n- options `Object`\n    - highWaterMark `Number`\n    - encoding `String`\n    - objectMode `Boolean`\n- return `Readable Stream`\n\nCreate a new readable stream for [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) and [File](https://developer.mozilla.org/en-US/docs/Web/API/File) on browser. See [the docs](http://nodejs.org/api/stream.html) for the details of stream and `options`.\n\n```js\nvar stream = ss.createBlobReadStream(new Blob([1, 2, 3]));\n```\n\n### ss.Buffer\n\n[Node Buffer](https://nodejs.org/api/buffer.html) class to use on browser, which is exposed for convenience. On Node environment, you should just use normal `Buffer`.\n\n```js\nvar stream = ss.createStream();\nstream.write(new ss.Buffer([0, 1, 2]));\n```\n\n## License\n\nMIT\n","maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}],"time":{"modified":"2022-06-26T21:56:38.007Z","created":"2013-06-21T15:21:45.260Z","0.1.0":"2013-06-21T15:21:48.441Z","0.2.0":"2013-06-23T07:35:31.428Z","0.3.0":"2013-06-24T17:56:19.451Z","0.3.1":"2013-06-25T14:54:17.972Z","0.4.0":"2013-08-31T10:42:44.974Z","0.5.0":"2013-09-05T14:55:13.211Z","0.5.1":"2013-12-09T17:20:47.349Z","0.5.2":"2013-12-15T18:34:35.601Z","0.5.3":"2014-02-23T10:39:35.999Z","0.6.0":"2014-10-21T17:18:35.321Z","0.6.1":"2015-04-05T18:58:14.800Z","0.7.0":"2015-04-28T19:53:38.086Z","0.8.0":"2015-04-29T04:41:01.187Z","0.9.0":"2015-10-24T15:41:33.265Z","0.9.1":"2016-09-26T15:52:21.274Z"},"author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"repository":{"type":"git","url":"git://github.com/nkzawa/socket.io-stream.git"},"readmeFilename":"README.md","homepage":"https://github.com/nkzawa/socket.io-stream#readme","keywords":["stream","socket.io","binary","file","upload","download"],"contributors":[{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},{"name":"Aaron O'Mullan","email":"aaron.omullan@friendco.de"}],"bugs":{"url":"https://github.com/nkzawa/socket.io-stream/issues"},"users":{"jaggedsoft":true,"santosharakere":true,"rusiboyadjiev":true,"robermac":true,"justintormey":true,"sarfarazsajjad":true,"rsilvestre":true,"damianof":true,"stretchgz":true,"jasoncmcg":true,"kaperstone":true,"panlw":true,"marlongrape":true,"anhulife":true,"ssljivic":true,"jmsherry":true,"ngsoftware":true,"droidsheep":true,"masize":true,"hema":true,"moimikey":true,"juangotama":true,"marshallswain":true,"chinjon":true,"simone.sanfra":true,"ys_sidson_aidson":true,"u.turkoz":true,"travis346":true,"ungurys":true}}