UNPKG

fumadocs-core

Version:

The library for building a documentation website in any React.js framework

30 lines (28 loc) 577 B
"use client"; import { highlight } from "../chunk-HN2NUUD2.js"; import "../chunk-JSBRDJBE.js"; // src/highlight/client.tsx import { use, useId, useMemo } from "react"; var promises = {}; function useShiki(code, options, deps) { const id = useId(); const key = useMemo(() => { const state = deps ? JSON.stringify(deps) : `${options.lang}:${code}`; return `${id}:${state}`; }, [code, deps, id, options.lang]); return use( promises[key] ??= highlight(code, { ...options, engine: options.engine ?? "js" }) ); } export { useShiki };