pre-installations and preparations

This commit is contained in:
MuhammadKhalilzadeh committed 2024-05-05 11:21:00 +03:30
1 parent 3e5a0329cb
commit 201d621ac3
6977 files changed
+742826

No files matched your search

+13
View File
@@ -0,0 +1,13 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function () {
return _requirePropFactory.default;
}
});
var _requirePropFactory = _interopRequireDefault(require("./requirePropFactory"));
+31
View File
@@ -0,0 +1,31 @@
"use strict";
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;
}