import Papa from "papaparse";

export interface ParsedCsv {
  headers: string[];
  rows: Record<string, string>[];
}

/**
 * Usa papaparse (aspas/escaping tratados corretamente) em vez de `content.split(/\r?\n/)` —
 * o parser hand-rolled anterior quebrava em qualquer campo com vírgula/quebra de linha entre aspas.
 */
export function parseCsv(content: string): ParsedCsv {
  const result = Papa.parse<Record<string, string>>(content, {
    header: true,
    skipEmptyLines: true,
    transformHeader: (header) => header.trim(),
  });

  return {
    headers: result.meta.fields ?? [],
    rows: result.data,
  };
}
