datainout
Version:
Import and reports data
34 lines (30 loc) • 1.74 kB
TypeScript
import { SheetSection, TableData } from './common/types/common-type.js';
declare abstract class ImporterHandler<T> {
protected eachRow: boolean;
constructor(eachRow?: boolean);
run(tabledata: any, filterImporter: FilterImportHandler, setGlobalError?: (err: Error) => void): Promise<void>;
protected catch(error: Error): Promise<void>;
protected handleChunk(chunk: T[], filter: FilterImportHandler): Promise<void>;
protected handleRow(data: T, filter: FilterImportHandler): Promise<void>;
protected handleHeader(header: any, filter: FilterImportHandler): Promise<void>;
protected handleFooter(footer: any, filter: FilterImportHandler): Promise<void>;
}
type FilterImportHandler = {
sheetIndex: number;
sheetName?: string;
section: SheetSection;
isHasNext: boolean;
};
type ImporterBaseReaderType = "excel" | "csv";
type ImporterBaseReaderStreamType = "excel-stream";
type ImporterReaderType = ImporterBaseReaderType | ImporterBaseReaderStreamType;
type ImporterHandlerFunctionData = TableData | Error | Error[];
type ImporterHandlerFunction = (data: ImporterHandlerFunctionData, filter: FilterImportHandler) => Promise<ImporterHandlerFunctionData>;
type ImporterHandlerInstance = ImporterHandler<any> | ImporterHandlerFunction[];
type ImporterLoadFunctionOpions = {
type?: ImporterBaseReaderType;
chunkSize?: number;
ignoreErrors?: boolean;
jobCount?: number;
};
export { type FilterImportHandler as F, type ImporterHandlerInstance as I, type ImporterLoadFunctionOpions as a, type ImporterBaseReaderStreamType as b, type ImporterReaderType as c, ImporterHandler as d, type ImporterBaseReaderType as e, type ImporterHandlerFunctionData as f, type ImporterHandlerFunction as g };