( queryResult: QueryResult, format: 'csv' | 'json' | 'sql' | 'pdf', filename?: string )
| 275 | * Unified export function that handles all formats |
| 276 | */ |
| 277 | export const exportQuery = async ( |
| 278 | queryResult: QueryResult, |
| 279 | format: 'csv' | 'json' | 'sql' | 'pdf', |
| 280 | filename?: string |
| 281 | ): Promise<void> => { |
| 282 | const baseName = filename || 'DataKit_Query_Export'; |
| 283 | |
| 284 | switch (format) { |
| 285 | case 'csv': |
| 286 | return exportQueryAsCSV(queryResult.results, queryResult.columns, baseName); |
| 287 | |
| 288 | case 'json': |
| 289 | return exportQueryAsJSON(queryResult, { filename: baseName }); |
| 290 | |
| 291 | case 'sql': |
| 292 | return exportQueryAsSQL(queryResult.query, baseName); |
| 293 | |
| 294 | case 'pdf': |
| 295 | return exportQueryAsPDF(queryResult, baseName); |
| 296 | |
| 297 | default: |
| 298 | throw new Error(`Unsupported export format: ${format}`); |
| 299 | } |
| 300 | }; |
nothing calls this directly
no test coverage detected