This commit is contained in:
scamiv
2026-01-25 15:42:29 +01:00
parent e528988d50
commit 91a50cec36
8 changed files with 1388 additions and 8 deletions
+25
View File
@@ -46,6 +46,7 @@ export class WorkerClient {
break;
case "initialized":
case "renderer_ready":
default:
if (message.id && this.messageHandlers.has(message.id)) {
const handler = this.messageHandlers.get(message.id)!;
@@ -56,6 +57,30 @@ export class WorkerClient {
}
}
/**
* Add a message handler for a specific message ID.
*/
addMessageHandler(
id: string,
handler: (message: WorkerMessage) => void,
): void {
this.messageHandlers.set(id, handler);
}
/**
* Remove a message handler.
*/
removeMessageHandler(id: string): void {
this.messageHandlers.delete(id);
}
/**
* Post a message to the worker with optional transferables.
*/
postMessage(message: any, transfer?: Transferable[]): void {
this.worker.postMessage(message, transfer);
}
initialize(): Promise<void> {
return new Promise((resolve, reject) => {
const messageId = generateID();