module.exports = (csvContent, hasHeaders = false, defaultHeaders = null) => { const lines = csvContent.trim().split('\n'); let data = []; let headers = []; // Determine headers if (hasHeaders && lines.length > 0) { headers = lines.shift().split(',').map(header => header.trim()); } else if (defaultHeaders) { headers = defaultHeaders; } else { // Assume the first line is data and generate default headers headers = lines[0].split(',').map((_, i) => `Value${i}`); } // Parse data data = lines.map(line => { const values = line.split(',').map(value => value.trim()); const dataPoint = {}; values.forEach((value, index) => { dataPoint[headers[index] || `Value${index}`] = value; }); return dataPoint; }); return { data, headers }; }