Skip to content

Commit

Permalink
feat: streams
Browse files Browse the repository at this point in the history
  • Loading branch information
chessdude1 committed Jun 3, 2022
1 parent dfc5c1a commit cd8e881
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 6 deletions.
1 change: 1 addition & 0 deletions src/streams/files/fileToWrite.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
IPA smaertS gnisu daer eb dluohs elif sihT
14 changes: 12 additions & 2 deletions src/streams/read.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
import { createReadStream } from 'fs'

const streamFileToRead = createReadStream('./files/fileToRead.txt')

streamFileToRead.setEncoding('UTF8');

export const read = async () => {
// Write your code here
};
streamFileToRead.on('data', res => {
process.stdout.write(res)
})
};

read()
23 changes: 21 additions & 2 deletions src/streams/transform.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
import { Transform } from 'node:stream';
import { createWriteStream, createReadStream } from 'fs'

export const transform = async () => {
// Write your code here
};
const readStream = createReadStream('./files/fileToRead.txt')
const writeStream = createWriteStream('./files/fileToWrite.txt')

const reverseStream = new Transform({
transform(data, encoding, callback) {
const reversedData = data.toString().split("").reverse().join("");
this.push(reversedData);
callback();
}
});


readStream.pipe(reverseStream).pipe(writeStream).on('finish', (data, err) => {
console.log(data);
});
};

transform()
13 changes: 11 additions & 2 deletions src/streams/write.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
import { createWriteStream } from 'fs'

const streamFileToWrite = createWriteStream('./files/fileToWrite.txt')

export const write = async () => {
// Write your code here
};
process.stdin.on('data', data => {
streamFileToWrite.write(data.toString());
process.exit();
});
};

write()

0 comments on commit cd8e881

Please sign in to comment.