(node: ReactNode)
| 35 | }; |
| 36 | |
| 37 | const getNodeText = (node: ReactNode): string => { |
| 38 | if (typeof node === 'string' || typeof node === 'number') return String(node); |
| 39 | |
| 40 | if (Array.isArray(node)) return node.map(getNodeText).join(''); |
| 41 | |
| 42 | if (isValidElement<ElementWithCodeProps>(node)) { |
| 43 | return getNodeText(node.props.children); |
| 44 | } |
| 45 | |
| 46 | return ''; |
| 47 | }; |
| 48 | |
| 49 | const getLanguageFromClassName = (className?: string) => |
| 50 | className |