1.0.0 • Published 15 days ago

@bobyzgirlllnpm/recusandae-mollitia-doloremque v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
15 days ago

Readable Stream Clone

npm install @bobyzgirlllnpm/recusandae-mollitia-doloremque

with this utility you can pipe readable stream into multiple writable streams

Node

const fs = require("fs");
const { ReadableStreamClone } = require("@bobyzgirlllnpm/recusandae-mollitia-doloremque");

const readStream = fs.createReadStream('text.txt');

const readStream1 = new ReadableStreamClone(readStream);
const readStream2 = new ReadableStreamClone(readStream);

const writeStream1 = fs.createWriteStream('sample1.txt');
const writeStream2 = fs.createWriteStream('sample2.txt');

readStream1.pipe(writeStream1)
readStream2.pipe(writeStream2)

Typescript

import * as fs from 'fs';
import { ReadableStreamClone } from '@bobyzgirlllnpm/recusandae-mollitia-doloremque';

const readStream = fs.createReadStream('text.txt');

const readClone1 = new ReadableStreamClone(readStream);
const readClone2 = new ReadableStreamClone(readStream);

const writeStream1 = fs.createWriteStream("text1.txt");
const writeStream2 = fs.createWriteStream("text2.txt");

readClone1.pipe(writeStream1);
readClone2.pipe(writeStream2);

Helper functions

Wait till a writable stream finishes writing

import { promisifyWriteStream } from '@bobyzgirlllnpm/recusandae-mollitia-doloremque';

const writeStream = fs.createWriteStream("SomeFile.txt");
await promisifyWriteStream(writeStream);

Wait till all the writable streams finish writing

import { promisifyWriteStreams } from '@bobyzgirlllnpm/recusandae-mollitia-doloremque';

const writeStream1 = fs.createWriteStream(fileName1);
const writeStream2 = fs.createWriteStream(fileName2);
await promisifyWriteStreams([writeStream1, writeStream2]);
ES2021eventEmitterfastenderargumentspeeddependency managerpersistentvalidationtoSortedfilecommandtyped arraydefinePropertyglacierphonebinarya11yschemeebsgetOwnPropertyDescriptortypedarraysrgbshimObject.iswordbreakchildttyrequirerapidloadbalancingdeep-clonebusyObject.fromEntriesgitignoreReflect.getPrototypeOftypedarraychromiumkoreandeleteES2016dynamodbjsonsortedESnextESasteriskssource mapECMAScript 2023forkcheckargvcss-in-jsnegative zeroES2018mruregular expressionsquerystring.gitignoremodulesstructuredClones3testerregularvalidateinstallerboundagentjoihookformcloudwatchTypedArraypackage.jsonString.prototype.matchAllcode pointsFloat32ArraybintoArrayMicrosofttoolkitsameValueZeroprunehasOwnPropertycallbindhooksBigUint64ArrayindicatorfunctionreactstdlibparentlistenershardlinkseslintwordwrapconcurrencyBigInt64Arrayrfc4122Observableeslintconfigxtermtypesafedescription3dInt16ArrayECMAScript 2021batchSetObservableseventsenumerabletranspilerfindLastcomputed-typesprivate datastringifiersideform-validationenvironmentrm -frstreamMapcloudfrontgroupByapollodiffpromisesroutingfnmatchstreamshigher-ordersesfast-deep-copyenvironments$.extendshelldebuggerECMAScript 2018execeslintpluginfullwidthes6postcss-pluginpipedeep-copyTypeScriptfullviewreact-hook-formelbzeroawesomesauceapiiamspringflagswhatwgmatchesamazonformatECMAScript 2022efficientdataviewpromiseelectronlastsortcopyPushstylingtsArraypicomatchcodesratelimitconcatMapfpsUint8ClampedArraysimpledbcall-bindmoduleRegExp#flagsJSON-Schemaspinnerregexignorearrayhelpersserializer[[Prototype]]metadatalintdragclass-validatorcollection.es6cloudformationES2023dependenciesArray.prototype.findLastIndexstyleguidel10nredactgenericsES2015regular expressionfind
1.0.0

15 days ago