UNPKG

seti-ramesesv1

Version:

Reusable components and context for Next.js apps

43 lines (38 loc) 1.43 kB
import { r as reactIsExports } from '../../../../../_virtual/index2.js'; function getFunctionComponentName(Component, fallback = '') { return Component.displayName || Component.name || fallback; } function getWrappedName(outerType, innerType, wrapperName) { const functionName = getFunctionComponentName(innerType); return outerType.displayName || (functionName !== '' ? `${wrapperName}(${functionName})` : wrapperName); } /** * cherry-pick from * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js * originally forked from recompose/getDisplayName */ function getDisplayName(Component) { if (Component == null) { return undefined; } if (typeof Component === 'string') { return Component; } if (typeof Component === 'function') { return getFunctionComponentName(Component, 'Component'); } // TypeScript can't have components as objects but they exist in the form of `memo` or `Suspense` if (typeof Component === 'object') { switch (Component.$$typeof) { case reactIsExports.ForwardRef: return getWrappedName(Component, Component.render, 'ForwardRef'); case reactIsExports.Memo: return getWrappedName(Component, Component.type, 'memo'); default: return undefined; } } return undefined; } export { getDisplayName as default }; //# sourceMappingURL=getDisplayName.js.map