21 lines
796 B
TypeScript
21 lines
796 B
TypeScript
import { parentPort, workerData } from 'node:worker_threads';
|
|
import type { ImportExecutionRequest } from './import-executor';
|
|
import { directImportExecutor } from './import-executor';
|
|
import { ImportError } from '../src/shared/errors';
|
|
|
|
const port = parentPort;
|
|
if (!port) throw new Error('Import-Worker benötigt einen übergeordneten Thread.');
|
|
|
|
void directImportExecutor.execute(workerData as ImportExecutionRequest)
|
|
.then(dataset => port.postMessage({ ok: true, dataset }))
|
|
.catch((error: unknown) => {
|
|
const importError = error instanceof ImportError ? error : null;
|
|
port.postMessage({
|
|
ok: false,
|
|
error: {
|
|
message: error instanceof Error ? error.message : 'Unbekannter Parserfehler',
|
|
diagnostics: importError?.diagnostics ?? []
|
|
}
|
|
});
|
|
});
|