@tableau/taco-toolkit
Version:
Tableau Connector Toolkit
41 lines (40 loc) • 2.07 kB
TypeScript
import { TacoFileParserName } from '../../../shared/enums/taco-file-parser';
import { AuthResult } from '../../../shared/types/auth-result';
import { FileBasedHandlerInput } from '../../../shared/types/handler-input';
import { NetworkAdapter } from '../../modules/network-adapter';
import { TempDataManager } from '../../modules/temp-data-manager';
import { ExtractorOptions } from '../../types/extractor-options';
import { HandlerMetadata } from './handler-resolver';
import { SandboxPipeline } from './sandbox-pipeline';
import { CsvTacoParser } from '../handlers/taco-parser/csv-parser';
import { TacoFileParser as FileParser } from '../handlers/taco-parser/base-taco-file-parser';
import { ExcelTacoParser } from '../handlers/taco-parser/excel-parser';
interface FileBasedHandlerConfig {
auth: HandlerMetadata | undefined;
fetcher: HandlerMetadata;
parser: TacoFileParserName;
}
export type FileBasedPipelineResult = {
type: 'excel';
parser: ExcelTacoParser;
} | {
type: 'single-table';
tableName: string;
parser: FileParser;
};
export declare class FileBasedPipeline extends SandboxPipeline {
private readonly handlerInput;
protected handlerConfig: FileBasedHandlerConfig;
constructor(handlerInput: FileBasedHandlerInput<unknown>, extractorId: string, extractorOptions: ExtractorOptions, tempDataManager: TempDataManager, networkAdapter: NetworkAdapter);
run(): Promise<FileBasedPipelineResult>;
protected runDataGatheringPhase(authResult: AuthResult): Promise<void>;
protected resolveHandlers(): FileBasedHandlerConfig;
/**
* Register parser for filed-based handler input
* @param handlerInputs
*/
private processFileBasedParser;
protected loadHandlers(): Promise<void>;
}
export declare function createTacoFileParser(tableName: string, parser: string, extractorId: string, tempDataManager: TempDataManager): import("../handlers/taco-parser/parquet-parser").ParquetTacoParser | import("../handlers/taco-parser/csv-duckdb-parser").CsvDuckdbTacoParser | CsvTacoParser;
export {};