UNPKG

fumadocs-core

Version:

The React.js library for building a documentation website

30 lines (28 loc) 998 B
import { c as visit } from "../../utils-DUvi2WkD.js"; import { useMemo } from "react"; import { jsx } from "react/jsx-runtime"; //#region src/source/client/index.tsx function deserializePageTree(root) { function deserializeHTML(html) { return /* @__PURE__ */ jsx("span", { dangerouslySetInnerHTML: { __html: html } }); } visit(root, (item) => { if ("icon" in item && typeof item.icon === "string") item.icon = deserializeHTML(item.icon); if (typeof item.name === "string") item.name = deserializeHTML(item.name); }); return root; } /** * Deserialize data passed from server-side loader. * * It only receives the serialized data from server-side, hence not sharing plugins and some properties. */ function useFumadocsLoader(serialized) { const { pageTree } = serialized; return useMemo(() => { return { pageTree: pageTree ? deserializePageTree(pageTree) : void 0 }; }, [pageTree]); } //#endregion export { deserializePageTree, useFumadocsLoader }; //# sourceMappingURL=index.js.map