index.js
1 const fs = require('fs'); 2 3 const file = './data/archives/interviews.json'; 4 const targetFile = './data/archives/cleanInterviews.json'; 5 6 fs.exists(file, (exists) => { 7 if (exists) { 8 // eslint-disable-next-line 9 console.log("File found. Attempting transform"); 10 11 fs.readFile(file, (err, data) => { 12 if (err) { 13 // eslint-disable-next-line 14 console.log(err); 15 } else { 16 const interviews = JSON.parse(data); 17 const { length } = Object.keys(interviews); 18 const betterInterviews = []; 19 20 for (let i = 0; i < length; i++) { 21 const interview = interviews[i]; 22 const qKeys = Object.keys(interview); 23 const interviewFormatted = []; 24 25 qKeys.forEach((key) => { 26 if (key !== 'name' && interview[key] !== null && interview[key].answer !== null && interview[key].answer !== '') { 27 interviewFormatted.push({ 28 question: key, 29 answer: interview[key].answer, 30 }); 31 } 32 }); 33 34 betterInterviews.push({ 35 id: i + 1, 36 name: interview.name, 37 matchedIndex: -1, 38 interview: interviewFormatted, 39 }); 40 } 41 42 const json = JSON.stringify(betterInterviews); 43 fs.writeFile(targetFile, json); 44 } 45 }); 46 } else { 47 // eslint-disable-next-line 48 console.log("File does not exist. Creating empty file and exiting.") 49 const interviewData = {}; 50 const json = JSON.stringify(interviewData); 51 fs.writeFile(targetFile, json); 52 } 53 });