{"_id":"rpc-stream","_rev":"42-72a3fe653fe71c63a4df3d7cb6ea8f70","name":"rpc-stream","description":"very simple rpc. use with any thing that has .pipe()","dist-tags":{"latest":"2.1.2"},"versions":{"0.0.0":{"name":"rpc-stream","version":"0.0.0","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"request":"~2.9.202"},"devDependencies":{},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"engines":{"node":"*"},"scripts":{"test":"asynct test/*.js"},"_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"_id":"rpc-stream@0.0.0","_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.18","_defaultsLoaded":true,"dist":{"shasum":"cfcdd8b84dd2610e7a85d0e18b542005caf6c654","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-0.0.0.tgz","integrity":"sha512-OLQr7JYHRTRO19X10cTrsvAjV+H3oZsvqmKStbDjhezULIP8/mmh6Jpu90Vis/fjlhikumqA7VwBr5upxgMKLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2ljLALPChJGW04fcY1+yRXozu8jO0DlsTKo1smdnYHgIhAMO0T2+lvaPqJ9trRfTUOi2sloB5h5VkWRVEAZUGI3d+"}]},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"0.1.0":{"name":"rpc-stream","version":"0.1.0","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"request":"~2.9.202"},"devDependencies":{},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"engines":{"node":"*"},"scripts":{"test":"asynct test/*.js"},"_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"_id":"rpc-stream@0.1.0","_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.18","_defaultsLoaded":true,"dist":{"shasum":"5ded6edc9c9221c1d7f3ab392c13b94351db1fa5","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-0.1.0.tgz","integrity":"sha512-2uDBQVAdB6ft9yEAQchQVD6j9mYwiHWsWQ/OcnEr/lESDr2JUbjuuABcilCmULWteRITHOnusjNQqpEvwrNdJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4OspvVz2Fo8/a9LnMpxLFmhSWCnFtg4wCHVsDzvlY6AIgSMD+lHNT9YT8AFCY+TRbxzXXyVne1Y4vRarSSNB7tnY="}]},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"0.1.1":{"name":"rpc-stream","version":"0.1.1","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"event-stream":"1.3"},"devDependencies":{"request":"~2.9.202"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"engines":{"node":"*"},"scripts":{"test":"asynct test/*.js"},"_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"_id":"rpc-stream@0.1.1","_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.18","_defaultsLoaded":true,"dist":{"shasum":"e2880b5b19cc79e224d7e10b2d78b8f2fd9fd31d","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-0.1.1.tgz","integrity":"sha512-e0FjEqVwarvE3iJpdIGwZmqKYk/00HZh7wj7S1H3xdztXLvhu2dDZjFQRMiGb4LdtAlxGrNGw/NtHE2nbljN6g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE+VZFzgNrRTXv4O0Tjm0mQd+pzIgvkVzajyv4GhSTflAiB7OA/a2B+N6Ls2P3GKYXGfS4I0+h3WHQ4hONClnJSdpw=="}]},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"0.1.2":{"name":"rpc-stream","version":"0.1.2","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"event-stream":"1.3"},"devDependencies":{"request":"~2.9.202"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"engines":{"node":"*"},"scripts":{"test":"asynct test/*.js"},"_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"_id":"rpc-stream@0.1.2","_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.18","_defaultsLoaded":true,"dist":{"shasum":"e29435944c51cc34e863047fc2117286e201bc12","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-0.1.2.tgz","integrity":"sha512-cCHr0+mRDHy+Cl0iUjyEfSm6OWTvjfDULz++iJCBbR1piMeCQy4TUCxTprBtnyhAK/iX2iMGkm0PrJnERWDU7w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTLZbuZ3wO3Y0z984Dd4a4Alp/i5Hp6Rbtua1z8gn86QIhAOO49yDIcj/cRmMf5ha4FayNCgYi8LJNUlqd0Y9pXUVQ"}]},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"0.1.3":{"name":"rpc-stream","version":"0.1.3","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"event-stream":"~2"},"devDependencies":{"request":"~2.9.202"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"engines":{"node":"*"},"scripts":{"test":"asynct test/*.js"},"_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"_id":"rpc-stream@0.1.3","_engineSupported":true,"_npmVersion":"1.1.23","_nodeVersion":"v0.6.18","_defaultsLoaded":true,"dist":{"shasum":"cadc4bc82fdd9117e20d209ceb5618661b5cfff3","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-0.1.3.tgz","integrity":"sha512-kvZst3oQAmfPq5nCW7R0OVEzJKDqdLkQ9jKnhFyGXkFi9k9MJo0a/pvB5GBvX/MzQpMDl+4zP0qMUzaFEn7pUA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFlRXs9AX0JX5cCmMoMeg/pWbDlUFNjTwVNA9I8LKxurAiEAoTwn+xFDvRcDUNmqwY5blNhuYhpZbyE4opk8IyG+P6A="}]},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"0.2.0":{"name":"rpc-stream","version":"0.2.0","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"stream-serializer":"~1.0.0","through":"~2.2.7"},"devDependencies":{"event-stream":"~2","request":"~2.9.202"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"engines":{"node":"*"},"scripts":{"test":"asynct test/*.js"},"_id":"rpc-stream@0.2.0","dist":{"shasum":"d20f85cf09ef30bd002a862461737cffdd87ee26","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-0.2.0.tgz","integrity":"sha512-VMjXHZJ9nYUvkn6IdXLLnzH2f1BQ4k/Vh2QOHdGtrwzB2DATvvEtW3pAm5d/DnnD4vhYDSbR33ST324cRAjBdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrBx2+74z7JhKoJY4Rl+gaDr4PgXqcGlHI0/y2p9bZzwIhAMQTFBqF4mSkHZ++j+2xBJv+EiDFh0uXtG+I5Z8/109U"}]},"_from":".","_npmVersion":"1.2.3","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"0.2.1":{"name":"rpc-stream","version":"0.2.1","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"stream-serializer":"~1.0.0","through":"~2.2.7"},"devDependencies":{"event-stream":"~2","request":"~2.9.202"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"engines":{"node":"*"},"scripts":{"test":"asynct test/*.js"},"_id":"rpc-stream@0.2.1","dist":{"shasum":"43a92fb449f89ab8d9d48de60afa97776e4bb23e","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-0.2.1.tgz","integrity":"sha512-UN/4tjDgej92v9Mj5UGOpVsmDlatpR4O2RkGrCYDxa3fUz6MSyQQPpWfpsBp9BoHts608HlvP1hspMNamAF6ZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDieEOhHchGcmL35ZXD1+kMiI+D2zhLAI86/osIPA7FeAiEAlljv8DzUsTlfpXzCeEK6lSWDylK96y4fvYzzehXxnZ8="}]},"_from":".","_npmVersion":"1.2.3","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"0.2.2":{"name":"rpc-stream","version":"0.2.2","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"stream-serializer":"~1.0.0","through":"~2.3.1"},"devDependencies":{"event-stream":"~2","request":"~2.9.202"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"engines":{"node":"*"},"scripts":{"test":"asynct test/*.js"},"_id":"rpc-stream@0.2.2","dist":{"shasum":"96d9c0700053f2c7865d86bb142b3d5f2796903b","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-0.2.2.tgz","integrity":"sha512-nZW3u8SKAjkjMXEqtnLJ8OZa1srUnB4RQR51rB2AFQ/HVloV+e2x8e6X2MNA0GbDDYvQF8Ss/ISkQTg/eV/cbA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWHUrlVIbxjtDKzFaVIDWDR3/Ts4jGwSa8ZJ6FILlVzwIhALOQBx59rYMkAjp49aAq4IUOVZd8BfCUIp01V3hUTOtT"}]},"_from":".","_npmVersion":"1.2.3","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"1.0.0":{"name":"rpc-stream","version":"1.0.0","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"stream-serializer":"~1.0.0","through":"~2.3.1"},"devDependencies":{"event-stream":"~2","tape":"~0.3.3"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"scripts":{"test":"node test/index.js"},"_id":"rpc-stream@1.0.0","dist":{"shasum":"8e1e20db8aacba6e88886d3189c1d26a3a25f5ce","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-1.0.0.tgz","integrity":"sha512-Iu7VMeClcTj8eTlvDc+7O95QXAFl2eFJrVURl1RU7RzBaSY3pza7U8JainIQh0kXtVF1WJNGJgbBE0E1ldtvbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4WNFVSi0MTBp4wx84dhn9EFyTYD0PFvTbJ2aL+2c+yAIhANAOrH3U7PHDuxAUZZshStkBkmrwbKaoGR7/CRHGjhMF"}]},"_from":".","_npmVersion":"1.2.3","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"1.0.1":{"name":"rpc-stream","version":"1.0.1","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"stream-serializer":"~1.0.0","through":"~2.3.1"},"devDependencies":{"event-stream":"~2","tape":"~0.3.3"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"scripts":{"test":"node test/index.js"},"_id":"rpc-stream@1.0.1","dist":{"shasum":"009f96bfa5dfc72e906c5798276549751f7a17c9","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-1.0.1.tgz","integrity":"sha512-kohNduJF4Jb3zFNpIxO3cZx8xNve7g48pZdBQnYqwhezveK2w3dVctuiVqPTIO2XDVgEbftpq0/9uVgwArPpzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcXzwnYXUIs+Yq1aphAMBE0pveyBCLijxdHLF7SmUVDwIhAPaFAoMZupdpUbyV8sCa1BVvlWZ9axmY9JyrTtB/HxPk"}]},"_from":".","_npmVersion":"1.2.3","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"1.0.2":{"name":"rpc-stream","version":"1.0.2","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"stream-serializer":"~1.0.0","through":"~2.3.1"},"devDependencies":{"event-stream":"~2","tape":"~0.3.3"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done"},"_id":"rpc-stream@1.0.2","dist":{"shasum":"a4ea8d7f277a1bce80bec0dc320796383c14b76c","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-1.0.2.tgz","integrity":"sha512-ldXTIAhwRyFVTok8xEHfiAGuD4ayVO2cSBFBTJqKd+J4/xp3E4lmdCwc3E7LWp+0RQNdEKgYoYOlMvUmF23wTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmEwNiVUBPAyZyIYIZt2tWGKRLwjbq+P7RrPKn+5ilaAIhAPXey6l07N8zFTboWbClNtqo3WtgC/jWWkrlOaiPnKi1"}]},"_from":".","_npmVersion":"1.2.3","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"1.0.3":{"name":"rpc-stream","version":"1.0.3","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"stream-serializer":"~1.0.0","through":"~2.3.1"},"devDependencies":{"event-stream":"~2","tape":"~0.3.3"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"scripts":{"test":"tap test/*.js"},"_id":"rpc-stream@1.0.3","dist":{"shasum":"45cc01b2d07a020b5814d5aa172fb46b34e2b9b9","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-1.0.3.tgz","integrity":"sha512-Y6cK5vVJhpWHH6U9YfzsBXRJu/t0isj4xgQpFvUDFKIjPi9K982zJJjVut3L6fgicDJiZy139yWGJHrmvq1hCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDzPQUMMuLVHtsX0do2iPGQg7dEsv5r8fjIYLYay+WfbAiAkpr88NUxJedF8HrpZGmAE37ZBT+xOB56jDtRZfs1foQ=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"1.0.4":{"name":"rpc-stream","version":"1.0.4","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"stream-serializer":"~1.0.0","through":"~2.3.1"},"devDependencies":{"event-stream":"~2","tape":"~0.3.3"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done"},"bugs":{"url":"https://github.com/dominictarr/rpc-stream/issues"},"_id":"rpc-stream@1.0.4","dist":{"shasum":"6bd13704ed917677d3b32bb23acba6eb84c29997","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-1.0.4.tgz","integrity":"sha512-Hhs/jZNb54PD7LU9zg/jX4r++Xe3nz4eQSHvnhJPIzT5qxZb6o6y2uJz85VOloPBHYGNN+6nbbeo0ggPLVEUPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBLLEzApuEqirAB99wEjFAQ0hfgcs3WEVszx/PZIHlkZAiEAh4+gKiTU3FOT72Cy+xWUDIDjlNFw3j3uZ95lOk8e/QI="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"1.0.5":{"name":"rpc-stream","version":"1.0.5","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"stream-serializer":"~1.0.0","through":"~2.3.1"},"devDependencies":{"event-stream":"~2","tape":"~0.3.3"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done"},"bugs":{"url":"https://github.com/dominictarr/rpc-stream/issues"},"_id":"rpc-stream@1.0.5","dist":{"shasum":"6de60b5c5f7990728e4f37e5d40b36d94b93e7b2","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-1.0.5.tgz","integrity":"sha512-voF3w5z9RN6WMKywlIRuXjv0CYQ25Im95rcFXS3mjeB8bV+PWrg3//flsGNXZ/deqiVgNLbGVl5J9faq0r2LDQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDecCMmjTc/uVFLgrSbKJsZj5/bE/OXkKPX22beOP9OXQIgBPNrzMG9Xeig8sY64nrf8QUVKGD17q3Q5L+h12CEIHw="}]},"_from":".","_npmVersion":"1.3.0","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"2.0.0":{"name":"rpc-stream","version":"2.0.0","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"stream-serializer":"~1.0.0","through":"~2.3.1"},"devDependencies":{"event-stream":"~2","tape":"~0.3.3"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done"},"bugs":{"url":"https://github.com/dominictarr/rpc-stream/issues"},"_id":"rpc-stream@2.0.0","dist":{"shasum":"291990ac728f37c9d299c115227fed64055bda42","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-2.0.0.tgz","integrity":"sha512-CroBQzAP7DmHH7hDSKDBMWyxXrHvYOf/cqs6QjLaW2FHfy/5nyGRzXkmNXK70XYCSyA5AANo76Gu39X/6UId+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBc2e48bAGftVZ4aN9J92QBJJxS1H6VkRi/UgVw8W8m7AiEAx3aRrtApcCpmK4/itRcd3oT6uuohCKviFOiTWXTL0hw="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"2.1.0":{"name":"rpc-stream","version":"2.1.0","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"stream-serializer":"~1.0.0","through":"~2.3.1"},"devDependencies":{"event-stream":"~2","tape":"~0.3.3"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done"},"bugs":{"url":"https://github.com/dominictarr/rpc-stream/issues"},"_id":"rpc-stream@2.1.0","dist":{"shasum":"c1d168bfbca2e060003499f8b06450eaf5ffee6f","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-2.1.0.tgz","integrity":"sha512-pXJRupOItEZB1WRh5O9wLmGRD1v+ZBPQLQEuzNkXaMznvAFseQ8OOJEMblKOYRSPgZD8oyK04f70PbgcvdVfmA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRdbVy/n4UvFmOVkWbyetHxbG2tVYWDgwUchEPwDTGpwIhAL3p+1QyT/X3tO/R9Bv7pvFHABH0ap0/bint1nLdxbfc"}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"directories":{}},"2.1.1":{"name":"rpc-stream","version":"2.1.1","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"stream-serializer":"~1.0.0","through":"~2.3.1"},"devDependencies":{"event-stream":"~2","tape":"~0.3.3"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done"},"bugs":{"url":"https://github.com/dominictarr/rpc-stream/issues"},"_id":"rpc-stream@2.1.1","_shasum":"c5f476e6e1a43763d596cefe3d73e0b1a67fd6d2","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"dist":{"shasum":"c5f476e6e1a43763d596cefe3d73e0b1a67fd6d2","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-2.1.1.tgz","integrity":"sha512-jccyhsJvwh7jGEJpJWDbLjLnFcT55DpUsUXyq6gXsqy2S3xMYzvG+ihhQ7POdGOhNsEmv69toUzv5Wi+DKU/yg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBJ4qUG5sO4E2kWb7WPfS2I/59pdIgBOi8cYUAQD1N+ZAiAjy98TAByNQzHxK/ps18KUHUxzckkBTj4thwHR7+Wtpg=="}]},"directories":{}},"2.1.2":{"name":"rpc-stream","version":"2.1.2","description":"very simple rpc. use with any thing that has .pipe()","homepage":"http://github.com/dominictarr/rpc-stream","repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"dependencies":{"stream-serializer":"~1.0.0","through":"~2.3.1"},"devDependencies":{"event-stream":"~2","tape":"~0.3.3"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"optionalDependencies":{},"scripts":{"test":"set -e; for t in test/*.js; do node $t; done"},"gitHead":"ce0d7d76182d6e853bebba5666658d32299dc37d","bugs":{"url":"https://github.com/dominictarr/rpc-stream/issues"},"_id":"rpc-stream@2.1.2","_shasum":"c24a6dee529f386284bb0d6fd312b9b1c0d8429b","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}],"dist":{"shasum":"c24a6dee529f386284bb0d6fd312b9b1c0d8429b","tarball":"https://registry.npmjs.org/rpc-stream/-/rpc-stream-2.1.2.tgz","integrity":"sha512-DONQx+GHX5dU/bW+lwFVpkCb7zt2PVlJzERsU6HJSqMqBy+tE67w9Eyvs14u1Mfvqbasvmk3iGbN5dZvKlYCKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBYMVZwv0Lw+BuCIchZT4wZucv6Q0PWjbnAJSoZblS4ZAiEAlwo6GFFFz3iSDpQKM/UIjLMBXLxESMKqakEYJKMKauo="}]},"directories":{}}},"readme":"#rpc-stream\n\n`RpcStream` is a dead simple (75 loc) rpc system that works over any full-duplex text/byte/json stream.\nThere's also a [Python port](https://github.com/riga/rpyc-stream), e.g. for cross-language RPC-over-SSH.\n\n## ports\n\n* [rpyc-stream](https://github.com/riga/rpyc-stream) Python\n\n## rant\n\nThere are a bunch of people have already written node rpc systems, but most of them has done it _right_ yet.\nMy beef is that all these systems is that they are tightly coupled to, or wrapped around servers. what if I want to encrypt the messages? what if I want to send the messages over stdin/out, or over ssh? of write them to a temp file? there is one abstraction that matches all of these cases; the `Stream`\n\nI should just be able to do this:\n\n``` js\n  REMOTE_SSH_STREAM           //<-- pipe data from a remote source\n    .pipe(DECRYPT_STREAM)    //through some ('middleware') streams (ssh already encrypts, but I'm paranoid)\n    .pipe(GUNZIP_STREAM)\n    .pipe(RPC)               //<--- pipe the data through the RPC system.\n    .pipe(GZIP_STREAM)\n    .pipe(ENCYPT_STREAM)\n    .pipe(REMOTE_SSH_STREAM)  //<-- and back to the remote\n\n  //with something very similar on the other side.\n```\nRPC framework (AHEM! RPC MODULE!), _you_ just worry about calling the right function, _I'll_ decide where you go...\n\nupdate: [dnode@1.0.0](https://github.com/substack/dnode) now has first class streams, and you can pipe it where you like! \n\n## usage\n\n```js\nvar rpc = require('rpc-stream')\n\n//create a server, that answers questions.\n//pass in functions that may be called remotely.\nvar server = rpc({hello: function (name, cb) {\n  cb(null, 'hello, '+name)\n}})\n\n//create a client, that asks questions.\nvar client = rpc()\n\n//pipe rpc instances together!\nclient.pipe(server).pipe(client)\n\nvar remote = client.wrap(['hello'])\nremote.hello('JIM', function (err, mess) {\n  if(err) throw err\n  console.log(mess)\n})\n```\n\n## over tcp\n\nserver\n\n```js\nnet.createServer(function(con) {\n  // create one server per connection\n  var server = rpc(/* ... */)\n  server.pipe(con).pipe(server)\n}).listen(3000))\n```\n\nclient\n\n```js\nvar client = rpc()\nvar con = net.connect(3000)\nclient.pipe(con).pipe(client)\n\nvar remote = client.wrap(['hola'])\nremote.hola('steve', function(err, res) {\n  console.log(res)\n})\n```\n\n\n### rpc(methods, opts)\n\nreturns a `RpcStream` that will call `methods` when written to.\n\nIf `opts.raw` is set to `true`, `JSON.stringify()` is turned off and you just\nget a stream of objects, in case you want to do your own parsing/stringifying.\n\nWith `opts.flattenError` you can override the default method of converting\nerrors to plain js objects. For example, to include non-enumerable properties\ntoo, pass:\n\n```js\n{flattenError: function (err) {\n  if(!(err instanceof Error)) return err\n  var err2 = { message: err.message }\n  var props = Object.getOwnPropertyNames(err)\n  for(var k in err)\n    err2[k] = err[k]\n  return err2\n}}\n```\n\n### RpcStream\\#wrap(methodNames)\n\nreturns a wrapped object with the remote's methods.\nthe client needs to already know the names of the methods.\naccepts a string, and array of strings, or a object.\nif it's an object, `wrap` will use the keys as the method names. \n\n```js\n//create rpc around the fs module.\nvar fsrpc = rpc(require('fs'))\n//pipe, etc\n```\n\nthen, in another process...\n\n```js\nvar fsrpc = rpc()\n//pipe, etc\n\n//wrap, with the right method names.\nvar remoteFs = fsrpc.wrap(require('fs'))\n\nremoteFs.mkdir('/tmp/whatever', function (err, dir) {\n  //yay!  \n})\n\n```\n\nnow, the second process can call the `fs` module in the first process!\n`wrap` does not use the methods for anything. it just wants the names.\n\n### RpcStream#rpc(name, args, cb)\n\nthis gets invoked by wrap. but you could call it directly.\n\n``` js\nrpc().wrap('hello').hello(name, callback)\n//is the same as\nrpc().rpc('hello', [name], callback)\n```\n\n### RpcStream#pipe\n\nthis is why we are here. read [this](http://nodejs.org/api/stream.html#stream_stream_pipe_destination_options) and [this](https://github.com/joyent/node/blob/master/lib/stream.js)\n\n\n## license\n\nMIT/APACHE2\n","maintainers":[{"email":"nopersonsmodules@gmail.com","name":"nopersonsmodules"}],"time":{"modified":"2022-06-26T14:25:16.442Z","created":"2012-05-27T18:24:54.956Z","0.0.0":"2012-05-27T18:25:03.480Z","0.1.0":"2012-05-28T09:03:50.276Z","0.1.1":"2012-05-28T09:52:46.512Z","0.1.2":"2012-05-28T10:28:21.951Z","0.1.3":"2012-06-13T05:24:37.728Z","0.2.0":"2013-04-12T19:49:57.965Z","0.2.1":"2013-04-12T23:21:45.405Z","0.2.2":"2013-04-13T11:35:45.730Z","1.0.0":"2013-04-19T14:44:09.271Z","1.0.1":"2013-04-19T14:53:25.075Z","1.0.2":"2013-04-20T18:20:35.192Z","1.0.3":"2013-06-03T22:29:15.704Z","1.0.4":"2013-06-17T23:10:30.207Z","1.0.5":"2013-07-22T10:26:35.686Z","2.0.0":"2014-03-12T21:00:22.472Z","2.1.0":"2014-04-14T06:49:39.999Z","2.1.1":"2014-06-17T19:47:02.564Z","2.1.2":"2015-10-10T00:23:39.308Z"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com","url":"dominictarr.com"},"repository":{"type":"git","url":"git://github.com/dominictarr/rpc-stream.git"},"homepage":"http://github.com/dominictarr/rpc-stream","bugs":{"url":"https://github.com/dominictarr/rpc-stream/issues"},"readmeFilename":"readme.markdown","users":{"hzapata":true,"isaacvitor":true}}