@stackoverfloweth/prefect-design
Version:
A collection of low-level Vue components.
21 lines (17 loc) • 578 B
text/typescript
import { marked } from 'marked'
import { ParseMessagePayload, MarkdownMessagePayload } from '@/types/markdownRenderer'
const markedOptions: marked.MarkedOptions = {
gfm: true,
breaks: true,
}
const parse = (text: string): marked.TokensList => {
return marked.lexer(text, markedOptions)
}
const handleMessage = (message: MessageEvent<MarkdownMessagePayload>): void => {
const { id, text } = message.data
const tokens = parse(text)
const response: ParseMessagePayload = { id, tokens }
self.postMessage(response)
}
self.onmessage = handleMessage
export default {}