import React from 'react'; import { get, map } from 'lodash'; const ReactSVGComponents = { svg: (p, key) => { const { width, height, ...attrs } = p.attr; return ( {map(get(p, 'children', []), (child, idx) => ReactSVGComponents[child.tag](child, idx) )} ); }, circle: (p, key) => { return ( {map(get(p, 'children', []), (child, idx) => ReactSVGComponents[child.tag](child, idx) )} ); }, rect: (p, key) => { return ( {map(get(p, 'children', []), (child, idx) => ReactSVGComponents[child.tag](child, idx) )} ); }, path: (p, key) => { return ( {map(get(p, 'children', []), (child, idx) => ReactSVGComponents[child.tag](child, idx) )} ); }, g: (p, key) => { return ( {map(get(p, 'children', []), (child, idx) => ReactSVGComponents[child.tag](child, idx) )} ); }, polygon: (p, key) => { return ( {map(get(p, 'children', []), (child, idx) => ReactSVGComponents[child.tag](child, idx) )} ); }, line: (p, key) => { return ( {map(get(p, 'children', []), (child, idx) => ReactSVGComponents[child.tag](child, idx) )} ); }, polyline: (p, key) => { return ( {map(get(p, 'children', []), (child, idx) => ReactSVGComponents[child.tag](child, idx) )} ); }, }; export default ReactSVGComponents;