{"_id":"duplex-to","_rev":"3-d2ae70c718ab8c39f6d847ea45bd6750","name":"duplex-to","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"duplex-to","version":"1.0.0","description":"Wraps a duplex stream and hides the readable or the writable interface","main":"index.js","scripts":{"test":"standard && mocha"},"repository":{"type":"git","url":"git://github.com/bergos/duplex-to.git"},"keywords":["duplex","readable","stream","writable"],"author":{"name":"Thomas Bergwinkl","email":"bergi@axolotlfarm.org","url":"https://www.bergnet.org/people/bergi/card#me"},"license":"MIT","bugs":{"url":"https://github.com/bergos/duplex-to/issues"},"homepage":"https://github.com/bergos/duplex-to","dependencies":{},"devDependencies":{"get-stream":"^5.1.0","isstream":"^0.1.2","mocha":"^6.2.2","readable-stream":"^3.4.0","standard":"^14.3.1"},"gitHead":"5c2214a302c6a55199eecce88b0b8cce5c15d79d","_id":"duplex-to@1.0.0","_nodeVersion":"12.12.0","_npmVersion":"6.11.3","_npmUser":{"name":"bergos","email":"bergi@bergnet.org"},"dist":{"integrity":"sha512-pjJ6/s31+3gmQzzeT9y19Xv+cXaYwOKlHJtucmfP2USyQ+oMGeijwEpIUViad5OLujVicJ8AxkkF6e7C2d//DQ==","shasum":"2c17dc5961486e7b0466b0cfcd72a3dd1e3e828d","tarball":"https://registry.npmjs.org/duplex-to/-/duplex-to-1.0.0.tgz","fileCount":9,"unpackedSize":7767,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdw2qvCRA9TVsSAnZWagAAjaAP+wcZtS86oSeG0R8XjU94\nAtgk2PbSLaQD6hQa/txL2obBtNPEzBvyYz6z7miErut5sJffO4LbCL0mOq6E\nICvRT/9ywZpz3n31riJgSdskOzB6QSeKne68bgjlTS8LfIO7PKmcpSPpcnrK\nKIOkwC/LmDtvitvWgi/RfubwvK4+w7oODz1dybgwsUeAa5URaftbjA+OCQhx\nppoCPMw++Ap/93x4ahJQLxyd+R/5BXrFV50TzSttIj/HoiqoydyfxlPp5l+f\nMBQjf9Uc0SDi3FFZKs72mm3Rf2USOcM5KbAZmyX9ErgqOa3HlMMdpawHMT5Y\nj6VGfDwA0g7G56HQ7oHzeUvhxFghIQe3MoIl2m/wohwAAQW7nVhb383ApO1w\nrvIjEAwyM1TwuXxkoir8tlhT6Yqqekp7snpU6eIHv4jaJltA9dtDY/3On71z\nslAp7LSCPoS6vFkrA7TmY6YYElpf05l1q7H45FdiXcAEhYu6zKaIsSHxJA5M\n3/ynQm1Hr9CH5YAwVJjL2J/z+8A7cRlAc6V0SdcdSNopfSfaqewBQ9fKrsXZ\nFDDV5YVEsetuIOd+XwnMeMcdKg1kI3fnXgi9IuiuUJvVmXpA9U25W716Fhav\nsQ5djS5frcWkQqqmePuYeXo0n6lkzDQExbk9LhUaQY0bXJJj2LibWyHJmwiz\nxSqD\r\n=EzOi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE469Fj8QI4z36UmENo/cSM2fasiCW0qGrMR1O0FZhPPAiEA28Nr/19kb9bHu9lwSffduAEi6s9SyKhNFEHHlWOp9gA="}]},"maintainers":[{"name":"bergos","email":"bergi@bergnet.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/duplex-to_1.0.0_1573087919087_0.4418567034016967"},"_hasShrinkwrap":false},"1.0.1":{"name":"duplex-to","version":"1.0.1","description":"Wraps a duplex stream and hides the readable or the writable interface","main":"index.js","scripts":{"test":"standard && mocha"},"repository":{"type":"git","url":"git://github.com/bergos/duplex-to.git"},"keywords":["duplex","readable","stream","writable"],"author":{"name":"Thomas Bergwinkl","email":"bergi@axolotlfarm.org","url":"https://www.bergnet.org/people/bergi/card#me"},"license":"MIT","bugs":{"url":"https://github.com/bergos/duplex-to/issues"},"homepage":"https://github.com/bergos/duplex-to","dependencies":{},"devDependencies":{"get-stream":"^5.1.0","isstream":"^0.1.2","mocha":"^6.2.2","readable-stream":"^3.4.0","standard":"^14.3.1"},"gitHead":"d6aff4406c48392db9fd26aa758d1c43c1e65615","_id":"duplex-to@1.0.1","_nodeVersion":"14.15.5","_npmVersion":"6.14.11","_npmUser":{"name":"bergos","email":"bergi@bergnet.org"},"dist":{"integrity":"sha512-Kzy1N99HKXDjG7rGVDuS5alWt+xw4Ii1NtTEAuLv4wYiYwkHZgnKOzfLqWN7/gpGa5zvmZCyj3eWf3vVp9ZWAw==","shasum":"013c92d10e6ee253bf8c9ab631fa02f3e80871c4","tarball":"https://registry.npmjs.org/duplex-to/-/duplex-to-1.0.1.tgz","fileCount":9,"unpackedSize":8313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgN+ZlCRA9TVsSAnZWagAAK+cP/j+PBkoSiGnlii8J8GEw\nZBYCDecQrvRfQen9fIG8Wfh1G70nVzwez7WMcuSBudF+9MbDHQ95JsxIjBRw\nd9phYEnvalk5uag9PTWMog1MdQYATh3MLii+tHCNhBUUmP9gDzbFmE9ge6I1\nkOjz0U2drDVWPAODMxm7DWPWQvVONM9pSRAHGz3sPkcEZpjWB87DsgSZB1ge\n+4HoTmMx6cp8RiWMVEDkSunt3D1l9YNASN5v99w+Hjsv2UF6bFleXVikNYNb\nJfH9E+DuEBNR/6f71XgMZ2uvnJuZ1O5SoMM/cilqMgflerGaYtpMGA1pUCaZ\njrExoMwiaJ4UqRq8Zy8Kqg7qlsmnht72At305bdTfRTo2HHuALjT5ETLX8eL\nLRnXYqtgE2smVA02kjmk5TOTAf3bpHON4nl4Q+ezZzKBTiaJjZn0inp4GfxZ\nPLmIGIvUBlDfQJdwvVCq1MQoV1o/IWjoysJ/hTXLgtYz1+/aGhkwySUIC7ob\np0Scpiejk0Cyo7kO+1vY9JAWSwBUkOnyTNo+3TAdkbMMeqfnr11H/4Z5jECv\no6sqQ6mFmWkJ2MrQgAJJ9PbHNkvHd1xwrFpWpUNIKoQghMmlmgl/zj10cByM\nMSYNmqmbm4Ig6HOlJ7/HEWkoPgGAe2Yf5hZ02B4YOToIfdCJXeP3GogLnD37\nOGVm\r\n=53zC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG/BkehcUixQtTdOWR9mO7s+Q+maczD0xQYBJdqFBDcFAiEAgNubZUDkWqDd1swenuyF5EHXr+Sn1RabogHLzGF5edM="}]},"directories":{},"maintainers":[{"name":"bergos","email":"bergi@bergnet.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/duplex-to_1.0.1_1614276196757_0.9819447656087159"},"_hasShrinkwrap":false},"2.0.0":{"name":"duplex-to","version":"2.0.0","description":"Wraps a duplex stream and hides the readable or the writable interface","type":"module","main":"index.js","scripts":{"test":"stricter-standard && c8 --reporter=lcov --reporter=text mocha"},"repository":{"type":"git","url":"git://github.com/bergos/duplex-to.git"},"keywords":["duplex","readable","stream","writable"],"author":{"name":"Thomas Bergwinkl","email":"bergi@axolotlfarm.org","url":"https://www.bergnet.org/people/bergi/card#me"},"license":"MIT","bugs":{"url":"https://github.com/bergos/duplex-to/issues"},"homepage":"https://github.com/bergos/duplex-to","devDependencies":{"assert":"^2.0.0","c8":"^7.12.0","is-stream":"^3.0.0","mocha":"^10.0.0","readable-stream":"^4.2.0","stream-chunks":"^1.0.0","stricter-standard":"^0.2.0"},"gitHead":"7aad09bc892d66615045db137b4a38031a9c5dc0","_id":"duplex-to@2.0.0","_nodeVersion":"18.6.0","_npmVersion":"8.13.2","dist":{"integrity":"sha512-f2nMnk11mwDptEFBTv2mcWHpF4ENAbuQ63yTiSy/99rG4Exsxsf0GJhJYq/AHF2cdMYswSx23LPuoijBflpquQ==","shasum":"ebcb0482a76abcb03a6f08d640f4dcefc5b97d1f","tarball":"https://registry.npmjs.org/duplex-to/-/duplex-to-2.0.0.tgz","fileCount":9,"unpackedSize":8709,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDSqzf7Kt0qfKX6TBLJGSpSYfZ5O8dMGjXhHjUtV78LzAiEAzi3JeJarzFyrtc217tbqM0AHqev7+2rZW6CtMBavOMQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPpDsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpNYRAAgid3aQlZV3lE0pvg0uSZ1vnvKp1tmsPBMnrSlLlto/yt/vpU\r\nTRB8G/PKemDbkjnnyCxer7bQz0xVHhtHbL0Kw9E3vVqZbz3606/nezAjtUgH\r\nOAxCtmah5f7hoMznUZrxntoOmgpK4qG+bQ9GxHv5bX7fF4jhgeq86wBHtz5D\r\nJf8AWBhAuwTvO0L5VI3DfTa9k/PFktx7BDN+Cc4TCr+ORopunly1TrMvBpYU\r\nInfHupJe2SEjHBcfvf+mJhd/0H5FdcE8ZQQhvZ3g1GAJo3PfXY2hK//OcWjy\r\ntx7NV/6fi89/ucpex8jJ28IwhVJDbxl6UxBCl8TK1moT7P0WaKRQjZmTIU0B\r\nxiTaMf2eITtWX4gC6HSR6VFK2JbH5w2+PLUOfnAGALHiB+14oMJpEM9P+obQ\r\nXgmGmdXruPBXdSvxo4MpGfgUaqBxp2kLrDL8O3HjU4WiQSnoaFzAF2nBiq/z\r\nND5EiH0syd30GrD1ID0j/yKZbwH7ESJxa4UsajNYkc3XyV01oYOgPw3TlaDD\r\nrtOUwiUmWPbm0BV8F0zRX8sKrtmdKy72U+6SjhzaY966KVz8TiMy1sjH9v+8\r\naBwad6sev2pztcowP8cGbxPYTfA/ygJY7V5SPFwI4ozVrHZoC1DpzdvkQsdI\r\n6eoypwzirllldnEJExh0cyRGuLGq3YE7BGY=\r\n=vchq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bergos","email":"bergi@bergnet.org"},"directories":{},"maintainers":[{"name":"bergos","email":"bergi@bergnet.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/duplex-to_2.0.0_1665044715912_0.9319125140465401"},"_hasShrinkwrap":false}},"time":{"created":"2019-11-07T00:51:59.086Z","1.0.0":"2019-11-07T00:51:59.225Z","modified":"2022-10-06T08:25:16.151Z","1.0.1":"2021-02-25T18:03:16.874Z","2.0.0":"2022-10-06T08:25:16.075Z"},"maintainers":[{"name":"bergos","email":"bergi@bergnet.org"}],"description":"Wraps a duplex stream and hides the readable or the writable interface","homepage":"https://github.com/bergos/duplex-to","keywords":["duplex","readable","stream","writable"],"repository":{"type":"git","url":"git://github.com/bergos/duplex-to.git"},"author":{"name":"Thomas Bergwinkl","email":"bergi@axolotlfarm.org","url":"https://www.bergnet.org/people/bergi/card#me"},"bugs":{"url":"https://github.com/bergos/duplex-to/issues"},"license":"MIT","readme":"# duplex-to\n[![build status](https://img.shields.io/github/workflow/status/bergos/duplex-to/Test)](https://github.com/bergos/duplex-to/actions/workflows/test.yaml)\n[![npm version](https://img.shields.io/npm/v/duplex-to.svg)](https://www.npmjs.com/package/duplex-to)\n\n`duplex-to` wraps a duplex stream with a `Proxy` and hides the readable or the writable interface.\nHidding part of the interface can be useful in cases where errors are thrown or the code behaves different based on the interface type. \nThis package allows to show only one part of a duplex stream for those cases.\n\n## Usage\n\n### readable\n\nThe `readable` function wraps a duplex stream to show only the readable interface.\nIt can be loaded either by path or from the main module by property:\n\n```js\nimport readable from 'duplex-to/readable.js'\nimport { readable } from 'duplex-to'\n```\n\nThe function is a factory which returns the wrapped stream.\nThe stream which should be wrapped must be given as argument:\n\n```js\nconst readableStream = readable(duplexStream)\n````\n\n### writable\n\nThe `writable` function wraps a duplex stream to show only the writable interface.\nIt can be loaded either by path or from the main module by property:\n\n```js\nimport writable from 'duplex-to/writable.js'\nimport { writable } from 'duplex-to'\n```\n\nThe function is a factory which returns the wrapped stream.\nThe stream which should be wrapped must be given as argument:\n\n```js\nconst writableStream = writable(duplexStream)\n````\n\n## Example\n\nThe following examples creates a `PassThrough` duplex stream, which is used to write a text string and allows to access it via the readable stream interface.\nThe function `noWritablesAccepted` accepts only readable streams and writes the data from the stream to `stdout`.\nPassing the `PassThrough` object to the function would throw an error, but with the wrapper only the readable part is visible to the function.\n\n```js\nimport duplexToReadable from 'duplex-to/readable.js'\nimport { isWritableStream } from 'is-stream'\nimport { PassThrough } from 'readable-stream'\n\n// dummy function which\n//   - doesn't accept streams with writable interface\n//   - just writes the incoming data to stdout \nfunction noWritablesAccepted (stream) {\n  if (isWritableStream(stream)) {\n    throw new Error('no writable streams supported')\n  }\n\n  stream.on('data', chunk => process.stdout.write(chunk))\n}\n\nconst stream = new PassThrough()\nconst readable = duplexToReadable(stream)\n\n// the next line would throw an error if it would be called with stream\nnoWritablesAccepted(readable)\n\nstream.write('Hello ')\nstream.end('World!\\n')\n```\n","readmeFilename":"README.md"}