import Link from 'next/link'; import { BuiltinDocumentationLinks } from '@/util/builtinDocumentationLinks'; import { Scrollbars } from './OverlayScrollbars'; import { SyntaxHighlighter } from './SyntaxHighlighter'; export async function DocNode({ node, version }: { readonly node?: any; readonly version: string }) { const createNode = (node: any, idx: number) => { switch (node.kind) { case 'PlainText': return {node.text}; case 'LinkTag': { if (node.resolvedPackage) { return ( {node.text} ); } if (node.uri) { return ( {`${node.text}${node.members ?? ''}`} ); } if (node.text in BuiltinDocumentationLinks) { const href = BuiltinDocumentationLinks[node.text as keyof typeof BuiltinDocumentationLinks]; return ( {node.text} ); } return {node.text}; } case 'CodeSpan': return ( {node.text} ); case 'FencedCode': { const { language, text } = node; return ( ); } case 'SoftBreak': return null; default: return null; } }; return node?.map(createNode) ?? null; }