26 lines
785 B
TypeScript
26 lines
785 B
TypeScript
import type { ImportedDataset } from '../src/domain/dataset';
|
|
import type { ImportSource } from '../src/domain/import-source';
|
|
import { importSource } from '../src/importers/engine';
|
|
import { importProfiles } from '../src/profiles/profile-catalog';
|
|
import { nodeImportRuntimeAdapters } from './node-import-runtime-adapters';
|
|
|
|
export interface ImportExecutionRequest {
|
|
source: ImportSource;
|
|
delimiter?: string;
|
|
}
|
|
|
|
export interface ImportExecutor {
|
|
execute(request: ImportExecutionRequest): Promise<ImportedDataset>;
|
|
close?(): Promise<void>;
|
|
}
|
|
|
|
export const directImportExecutor: ImportExecutor = {
|
|
execute(request) {
|
|
return importSource(
|
|
request.source,
|
|
{ profiles: importProfiles, delimiter: request.delimiter },
|
|
nodeImportRuntimeAdapters
|
|
);
|
|
}
|
|
};
|