feat: adding converter
This commit is contained in:
7
index.js
Normal file
7
index.js
Normal file
@ -0,0 +1,7 @@
|
||||
const { readFile } = require('./utils/converter')
|
||||
|
||||
const add = async (path) => {
|
||||
return await readFile(`${path}`)
|
||||
}
|
||||
|
||||
module.exports = add
|
11
utils/MOCK_DATA.csv
Normal file
11
utils/MOCK_DATA.csv
Normal file
@ -0,0 +1,11 @@
|
||||
id,first_name,last_name,email,gender,ip_address
|
||||
1,Rowney,Vanlint,rvanlint0@archive.org,Male,166.243.73.22
|
||||
2,Granny,Zecchetti,gzecchetti1@toplist.cz,Bigender,76.2.20.212
|
||||
3,Elena,Quilkin,equilkin2@artisteer.com,Female,206.153.61.10
|
||||
4,Rob,Kilkenny,rkilkenny3@spiegel.de,Genderqueer,56.156.35.222
|
||||
5,Alayne,Sleit,asleit4@si.edu,Female,105.12.142.0
|
||||
6,Arleta,Radsdale,aradsdale5@psu.edu,Female,20.128.1.2
|
||||
7,Maximilian,Oswick,moswick6@hc360.com,Male,241.240.199.79
|
||||
8,Gil,Chinnick,gchinnick7@slashdot.org,Male,2.145.45.118
|
||||
9,Galen,Goulter,ggoulter8@sakura.ne.jp,Male,37.93.133.252
|
||||
10,Samara,Benka,sbenka9@nydailynews.com,Female,225.2.115.39
|
|
33
utils/converter.js
Normal file
33
utils/converter.js
Normal file
@ -0,0 +1,33 @@
|
||||
const fs = require('fs')
|
||||
|
||||
const csvToJson = (csv) => {
|
||||
const lines = csv.split('\n')
|
||||
const result = [];
|
||||
const headers = lines[0].split(',');
|
||||
const contents = lines.slice(1, lines.length - 1)
|
||||
const obj = {};
|
||||
for (const content of contents) {
|
||||
const currentline = content.split(',');
|
||||
for (let j = 0; j < headers.length; j++) {
|
||||
obj[headers[j]] = currentline[j];
|
||||
}
|
||||
result.push(obj);
|
||||
}
|
||||
return JSON.parse(JSON.stringify(result)); //JSON
|
||||
}
|
||||
|
||||
exports.readFile = async (pathFile) => {
|
||||
const result = new Promise((resolve, reject) => {
|
||||
fs.readFile(`${pathFile}`, 'utf8', (err, data) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
return;
|
||||
}
|
||||
const result = csvToJson(data)
|
||||
resolve(result)
|
||||
});
|
||||
})
|
||||
|
||||
return result
|
||||
}
|
||||
|
Reference in New Issue
Block a user