Files
data-tools/src/workers/data.worker.ts
T
zemion a8eb8e53b3
Verify / verify (push) Canceled after 0s
Release Data Tools 0.2.0
2026-09-02 12:50:51 +02:00

42 lines
1.0 KiB
TypeScript

/// <reference lib="webworker" />
import { createWorkerJobMessageHandler } from "@add-ideas/toolbox-helpers";
import { parseDataDocument } from "../core/parse";
import {
DataToolsError,
type ParsedDocument,
type ParseRequest,
} from "../core/types";
self.onmessage = createWorkerJobMessageHandler<
ParseRequest,
ParsedDocument,
never,
{ message: string; diagnostics: DataToolsError["diagnostics"] }
>(
(request) => parseDataDocument(request),
(response) => self.postMessage(response),
{
serializeError: (error) => ({
message:
error instanceof Error
? error.message
: "The input could not be parsed.",
diagnostics:
error instanceof DataToolsError
? error.diagnostics
: [
{
code: "parse.unknown",
message:
error instanceof Error
? error.message
: "Unknown parser failure.",
severity: "error",
},
],
}),
},
);
export {};