{"_id":"multibuffer-stream","_rev":"15-4a2f4299ff8951b8189abed260e3f1e3","name":"multibuffer-stream","description":"A streaming interface for multibuffer.","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"multibuffer-stream","version":"1.0.0","description":"A streaming interface for multibuffer.","main":"index.js","directories":{"test":"test"},"dependencies":{"multibuffer":"~1.2.2","through2":"~0.2.3","through2-map":"~1.2.0","bops":"~0.1.0"},"devDependencies":{"tape":"~1.1.1","stream-spigot":"~2.1.2","terminus":"~1.0.2"},"scripts":{"test":"node test/"},"keywords":["buffers","encoding","transport","stream"],"author":{"name":"Bryce B. Baril"},"license":"MIT","repository":{"type":"git","url":"git://github.com/brycebaril/multibuffer-stream.git"},"bugs":{"url":"https://github.com/brycebaril/multibuffer-stream/issues"},"_id":"multibuffer-stream@1.0.0","dist":{"shasum":"ee347a2f20e37f85529d4c45ba599f5c8a6d87e7","tarball":"https://registry.npmjs.org/multibuffer-stream/-/multibuffer-stream-1.0.0.tgz","integrity":"sha512-fRNQlSZdwX/0uYRZ8O4+fVM3EZyUMkWEPqHOuDlhJ9gmy/ZWsxZm08uVvkfrOE4EJtcA4JqQqq1yVZOZ6ubhFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCWNGsqe24F7aDG/8SJMsj3sanwAU6XXvtL6csQRyh4QIhAKcHh8xzSyDQ7Ug1Rg5XCahIt1aprHf9R93wUz91Q+xX"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"bryce","email":"bryce@ravenwall.com"},"maintainers":[{"name":"bryce","email":"bryce@ravenwall.com"}]},"1.0.1":{"name":"multibuffer-stream","version":"1.0.1","description":"A streaming interface for multibuffer.","main":"index.js","directories":{"test":"test"},"dependencies":{"multibuffer":"~1.3.1","through2":"~0.2.3","through2-map":"~1.2.0","bops":"~0.1.0"},"devDependencies":{"tape":"~1.1.1","stream-spigot":"~2.1.2","terminus":"~1.0.2"},"scripts":{"test":"node test/"},"keywords":["buffers","encoding","transport","stream"],"author":{"name":"Bryce B. Baril"},"license":"MIT","repository":{"type":"git","url":"git://github.com/brycebaril/multibuffer-stream.git"},"bugs":{"url":"https://github.com/brycebaril/multibuffer-stream/issues"},"_id":"multibuffer-stream@1.0.1","dist":{"shasum":"9fc403b059b82d2ade641d2d52cb36a1129df6f4","tarball":"https://registry.npmjs.org/multibuffer-stream/-/multibuffer-stream-1.0.1.tgz","integrity":"sha512-/CBocnbJ8C+Nlqzu8zKSwqau4Mly6oXV5yRNRx2PnpTdu0VVOFzJIPkexNTg0WFlY132/26LNDXJNrb137k2rg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEGsJYGbUmpaHPSTMogY6mI5Zui83ei9wOvfrGvPcUy9AiB3UlosFMYKSoEGtTpiNyJ6dqHE4hEvFMVwPf33QDs2/w=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"bryce","email":"bryce@ravenwall.com"},"maintainers":[{"name":"bryce","email":"bryce@ravenwall.com"}]},"2.0.0":{"name":"multibuffer-stream","version":"2.0.0","description":"A streaming interface for multibuffer.","main":"index.js","directories":{"test":"test"},"dependencies":{"multibuffer":"~2.0.0","through2":"~0.2.3","through2-map":"~1.2.0","bops":"~0.1.0"},"devDependencies":{"tape":"~1.1.1","stream-spigot":"~2.1.2","terminus":"~1.0.2"},"scripts":{"test":"node test/"},"keywords":["buffers","encoding","transport","stream"],"author":{"name":"Bryce B. Baril"},"license":"MIT","repository":{"type":"git","url":"git://github.com/brycebaril/multibuffer-stream.git"},"bugs":{"url":"https://github.com/brycebaril/multibuffer-stream/issues"},"_id":"multibuffer-stream@2.0.0","dist":{"shasum":"98c2e36a29776f83a29cad99ffbc72be6f18ff71","tarball":"https://registry.npmjs.org/multibuffer-stream/-/multibuffer-stream-2.0.0.tgz","integrity":"sha512-RWGFi73ZWTSSHaRKs3RFsWa+rVPBIo5GV5uei2kmdxy2EK3AvmjD5zMfOdVpdMNUCKWoQGMB6xPJoGnE4X1MBw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzHL1rb/7RcoTqyuUHCP+pUFqOT2vQtlg9ceWcD/RkegIgaMaBHVwmUzFglxIQyu4iEhFVHA42QueQy8xzyPUC5qE="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"bryce","email":"bryce@ravenwall.com"},"maintainers":[{"name":"bryce","email":"bryce@ravenwall.com"}]},"2.0.1":{"name":"multibuffer-stream","version":"2.0.1","description":"A streaming interface for multibuffer.","main":"index.js","directories":{"test":"test"},"dependencies":{"multibuffer":"~2.1.0","through2":"~0.2.3","bops":"~0.1.1"},"devDependencies":{"tape":"~2.3.0","stream-spigot":"~3.0.1","terminus":"~1.0.4"},"scripts":{"test":"node test/"},"keywords":["buffers","encoding","transport","stream"],"author":{"name":"Bryce B. Baril"},"license":"MIT","repository":{"type":"git","url":"git://github.com/brycebaril/multibuffer-stream.git"},"bugs":{"url":"https://github.com/brycebaril/multibuffer-stream/issues"},"homepage":"https://github.com/brycebaril/multibuffer-stream","_id":"multibuffer-stream@2.0.1","dist":{"shasum":"e8000a6e95fc619bcc92abbe6840ec71ea196492","tarball":"https://registry.npmjs.org/multibuffer-stream/-/multibuffer-stream-2.0.1.tgz","integrity":"sha512-JN6Z7QaPHZZSNeNhj+Ng8GZoT/Xa7SAcap1Csy0E4RkEBgM8KBt+iPd7VbFjioOopw42K5+Kp5DfH1539seJvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDa4eTIwvKF1CeaoBy2t4kFajI8RYSddNBw/iCsDpjWTgIhAPLfbRmMCN+SIrBpWu4BWxg8+7lCt8qKJtCxikDc/IZf"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"bryce","email":"bryce@ravenwall.com"},"maintainers":[{"name":"bryce","email":"bryce@ravenwall.com"}]},"2.1.0":{"name":"multibuffer-stream","version":"2.1.0","description":"A streaming interface for multibuffer.","main":"index.js","directories":{"test":"test"},"dependencies":{"multibuffer":"~2.2.0","through2":"~0.2.3"},"devDependencies":{"tape":"~2.3.2","stream-spigot":"~3.0.2","terminus":"~1.0.7"},"scripts":{"test":"node test/"},"keywords":["buffers","encoding","transport","stream"],"author":{"name":"Bryce B. Baril"},"license":"MIT","repository":{"type":"git","url":"git://github.com/brycebaril/multibuffer-stream.git"},"bugs":{"url":"https://github.com/brycebaril/multibuffer-stream/issues"},"homepage":"https://github.com/brycebaril/multibuffer-stream","_id":"multibuffer-stream@2.1.0","dist":{"shasum":"b3c4ed4c9d7896a320e7166f3031e7dab98eab7d","tarball":"https://registry.npmjs.org/multibuffer-stream/-/multibuffer-stream-2.1.0.tgz","integrity":"sha512-Mkq7RovuDFaQlnRr0jdN0D0clKSzH0+1dlWnCAWUYkdco5G3Jl6tZSyXUF/oM4YPfxmSOGztOC00VJpyEbZZYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2Lyy5ce1djNzmh7I2blU9uPkEcnPy3EFMOXVVJBNY4AIgGMRPu4ObIbhEhSSn0jvP1RCywd1+qkuArHu/sJbYhxk="}]},"_from":".","_npmVersion":"1.3.21","_npmUser":{"name":"bryce","email":"bryce@ravenwall.com"},"maintainers":[{"name":"bryce","email":"bryce@ravenwall.com"}]},"2.1.1":{"name":"multibuffer-stream","version":"2.1.1","description":"A streaming interface for multibuffer.","main":"index.js","directories":{"test":"test"},"dependencies":{"multibuffer":"~2.2.1","through2":"~0.4.1"},"devDependencies":{"tape":"~2.4.0","stream-spigot":"~3.0.3","terminus":"~1.0.9"},"scripts":{"test":"node test/"},"keywords":["buffers","encoding","transport","stream"],"author":{"name":"Bryce B. Baril"},"license":"MIT","repository":{"type":"git","url":"git://github.com/brycebaril/multibuffer-stream.git"},"bugs":{"url":"https://github.com/brycebaril/multibuffer-stream/issues"},"homepage":"https://github.com/brycebaril/multibuffer-stream","_id":"multibuffer-stream@2.1.1","dist":{"shasum":"e5a9e6de19d9abb853a7d899f777003d50a9c2a2","tarball":"https://registry.npmjs.org/multibuffer-stream/-/multibuffer-stream-2.1.1.tgz","integrity":"sha512-Bk31Fkv7zEIeTnkFJFkSGZvJRAljLqlmm7/1CUrcfE0ewt80T1ckD8kTZf5ILAvwfe+GQPn++Bp2iH8U+AHHsg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5jiQWesRSW9n/trrTEzJd6+MVcAC6U49RTb8E/VfuJgIgdENwCeaZO5OV6DW3HmBBSDABeejaUJgRf+6Dh3r9pI4="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"bryce","email":"bryce@ravenwall.com"},"maintainers":[{"name":"bryce","email":"bryce@ravenwall.com"}]},"3.0.0":{"name":"multibuffer-stream","version":"3.0.0","description":"A streaming interface for multibuffer.","main":"index.js","directories":{"test":"test"},"dependencies":{"multibuffer":"~2.2.3","through2":"~0.6.3","varint":"~4.0.0"},"devDependencies":{"tape":"~3.2.0","stream-spigot":"~3.0.4","terminus":"~1.0.11"},"scripts":{"test":"node test/"},"keywords":["buffers","encoding","transport","stream"],"author":{"name":"Bryce B. Baril"},"license":"MIT","repository":{"type":"git","url":"git://github.com/brycebaril/multibuffer-stream.git"},"bugs":{"url":"https://github.com/brycebaril/multibuffer-stream/issues"},"gitHead":"a54aff042e64caad5e7041e885a5751a2201ebd3","homepage":"https://github.com/brycebaril/multibuffer-stream","_id":"multibuffer-stream@3.0.0","_shasum":"7e0523d26647babc11ba42093041b3d1e492ae9b","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"bryce","email":"bryce@ravenwall.com"},"maintainers":[{"name":"bryce","email":"bryce@ravenwall.com"}],"dist":{"shasum":"7e0523d26647babc11ba42093041b3d1e492ae9b","tarball":"https://registry.npmjs.org/multibuffer-stream/-/multibuffer-stream-3.0.0.tgz","integrity":"sha512-n8/hMUHWZUEp6wFk8reecN5SOA5xxZoQbROZgSUX0r7zq2X2/9Hj2zo3CV4Picnp8Jclp3fPpHXGXkNar4ylYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJIlp04dYTbxEb2cxD0pQSXrrTCNolQZkXkeaAhq58MQIgNbrcg8memFYIMCD8nJ//X9W10hPcu3kRdMcEwmYceYY="}]}}},"readme":"multibuffer-stream\n=====\n\n[![NPM](https://nodei.co/npm/multibuffer-stream.svg)](https://nodei.co/npm/multibuffer-stream/)\n\nA streaming version of [multibuffer](http://npm.im/multibuffer)\n\nThis is useful for packaging your buffers to cross transport layers that may alter the stream frame boundaries (e.g. combine chunks or break in the middle of them) so they can be re-assembled into the original buffers.\n\n```javascript\nvar mbstream = require(\"multibuffer-stream\")\nvar through2 = require(\"through2\")\nvar spigot = require(\"stream-spigot\")\n\nspigot([\"my\", \"dear\", \"aunt\", \"sally\"])\n  .pipe(mbstream.packStream()) // encode\n  .pipe(through2(function (chunk, encoding, callback) {\n    // Brutally chunk the stream into <= 3 byte chunks\n    var len = chunk.length\n    for (var i = 0; i < len; i += 3) {\n      this.push(chunk.slice(i, i + 3))\n    }\n    callback()\n  }))\n  .pipe(mbstream.unpackStream()) // re-assemble into original buffers\n  .pipe(through2(function (chunk, encoding, callback) {\n    chunk[0] = chunk[0] - 32 // upper-case first character\n    this.push(chunk)\n    return callback()\n  }))\n  .pipe(process.stdout)\n\n/*\nMyDearAuntSally\n */\n\n// Convert a stream into a multibuffer stream with `wrap`\n// **NOTE** You **MUST** know the full length of the stream first!\nvar fs = require(\"fs\")\nvar file = \"./README.md\"\nvar size = fs.statSync(file).size\nfs.createReadStream(file)\n  .pipe(mbstream.wrap(size))     // convert to multibuffer-stream\n  .pipe(mbstream.unpackStream()) // convert back to regular stream\n\n```\n\nAPI\n===\n\n`.packStream()`\n---\n\nCreate a `stream.Transform` instance that will convert buffers written to it into [multibuffers](http://npm.im/multibuffer)\n\n`.unpackStream()`\n---\n\nCreate a `stream.Transform` instance that will re-assemble the original packed stream.\n\n`.wrap(byteLength)`\n---\n\nCreates a `Transform` stream that will wrap a **known length** stream as a multibuffer (i.e. prefix the first chunk with the length).\n\nThis means it is not suitable for never-ending streams.\n\nLICENSE\n=======\n\nMIT\n","maintainers":[{"name":"bryce","email":"bryce@ravenwall.com"}],"time":{"modified":"2022-06-20T13:31:23.099Z","created":"2013-10-01T06:17:11.894Z","1.0.0":"2013-10-01T06:17:13.982Z","1.0.1":"2013-10-04T21:14:41.680Z","2.0.0":"2013-10-10T23:27:53.039Z","2.0.1":"2013-12-13T19:14:26.210Z","2.1.0":"2013-12-19T00:00:45.530Z","2.1.1":"2014-01-31T00:42:31.557Z","3.0.0":"2015-01-15T23:41:24.141Z"},"author":{"name":"Bryce B. Baril"},"repository":{"type":"git","url":"git://github.com/brycebaril/multibuffer-stream.git"},"readmeFilename":"README.md","homepage":"https://github.com/brycebaril/multibuffer-stream","keywords":["buffers","encoding","transport","stream"],"bugs":{"url":"https://github.com/brycebaril/multibuffer-stream/issues"},"license":"MIT"}