UNPKG

@tableau/taco-toolkit

Version:
41 lines (40 loc) 2.07 kB
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 {};