function csvToHtml(input) { if (!input || typeof input !== 'string') { throw new Error('Invalid input!'); } function _createTableCell(cellContents, index) { if (!cellContents || typeof cellContents !== 'string') { throw new Error('Invalid data!'); } const tableCell = document.createElement( (index === 0) ? 'th' : 'td' ); tableCell.textContent = cellContents.trim(); return tableCell; } const rows = input.split('\n'); const table = document.createElement('table'); rows.forEach((row, index) => { const tableRow = document.createElement('tr'); const tableCells = row.split(','); tableCells.forEach((cell) => { try { tableRow.appendChild( _createTableCell(cell, index), ); } catch (error) { console.error(error); } }); table.appendChild(tableRow); }); return table; }