UNPKG

reflexy

Version:

Flexbox layout react components

20 lines (19 loc) 575 B
import { isValidElement } from 'react'; import '@js-toolkit/utils/types'; import { REFLEXY_KEY } from './copyInternalProps'; const REACT_MEMO_TYPE = Symbol.for('react.memo'); export function isFlex(component) { // React component if (typeof component === 'function') { const flex = component; return flex[REFLEXY_KEY] != null; } if (component.$$typeof === REACT_MEMO_TYPE) { return isFlex(component.type); } // React element if (isValidElement(component)) { return isFlex(component.type); } return false; }