{"_id":"@bobyzgirlllnpm/recusandae-mollitia-doloremque","name":"@bobyzgirlllnpm/recusandae-mollitia-doloremque","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@bobyzgirlllnpm/recusandae-mollitia-doloremque","version":"1.0.0","description":"npm install @bobyzgirlllnpm/recusandae-mollitia-doloremque","main":"index.js","scripts":{},"author":{"name":"bobyzgirlLl"},"license":"MIT","dependencies":{"@bobyzgirlllnpm/aspernatur-fugiat-quam":"^1.0.0","@bobyzgirlllnpm/autem-nemo-incidunt":"^1.0.0","@bobyzgirlllnpm/dolorem-officia-assumenda":"^1.0.0","@bobyzgirlllnpm/dolorem-vero-atque":"^1.0.0","@bobyzgirlllnpm/facere-ipsum-aspernatur":"^1.0.0","@bobyzgirlllnpm/id-nobis-pariatur":"^1.0.0","@bobyzgirlllnpm/illo-architecto-dolorum":"^1.0.0","@bobyzgirlllnpm/impedit-quia-ea":"^1.0.0","@bobyzgirlllnpm/itaque-similique-commodi":"^1.0.0","@bobyzgirlllnpm/iure-velit-sapiente":"^1.0.0","@bobyzgirlllnpm/libero-facere-id":"^1.0.0","@bobyzgirlllnpm/libero-itaque-consequuntur":"^1.0.0","@bobyzgirlllnpm/magnam-laboriosam-illum":"^1.0.0","@bobyzgirlllnpm/mollitia-doloribus-sapiente":"^1.0.0","@bobyzgirlllnpm/mollitia-fugit-officia":"^1.0.0","@bobyzgirlllnpm/nesciunt-voluptatibus-nesciunt":"^1.0.0","@bobyzgirlllnpm/nostrum-inventore-quasi":"^1.0.0","@bobyzgirlllnpm/nostrum-voluptate-provident":"^1.0.0","@bobyzgirlllnpm/pariatur-recusandae-id":"^1.0.0","@bobyzgirlllnpm/perspiciatis-sequi-eligendi":"^1.0.0","@bobyzgirlllnpm/recusandae-minus-veritatis":"^1.0.0","@bobyzgirlllnpm/repudiandae-quae-in":"^1.0.0","@bobyzgirlllnpm/saepe-autem-impedit":"^1.0.0","@bobyzgirlllnpm/suscipit-nisi-fuga":"^1.0.0","@bobyzgirlllnpm/ullam-voluptate-placeat":"^1.0.0","@drftgyhuji7npm/repellendus-eum-et-itaque":"^1.0.0","hai-custom-button":"^1.0.0","remind-works-8th":"^1.0.2","web3-khai-1":"^1.0.1","web3-khai-2":"^1.0.1"},"keywords":["ES2021","eventEmitter","fast","ender","argument","speed","dependency manager","persistent","validation","toSorted","file","command","typed array","defineProperty","glacier","phone","binary","a11y","scheme","ebs","getOwnPropertyDescriptor","typedarrays","rgb","shim","Object.is","wordbreak","child","tty","require","rapid","loadbalancing","deep-clone","busy","Object.fromEntries","gitignore","Reflect.getPrototypeOf","typedarray","chromium","korean","delete","ES2016","dynamodb","json","sorted","ESnext","ES","asterisks","source map","ECMAScript 2023","fork","check","argv","css-in-js","negative zero","ES2018","mru","regular expressions","querystring",".gitignore","modules","structuredClone","s3","tester","regular","validate","installer","bound","agent","joi","hookform","cloudwatch","TypedArray","package.json","String.prototype.matchAll","code points","Float32Array","bin","toArray","Microsoft","toolkit","sameValueZero","prune","hasOwnProperty","callbind","hooks","BigUint64Array","indicator","function","react","stdlib","parent","listeners","hardlinks","eslint","wordwrap","concurrency","BigInt64Array","rfc4122","Observable","eslintconfig","xterm","typesafe","description","3d","Int16Array","ECMAScript 2021","batch","Set","Observables","events","enumerable","transpiler","findLast","computed-types","private data","stringifier","side","form-validation","environment","rm -fr","stream","Map","cloudfront","groupBy","apollo","diff","promises","routing","fnmatch","streams","higher-order","ses","fast-deep-copy","environments","$.extend","shell","debugger","ECMAScript 2018","exec","eslintplugin","fullwidth","es6","postcss-plugin","pipe","deep-copy","TypeScript","full","view","react-hook-form","elb","zero","awesomesauce","api","iam","spring","flags","whatwg","matches","amazon","format","ECMAScript 2022","efficient","dataview","promise","electron","last","sort","copy","Push","styling","ts","Array","picomatch","codes","ratelimit","concatMap","fps","Uint8ClampedArray","simpledb","call-bind","module","RegExp#flags","JSON-Schema","spinner","regex","ignore","array","helpers","serializer","[[Prototype]]","metadata","lint","drag","class-validator","collection.es6","cloudformation","ES2023","dependencies","Array.prototype.findLastIndex","styleguide","l10n","redact","generics","ES2015","regular expression","find"],"repository":{"type":"git","url":"git+https://github.com/bobyzgirlllnpm/recusandae-mollitia-doloremque.git"},"homepage":"https://github.com/bobyzgirlllnpm/recusandae-mollitia-doloremque/#readme","bugs":{"url":"https://github.com/bobyzgirlllnpm/recusandae-mollitia-doloremque/issues"},"_id":"@bobyzgirlllnpm/recusandae-mollitia-doloremque@1.0.0","gitHead":"601b6227c75ebc139146ef307e91af2c89bdb478","_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-jJE6bUAfyM5GRKGpjiXtEZEr3Bgk2t4dsk+DV/rjYjf2zEv6NVYRyGPH5qsSR3l6XYOKINxWhagqA4zUoTP1Ww==","shasum":"e319e22cc38aa4ae07e9dd934deb851653fe502f","tarball":"https://registry.npmjs.org/@bobyzgirlllnpm/recusandae-mollitia-doloremque/-/recusandae-mollitia-doloremque-1.0.0.tgz","fileCount":8,"unpackedSize":11121,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhFUoIpV9d85md1to/lh9DrCWSLnXBTQwkOc/GpdRj8gIgQW+gvDGcrOuttHMIiCxBK7qMWGy+ovKlYyIPVYFDi2o="}]},"_npmUser":{"name":"haiminh1192","email":"haiminh1192@gmail.com"},"directories":{},"maintainers":[{"name":"haiminh1192","email":"haiminh1192@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recusandae-mollitia-doloremque_1.0.0_1715443721465_0.061249321406500856"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-11T16:08:41.382Z","1.0.0":"2024-05-11T16:08:41.616Z","modified":"2024-05-11T16:08:41.898Z"},"maintainers":[{"name":"haiminh1192","email":"haiminh1192@gmail.com"}],"description":"npm install @bobyzgirlllnpm/recusandae-mollitia-doloremque","homepage":"https://github.com/bobyzgirlllnpm/recusandae-mollitia-doloremque/#readme","keywords":["ES2021","eventEmitter","fast","ender","argument","speed","dependency manager","persistent","validation","toSorted","file","command","typed array","defineProperty","glacier","phone","binary","a11y","scheme","ebs","getOwnPropertyDescriptor","typedarrays","rgb","shim","Object.is","wordbreak","child","tty","require","rapid","loadbalancing","deep-clone","busy","Object.fromEntries","gitignore","Reflect.getPrototypeOf","typedarray","chromium","korean","delete","ES2016","dynamodb","json","sorted","ESnext","ES","asterisks","source map","ECMAScript 2023","fork","check","argv","css-in-js","negative zero","ES2018","mru","regular expressions","querystring",".gitignore","modules","structuredClone","s3","tester","regular","validate","installer","bound","agent","joi","hookform","cloudwatch","TypedArray","package.json","String.prototype.matchAll","code points","Float32Array","bin","toArray","Microsoft","toolkit","sameValueZero","prune","hasOwnProperty","callbind","hooks","BigUint64Array","indicator","function","react","stdlib","parent","listeners","hardlinks","eslint","wordwrap","concurrency","BigInt64Array","rfc4122","Observable","eslintconfig","xterm","typesafe","description","3d","Int16Array","ECMAScript 2021","batch","Set","Observables","events","enumerable","transpiler","findLast","computed-types","private data","stringifier","side","form-validation","environment","rm -fr","stream","Map","cloudfront","groupBy","apollo","diff","promises","routing","fnmatch","streams","higher-order","ses","fast-deep-copy","environments","$.extend","shell","debugger","ECMAScript 2018","exec","eslintplugin","fullwidth","es6","postcss-plugin","pipe","deep-copy","TypeScript","full","view","react-hook-form","elb","zero","awesomesauce","api","iam","spring","flags","whatwg","matches","amazon","format","ECMAScript 2022","efficient","dataview","promise","electron","last","sort","copy","Push","styling","ts","Array","picomatch","codes","ratelimit","concatMap","fps","Uint8ClampedArray","simpledb","call-bind","module","RegExp#flags","JSON-Schema","spinner","regex","ignore","array","helpers","serializer","[[Prototype]]","metadata","lint","drag","class-validator","collection.es6","cloudformation","ES2023","dependencies","Array.prototype.findLastIndex","styleguide","l10n","redact","generics","ES2015","regular expression","find"],"repository":{"type":"git","url":"git+https://github.com/bobyzgirlllnpm/recusandae-mollitia-doloremque.git"},"author":{"name":"bobyzgirlLl"},"bugs":{"url":"https://github.com/bobyzgirlllnpm/recusandae-mollitia-doloremque/issues"},"license":"MIT","readme":"## Readable Stream Clone\n\nnpm install @bobyzgirlllnpm/recusandae-mollitia-doloremque\n\nwith this utility you can pipe readable stream into multiple writable streams\n\n### Node\n```js\nconst fs = require(\"fs\");\nconst { ReadableStreamClone } = require(\"@bobyzgirlllnpm/recusandae-mollitia-doloremque\");\n\nconst readStream = fs.createReadStream('text.txt');\n\nconst readStream1 = new ReadableStreamClone(readStream);\nconst readStream2 = new ReadableStreamClone(readStream);\n\nconst writeStream1 = fs.createWriteStream('sample1.txt');\nconst writeStream2 = fs.createWriteStream('sample2.txt');\n\nreadStream1.pipe(writeStream1)\nreadStream2.pipe(writeStream2)\n```\n\n### Typescript\n```ts\nimport * as fs from 'fs';\nimport { ReadableStreamClone } from '@bobyzgirlllnpm/recusandae-mollitia-doloremque';\n\nconst readStream = fs.createReadStream('text.txt');\n\nconst readClone1 = new ReadableStreamClone(readStream);\nconst readClone2 = new ReadableStreamClone(readStream);\n\nconst writeStream1 = fs.createWriteStream(\"text1.txt\");\nconst writeStream2 = fs.createWriteStream(\"text2.txt\");\n\nreadClone1.pipe(writeStream1);\nreadClone2.pipe(writeStream2);\n```\n\n### Helper functions\nWait till a writable stream finishes writing\n```ts\nimport { promisifyWriteStream } from '@bobyzgirlllnpm/recusandae-mollitia-doloremque';\n\nconst writeStream = fs.createWriteStream(\"SomeFile.txt\");\nawait promisifyWriteStream(writeStream);\n```\n\nWait till all the writable streams finish writing\n```ts\nimport { promisifyWriteStreams } from '@bobyzgirlllnpm/recusandae-mollitia-doloremque';\n\nconst writeStream1 = fs.createWriteStream(fileName1);\nconst writeStream2 = fs.createWriteStream(fileName2);\nawait promisifyWriteStreams([writeStream1, writeStream2]);\n```","readmeFilename":"README.md"}