import React from 'react'; import { StyleSheet, View } from 'react-native'; import { TNodeRenderer } from 'react-native-render-html'; import { HeuristicTablePluginConfig, TableRenderNode } from './shared-types'; const styles = StyleSheet.create({ colContainer: { flexDirection: 'column', flexGrow: 1 }, rowContainer: { flexDirection: 'row', flexGrow: 1 } }); export default function TreeRenderer({ node, config, renderIndex, renderLength }: { node: TableRenderNode; renderIndex: number; renderLength: number; config?: HeuristicTablePluginConfig; }) { if (node.type === 'cell') { return ( ); } if (node.type === 'root' || node.type === 'col-container') { const children = (node.children as TableRenderNode[]).map((v, i) => React.createElement(TreeRenderer, { node: v, key: i, config, renderIndex: i, renderLength: node.children.length }) ); return {children}; } if (node.type === 'row-container') { return ( {node.children.map((v, i) => React.createElement(TreeRenderer, { node: v, key: i, config, renderIndex: i, renderLength: node.children.length }) )} ); } return null; }