Skip to content

Commit a90ceff

Browse files
author
Fatma Degirmenci
committed
Refactor: remove repeated code and nested ifs
1 parent 90398dd commit a90ceff

File tree

1 file changed

+9
-11
lines changed
  • implement-shell-tools/cat

1 file changed

+9
-11
lines changed

implement-shell-tools/cat/cat.js

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,20 @@ const number = program.opts().n;
1414
const nonEmptyLine = program.opts().b;
1515

1616
let lineNumber = 1;
17-
17+
1818
for (const path of paths) {
1919
try {
2020
const read = await fs.readFile(path, "utf-8");
2121
const lines = read.split("\n");
22+
23+
function printNumLine(line) {
24+
console.log(`${String(lineNumber).padStart(6, " ")} ${line}`);
25+
lineNumber++;
26+
}
27+
2228
for (let i of lines) {
23-
if (number) {
24-
console.log(`${String(lineNumber).padStart(6, " ")} ${i}`);
25-
lineNumber++;
26-
} else if (nonEmptyLine) {
27-
if (i.trim() !== "") {
28-
console.log(`${String(lineNumber).padStart(6, " ")} ${i}`);
29-
lineNumber++;
30-
} else {
31-
console.log(i);
32-
}
29+
if (number || (nonEmptyLine && i.trim() !== "")) {
30+
printNumLine(i);
3331
} else {
3432
console.log(i);
3533
}

0 commit comments

Comments
 (0)