file formats refactor

This commit is contained in:
Jan Prochazka
2020-11-19 07:59:03 +01:00
parent ef3c96f574
commit ac049f43a3
11 changed files with 76 additions and 33 deletions

View File

@@ -0,0 +1,7 @@
export default {
storageType: 'csv',
extension: 'csv',
readerFunc: 'csvReader',
writerFunc: 'csvWriter',
filesTitle: 'CSV files',
};

View File

@@ -0,0 +1,6 @@
export default {
storageType: 'excel',
extension: 'xlsx',
readerFunc: 'excelSheetReader',
filesTitle: 'MS Excel files',
};

View File

@@ -0,0 +1,20 @@
import csv from './csv';
import jsonl from './jsonl';
import excel from './excel';
import { FileFormatDefinition } from './types';
export const fileformats = [csv, jsonl, excel];
export function findFileFormat(storageType): FileFormatDefinition {
return fileformats.find((x) => x.storageType == storageType);
}
export function getFileFormatDirections(format: FileFormatDefinition) {
if (!format) return [];
const res = [];
if (format.readerFunc) res.push('source');
if (format.writerFunc) res.push('target');
return res;
}
export const defaultFileFormat = csv;

View File

@@ -0,0 +1,7 @@
export default {
storageType: 'jsonl',
extension: 'jsonl',
readerFunc: 'jsonLinesReader',
writerFunc: 'jsonLinesWriter',
filesTitle: 'JSON lines',
};

View File

@@ -0,0 +1,7 @@
export interface FileFormatDefinition {
storageType: string;
extension: string;
readerFunc?: string;
writerFunc?: string;
filesTitle: string;
}