Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
// This is a Memo component that is being re-rendered.
var compare = element.type.compare || shallowEqual;
if (compare(previousElement.props, element.props)) {
shouldRender = false;
}
}
if (shouldRender) {
var prevDispatcher = ReactCurrentDispatcher.current;
ReactCurrentDispatcher.current = this._dispatcher;
try {
// elementType could still be a ForwardRef if it was
// nested inside Memo.
if (elementType.$$typeof === reactIs.ForwardRef) {
(function () {
if (!(typeof elementType.render === 'function')) {
{
throw ReactError(Error("forwardRef requires a render function but was given " + typeof elementType.render + "."));
}
}
})();
this._rendered = elementType.render.call(undefined, element.props, element.ref);
} else {
this._rendered = elementType(element.props, this._context);
}
} finally {
ReactCurrentDispatcher.current = prevDispatcher;
}
if (!isReactNodeLike(type) || typeof type === 'string') {
return String(type);
}
const typeOf = type.$$typeof;
if (ReactIs.isContextConsumer(type) || typeOf === ReactIs.ContextConsumer) {
return `${getContextName(type)}.Consumer`;
}
if (ReactIs.isContextProvider(type) || typeOf === ReactIs.ContextProvider) {
return `${getContextName(type)}.Provider`;
}
if (ReactIs.isForwardRef(type) || typeOf === ReactIs.ForwardRef) {
return 'ForwardRef'; // We lose the component name
}
if (ReactIs.isFragment(type) || typeOf === ReactIs.Fragment) {
return 'Fragment';
}
if (ReactIs.isLazy(type) || typeOf === ReactIs.Lazy) {
return 'Lazy';
}
if (ReactIs.isMemo(type)) {
return getTypeName(type.type);
} else if (typeOf === ReactIs.Memo) {
return `Memo(${getTypeName(type.type)})`;
}
| 'react.concurrent_mode' /* 0xeacf | Symbol(react.concurrent_mode) */
| 'react.forward_ref' /* 0xead0 | Symbol(react.forward_ref) */
| 'react.suspense' /* 0xead1 | Symbol(react.suspense) */
| 'react.memo' /* 0xead3 | Symbol(react.memo) */
| 'react.lazy' /* 0xead4 | Symbol(react.lazy) */
export const REACT_ELEMENT_TYPE: 'react.element' = is.Element
export const REACT_PORTAL_TYPE: 'react.portal' = is.Portal
export const REACT_FRAGMENT_TYPE: 'react.fragment' = is.Fragment
export const REACT_STRICT_MODE_TYPE: 'react.strict_mode' = is.StrictMode
export const REACT_PROFILER_TYPE: 'react.profiler' = is.Profiler
export const REACT_PROVIDER_TYPE: 'react.provider' = is.ContextProvider
export const REACT_CONTEXT_TYPE: 'react.context' = is.ContextConsumer
export const REACT_CONCURRENT_MODE_TYPE: 'react.concurrent_mode' =
is.ConcurrentMode
export const REACT_FORWARD_REF_TYPE: 'react.forward_ref' = is.ForwardRef
export const REACT_SUSPENSE_TYPE: 'react.suspense' = is.Suspense
export const REACT_MEMO_TYPE: 'react.memo' = is.Memo
export const REACT_LAZY_TYPE: 'react.lazy' = is.Lazy
caller: true,
callee: true,
arguments: true,
arity: true
};
var FORWARD_REF_STATICS = {
'$$typeof': true,
render: true,
defaultProps: true,
displayName: true,
propTypes: true
};
var TYPE_STATICS = {};
TYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;
var defineProperty = Object.defineProperty;
var getOwnPropertyNames = Object.getOwnPropertyNames;
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
var getPrototypeOf = Object.getPrototypeOf;
var objectPrototype = Object.prototype;
function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
if (typeof sourceComponent !== 'string') {
// don't hoist over string (html) components
if (objectPrototype) {
var inheritedComponent = getPrototypeOf(sourceComponent);
if (inheritedComponent && inheritedComponent !== objectPrototype) {
hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
'$$typeof': true,
render: true,
defaultProps: true,
displayName: true,
propTypes: true
};
var MEMO_STATICS = {
'$$typeof': true,
compare: true,
defaultProps: true,
displayName: true,
propTypes: true,
type: true
};
var TYPE_STATICS = {};
TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
function getStatics(component) {
// React v16.11 and below
if (reactIs.isMemo(component)) {
return MEMO_STATICS;
} // React v16.12 and above
return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
}
var defineProperty = Object.defineProperty;
var getOwnPropertyNames = Object.getOwnPropertyNames;
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;