Release Data Tools 0.1.0

This commit is contained in:
2026-09-01 02:47:11 +02:00
commit e773a2ffe8
66 changed files with 11596 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
/// <reference lib="webworker" />
import { parseDataDocument } from "../core/parse";
import {
DataToolsError,
type ParsedDocument,
type ParseRequest,
} from "../core/types";
interface WorkerRequest {
id: number;
request: ParseRequest;
}
type WorkerResponse =
| { id: number; ok: true; document: ParsedDocument }
| {
id: number;
ok: false;
message: string;
diagnostics: DataToolsError["diagnostics"];
};
self.onmessage = (event: MessageEvent<WorkerRequest>) => {
const { id, request } = event.data;
let response: WorkerResponse;
try {
response = { id, ok: true, document: parseDataDocument(request) };
} catch (error) {
response = {
id,
ok: false,
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",
},
],
};
}
self.postMessage(response);
};
export {};