Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion src/cli/args.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
import * as process from 'process';

const parseArgs = () => {
// Write your code here
const args = process.argv.slice(2);
const argPairs = args.reduce((result, value, index, array) => {
if (index % 2 === 0)
result.push(array.slice(index, index + 2).join(' is '));
return result;
}, []);

console.log(argPairs.join(', '))
};

parseArgs();
12 changes: 11 additions & 1 deletion src/cli/env.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
import * as process from 'process';

const parseEnv = () => {
// Write your code here
const envs = process.env;
let rssEnvs = [];
Object.keys(envs).forEach(key => {
if (key.startsWith('RSS_')) {
rssEnvs = [...rssEnvs, `${key}=${envs[key]}`];
}
});

console.log(rssEnvs.join('; '))
};

parseEnv();
24 changes: 23 additions & 1 deletion src/fs/copy.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,27 @@
import * as fs from 'fs';

const sourcePath = './src/fs/files';
const copy = async () => {
// Write your code here
fs.opendir(sourcePath, (err) => {
if (err) {
throw new Error('FS operation failed');
}

fs.mkdir('./src/fs/files_copy', (err) => {
if (err) {
throw new Error('FS operation failed');
}
const files = fs.readdirSync(sourcePath);
files.forEach(fileName => {
const sourceFilePath = `${sourcePath}/${fileName}`;
const destPath = `./src/fs/files_copy/${fileName}`;
fs.copyFile(sourceFilePath, destPath, (err) => {
if (err) console.log(err)
});
})
});

});
};

await copy();
16 changes: 14 additions & 2 deletions src/fs/create.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
import * as fs from 'fs';

const create = async () => {
// Write your code here
fs.open('fresh.txt', (err) => {
if (!err) {
throw new Error('FS operation failed');
}

fs.createWriteStream("fresh.txt");
const data = 'I am fresh and young';
fs.writeFile('fresh.txt', data, (err) => {
if (err) throw err;
});
})
};

await create();
await create();
10 changes: 8 additions & 2 deletions src/fs/delete.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
import * as fs from 'fs';

const remove = async () => {
// Write your code here
fs.rm('./src/fs/files/fileToRemove.txt', (err) => {
if (err) {
throw new Error('FS operation failed');
}
});
};

await remove();
await remove();
12 changes: 10 additions & 2 deletions src/fs/list.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
import * as fs from 'fs';

const list = async () => {
// Write your code here
fs.readdir('./src/fs/files', (err, files) => {
if (err) {
throw new Error('FS operation failed');
};
console.log(files);
});

};

await list();
await list();
9 changes: 7 additions & 2 deletions src/fs/read.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
import * as fs from 'fs';

const read = async () => {
// Write your code here
fs.readFile('./src/fs/files/fileToRead.txt','utf8', (err, data) => {
if (err) throw err;
console.log(data);
});
};

await read();
await read();
17 changes: 15 additions & 2 deletions src/fs/rename.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
import * as fs from 'fs';

const rename = async () => {
// Write your code here
fs.open('./src/fs/files/wrongFilename.txt', (err) => {
if (err) {
throw new Error('FS operation failed')
};

fs.open('./src/fs/files/properFilename.md', (err) => {
if (!err) {
throw new Error('FS operation failed')
};
fs.renameSync('./src/fs/files/wrongFilename.txt', './src/fs/files/properFilename.md');
})
});
};

await rename();
await rename();
16 changes: 14 additions & 2 deletions src/hash/calcHash.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
import * as fs from 'fs';
import { createHash } from 'node:crypto';

const calculateHash = async () => {
// Write your code here
let text;
fs.readFile('./src/fs/files/fileToRead.txt','utf8', (err, data) => {
if (err) throw err;
text = data;

const hash = createHash('sha256').update(text).digest('hex');
console.log('TXT: ', text, ' HASH: ', hash)

});
};

await calculateHash();
await calculateHash();

9 changes: 8 additions & 1 deletion src/streams/read.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
import * as fs from 'fs';


const read = async () => {
// Write your code here
const stream = fs.createReadStream('./src/streams/files/fileToRead.txt');
stream.on('data', chunk => {
console.log(chunk)
} )

};

await read();