parseCsvLine method
Implementation
List<String> parseCsvLine(String line) {
final List<String> result = [];
final StringBuffer buffer = StringBuffer();
bool insideQuotes = false;
for (int i = 0; i < line.length; i++) {
final char = line[i];
if (char == ',' && !insideQuotes) {
result.add(buffer.toString());
buffer.clear();
} else if (char == '"') {
if (!insideQuotes) {
insideQuotes = true;
} else {
if (i + 1 < line.length && line[i + 1] == '"') {
// Escaped quote
buffer.write('"');
i++; // Skip the next quote
} else {
insideQuotes = false;
}
}
} else {
buffer.write(char);
}
}
// Add the last field
result.add(buffer.toString());
return result;
}