UNPKG

@tableau/taco-toolkit

Version:
29 lines (28 loc) 1.39 kB
/// <reference types="node" /> /// <reference types="node" /> import { StatusCodes } from 'http-status-codes'; import { ChildProcess } from 'node:child_process'; import EventEmitter from 'node:events'; import { EPSError } from '../../../types/eps-error'; import { ConnectionData } from '../../../../shared/types/connection-data'; import { type SecretsType } from '../../../../shared/types/secrets-type'; import { ExtractApiResponse } from '../../../types/extract-api-response'; import { SchemaDoneExtractorMessage } from '../../../types/extractor-message'; export type ExtractHandlerRequest = { tacoPath: string; connectorClass: string; connectionId: string; secrets?: SecretsType; connectionData: ConnectionData; }; export type ExtractResponse = { httpStatusCode: StatusCodes; response: ExtractApiResponse | EPSError; }; export declare function validateConnectionData(body: unknown): asserts body is ConnectionData; export declare function handleExtract(extractorLaunchedEvent: EventEmitter, extractHandlerRequest: ExtractHandlerRequest): Promise<ExtractResponse>; /** * Wait for the extractor process to send the message to EPS. * The function will settle the promise on the first (known) message sent from extractor. */ export declare function waitForExtractorMessage(extractorProcess: ChildProcess, connectionId: string): Promise<SchemaDoneExtractorMessage>;