| 104 | transport.complete(event.data.key, event.data.id) |
| 105 | } |
| 106 | const fail = (message: string) => { |
| 107 | const error = new Error(message) |
| 108 | disabled = error |
| 109 | transport.reset() |
| 110 | pending.forEach((request) => request.reject(error)) |
| 111 | pending.clear() |
| 112 | states.clear() |
| 113 | keys.clear() |
| 114 | latest.clear() |
| 115 | worker?.terminate() |
| 116 | worker = undefined |
| 117 | } |
| 118 | worker.onerror = (event) => fail(event.message || "Markdown highlighting worker failed") |
| 119 | worker.onmessageerror = () => fail("Markdown worker response failed") |
| 120 | worker.postMessage({ type: "init", theme: OpenCodeTheme } satisfies MarkdownWorkerRequest) |