NisumCL / proyecto_calendario

0 stars 0 forks source link

DT - Refactorización del manejo del archivo #15

Closed KiraElric closed 2 years ago

KiraElric commented 2 years ago
fs.createReadStream("mails_y_cumples_03.csv")
    .pipe(
        parse({
            delimiter: ",",
        })
    )
    .on("data", (dataRow) => {
        if (compararFecha(fecha1, fecha2, dataRow.cumpleanios.split("-"))) {
            cumpleanios.push(dataRow);
        }
    })
    .on("end", () => {
        mostrar(cumpleanios);
    });
KiraElric commented 2 years ago

Posibilidad de destructurar en funciones más simples

KiraElric commented 2 years ago
function dataFile(fileName) {
  // eslint-disable-next-line consistent-return
  const data = fs.readFileSync(fileName, 'utf-8', (err, file) => {
    if (err) {
      // eslint-disable-next-line no-console
      console.error(err);
    } else {
      return file;
    }
  });
  return data;
}

function formatedDataToObject(data) {
  const dataFormated = data
    .split('\n')
    .splice(1)
    .map(row => {
      if (row === '') {
        throw new Error('Existe una fila sin información. Favor eliminarla del archivo.');
      }
      const workerData = row.split(',');
      const worker = {
        name: workerData[1].replace('"', '').trim(),
        lastname: workerData[0].replace('"', ''),
        email: workerData[2],
        birthday: workerData[3],
        company: workerData[4],
      };
      return worker;
    });
  return dataFormated;
}