Source: utils.js

/**
 * Utlity function to pause execution for a given time
 * @param {number} seconds
 * @returns {Promise}
 */
const sleep = seconds =>
  new Promise(resolve => {
    setTimeout(resolve, seconds * 1000);
  });

/**
 * Uiltity function to create and save a CSV file from a buffer
 * @param {*} data
 * @param {*} filename
 */
const saveToCSV = (data, filename = 'recordedMLSignal.csv') => {
  // console.log(data)
  let csvContent = 'data:text/csv;charset=utf-8,';

  data.forEach((val, idx) => {
    csvContent += `${idx},${val}\r\n`;
  });
  const encodedUri = encodeURI(csvContent);
  const link = document.createElement('a');
  link.setAttribute('href', encodedUri);
  link.setAttribute('download', filename);
  document.body.appendChild(link);
  link.click();
};

/**
 * Utility function to create a buffer from a CSV file
 * @param {*} csvString
 * @param {*} delimiter
 * @returns
 */
const csvToArray = (csvString, delimiter = ',') =>
  csvString
    .trim()
    .split('\n')
    .map(row => parseFloat(row.trim().split(delimiter)[1]));

export {sleep, saveToCSV, csvToArray};