Total Lines | 25 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | package exportdata |
||
2 | |||
3 | import ( |
||
4 | "adrianolaselva.github.io/csvql/pkg/exportdata" |
||
5 | "adrianolaselva.github.io/csvql/pkg/exportdata/csv" |
||
6 | "adrianolaselva.github.io/csvql/pkg/exportdata/jsonl" |
||
7 | "database/sql" |
||
8 | "fmt" |
||
9 | "github.com/schollz/progressbar/v3" |
||
10 | ) |
||
11 | |||
12 | const ( |
||
13 | CSVLineExportType = "csv" |
||
14 | JSONLineExportType = "jsonl" |
||
15 | ) |
||
16 | |||
17 | func NewExport(exportType string, rows *sql.Rows, exportPath string, bar *progressbar.ProgressBar) (exportdata.Export, error) { |
||
18 | switch exportType { |
||
19 | case CSVLineExportType: |
||
20 | return csv.NewCsvExport(rows, exportPath, bar), nil |
||
21 | case JSONLineExportType: |
||
22 | return jsonl.NewJsonlExport(rows, exportPath, bar), nil |
||
23 | } |
||
24 | |||
25 | return nil, fmt.Errorf("export type %s not defined", exportType) |
||
26 | } |
||
27 |