| 12345678910111213141516171819202122232425262728293031323334 | import React from 'react';import Column from './Column';import { get, omit } from 'lodash';import { ColumnProps } from './interface';/** * Convert jsx children into object columns * @param {Node} children * @returns */export default function getColumns(children: React.ReactNode) {    if (children) {        const columns: ColumnProps[] = [];        React.Children.forEach(children, child => {            if (React.isValidElement(child) && (child.type === Column || get(child, 'type.name') === Column.name)) {                const col = omit(child.props, ['children']);                if (Array.isArray(child.props.children) && child.props.children.length) {                    col.children = getColumns(child.props.children);                }                columns.push({                    key: child.key,                    ...col,                });            }        });        return columns;    }    return [];}
 |