exportRows static method
Future<FdcExportResult>
exportRows({
- required FdcExportFormat format,
- required List<
FdcExportColumn> columns, - required Iterable<
Map< rows,String, Object?> > - FdcExportOptions? options,
- FdcExportWriter? writer,
- String? suggestedFileName,
- FdcExportWriterOptions? writerOptions,
- FdcExportStyle exportStyle = const FdcExportStyle(),
Exports already resolved rows and columns using format.
Grid adapters and future data sources can use this when they need custom column ordering, visible-column export, computed values, or non-dataset row sources while still reusing registered format writers.
Implementation
static Future<FdcExportResult> exportRows({
required FdcExportFormat format,
required List<FdcExportColumn> columns,
required Iterable<Map<String, Object?>> rows,
FdcExportOptions? options,
FdcExportWriter? writer,
String? suggestedFileName,
FdcExportWriterOptions? writerOptions,
FdcExportStyle exportStyle = const FdcExportStyle(),
}) async {
final resolvedOptions = options ?? FdcExportOptions();
final resolvedWriter = writer ?? FdcExportRegistry.writerFor(format);
if (resolvedWriter == null) {
throw UnsupportedError(
'No FDC export writer is registered for ${format.id}. '
'Pass a custom FdcExportWriter for extension formats.',
);
}
final context = FdcExportWriterContext(
format: format,
options: resolvedOptions,
columns: List<FdcExportColumn>.unmodifiable(columns),
rows: List<Map<String, Object?>>.unmodifiable(rows),
suggestedFileName: suggestedFileName,
writerOptions: writerOptions,
exportStyle: exportStyle,
);
return FdcExportResult(
format: format,
payload: await resolvedWriter.write(context),
mimeType: format.mimeType,
fileExtension: format.fileExtension,
suggestedFileName: suggestedFileName,
);
}