ha-frontend/src/resources/render-markdown.ts

21 lines
612 B
TypeScript
Raw Normal View History

2020-05-18 16:51:46 +02:00
import { wrap } from "comlink";
2020-05-23 08:05:47 +02:00
import type { api } from "./markdown_worker";
type RenderMarkdownType = api["renderMarkdown"];
2020-05-18 16:51:46 +02:00
type renderMarkdownParamTypes = Parameters<RenderMarkdownType>;
let worker: any | undefined;
export const renderMarkdown = async (
content: renderMarkdownParamTypes[0],
markedOptions: renderMarkdownParamTypes[1],
hassOptions?: renderMarkdownParamTypes[2]
): Promise<ReturnType<RenderMarkdownType>> => {
if (!worker) {
worker = wrap(new Worker("./markdown_worker", { type: "module" }));
}
return await worker.renderMarkdown(content, markedOptions, hassOptions);
};