Created
November 14, 2021 15:18
-
-
Save ibrahimgunduz34/1e367cbe2b38fc68d1fb025ffdd683f9 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| `use strict`; | |
| const COLUMN_DELIMITER = ';' | |
| const LINE_DELIMITER = '\n'; | |
| const SOURCE_FILE = 'sample.txt'; | |
| const OUTPUT_FILE = 'output.txt'; | |
| const fs = require('fs'); | |
| const buffer = []; | |
| const readCallback = (err, contents) => { | |
| if (err) { | |
| console.error('Read was failed. Err: ' + err); | |
| return; | |
| } | |
| const lines = contents.toString().split(LINE_DELIMITER); | |
| for (let i = 0; i < lines.length-1; i++) { | |
| const line = lines[i]; | |
| const row = line.split(COLUMN_DELIMITER); | |
| const trimmedRow = trimProcessor(row); | |
| const processedRow = nameProcessor(trimmedRow); | |
| buffer.push(processedRow.join(COLUMN_DELIMITER)); | |
| } | |
| fs.writeFile(OUTPUT_FILE, buffer.join(LINE_DELIMITER), writeCallback); | |
| } | |
| const writeCallback = (err) => { | |
| if (err) { | |
| console.error('Write was failed. Err: ' + err); | |
| return; | |
| } | |
| console.log('The process has been completed.'); | |
| } | |
| const trimProcessor = (row) => { | |
| const clonnedRow = Array.from(row); | |
| return clonnedRow.map(column => column.trim()); | |
| } | |
| const nameProcessor = (row) => { | |
| const clonnedRow = Array.from(row); | |
| const firstName = clonnedRow[0].toUpperCase(); | |
| const lastName = clonnedRow[1].toUpperCase(); | |
| const fullName = firstName + ' ' + lastName; | |
| clonnedRow.splice(0, 2, fullName); | |
| return clonnedRow; | |
| } | |
| fs.readFile(SOURCE_FILE, readCallback); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment