Spaces:
Sleeping
Sleeping
pythonic-rag-FastAPIReact
/
frontend
/node_modules
/@mui
/utils
/requirePropFactory
/requirePropFactory.js
| ; | |
| var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| exports.default = requirePropFactory; | |
| var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); | |
| function requirePropFactory(componentNameInError, Component) { | |
| if (process.env.NODE_ENV === 'production') { | |
| return () => null; | |
| } | |
| // eslint-disable-next-line react/forbid-foreign-prop-types | |
| const prevPropTypes = Component ? (0, _extends2.default)({}, Component.propTypes) : null; | |
| const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => { | |
| const propFullNameSafe = propFullName || propName; | |
| const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe]; | |
| if (defaultTypeChecker) { | |
| const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args); | |
| if (typeCheckerResult) { | |
| return typeCheckerResult; | |
| } | |
| } | |
| if (typeof props[propName] !== 'undefined' && !props[requiredProp]) { | |
| return new Error(`The prop \`${propFullNameSafe}\` of ` + `\`${componentNameInError}\` can only be used together with the \`${requiredProp}\` prop.`); | |
| } | |
| return null; | |
| }; | |
| return requireProp; | |
| } |