Files
tolaria/src/components/tableOfContents.worker.ts
2026-05-04 12:48:18 +02:00

28 lines
623 B
TypeScript

/// <reference lib="webworker" />
import { buildTableOfContentsFromMarkdownOnly, type TocItem } from './tableOfContentsModel'
interface TocWorkerRequest {
entryTitle: string
markdown: string
requestId: number
}
interface TocWorkerResponse {
requestId: number
toc: TocItem
}
const ctx = self as DedicatedWorkerGlobalScope
ctx.onmessage = (event: MessageEvent<TocWorkerRequest>) => {
const { entryTitle, markdown, requestId } = event.data
const response: TocWorkerResponse = {
requestId,
toc: buildTableOfContentsFromMarkdownOnly(entryTitle, markdown),
}
ctx.postMessage(response)
}
export {}