const fs = require('fs')

const printStats = function(path, timeToRead) {
    fs.stat(path, (err, stats) => {
        if (err) {
          console.error(err)
          return
        }
        console.log("Size: " + stats.size)
        console.log("Last change: " + stats.mtime)
        console.log("Number of lines: " + (data.length - 1))
        console.log("Time to read: " + timeToRead)
        fs.time
      })
    }

const csvToJson = function(data) {
    data = data.split("\n")
    attributes = data.shift()
    attributes = attributes.split(",")
    data = data.map(element => {
        element = element.split(",")
        const obj= {}
        for (let i = 0; i < attributes.length; i++) {
            obj[attributes[i]] = element[i]
        }
        return obj
    })
    return JSON.stringify(data)
}


const startTime = Date.now()
let data = fs.readFileSync('./csv/population.csv', 'utf8')
const endTime = Date.now()
printStats('./csv/population.csv', endTime - startTime)
fs.writeFileSync('./json/population.json', csvToJson(data))

