Spaces:
Sleeping
Sleeping
pythonic-rag-FastAPIReact
/
frontend
/node_modules
/@mui
/utils
/legacy
/getDisplayName
/getDisplayName.js
| import _typeof from "@babel/runtime/helpers/esm/typeof"; | |
| import { ForwardRef, Memo } from 'react-is'; | |
| // Simplified polyfill for IE11 support | |
| // https://github.com/JamesMGreene/Function.name/blob/58b314d4a983110c3682f1228f845d39ccca1817/Function.name.js#L3 | |
| var fnNameMatchRegex = /^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/; | |
| export function getFunctionName(fn) { | |
| var match = "".concat(fn).match(fnNameMatchRegex); | |
| var name = match && match[1]; | |
| return name || ''; | |
| } | |
| function getFunctionComponentName(Component) { | |
| var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; | |
| return Component.displayName || Component.name || getFunctionName(Component) || fallback; | |
| } | |
| function getWrappedName(outerType, innerType, wrapperName) { | |
| var functionName = getFunctionComponentName(innerType); | |
| return outerType.displayName || (functionName !== '' ? "".concat(wrapperName, "(").concat(functionName, ")") : wrapperName); | |
| } | |
| /** | |
| * cherry-pick from | |
| * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js | |
| * originally forked from recompose/getDisplayName with added IE11 support | |
| */ | |
| export default 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 ForwardRef: | |
| return getWrappedName(Component, Component.render, 'ForwardRef'); | |
| case Memo: | |
| return getWrappedName(Component, Component.type, 'memo'); | |
| default: | |
| return undefined; | |
| } | |
| } | |
| return undefined; | |
| } |