generateTemplate static method
String
generateTemplate(
- List<
TCsvColumn> columns, { - bool includeSampleRow = true,
- String delimiter = ',',
Generates a sample CSV template string based on a list of TCsvColumns.
Implementation
static String generateTemplate(List<TCsvColumn> columns, {bool includeSampleRow = true, String delimiter = ','}) {
final headers = columns.map((c) => c.header).toList();
final sampleRows = <List<dynamic>>[];
if (includeSampleRow) {
final sampleRow = columns.map((col) {
if (col.defaultValue != null) return col.formatValue(col.defaultValue);
return switch (col.type) {
TCsvColumnType.text => 'Sample ${col.header}',
TCsvColumnType.number => '29.99',
TCsvColumnType.integer => '10',
TCsvColumnType.boolean => 'true',
};
}).toList();
sampleRows.add(sampleRow);
}
return toCsv(headers, sampleRows, delimiter: delimiter);
}