32 lines
1.6 KiB
JavaScript
32 lines
1.6 KiB
JavaScript
'use strict';
|
|
|
|
exports.__esModule = true;
|
|
|
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
|
|
var _react = require('react');
|
|
|
|
var _react2 = _interopRequireDefault(_react);
|
|
|
|
var _createChainableTypeChecker = require('./utils/createChainableTypeChecker');
|
|
|
|
var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
function validate(props, propName, componentName, location, propFullName) {
|
|
var propValue = props[propName];
|
|
var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);
|
|
|
|
if (_react2.default.isValidElement(propValue)) {
|
|
return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement. You can usually obtain a ReactComponent or DOMElement ' + 'from a ReactElement by attaching a ref to it.');
|
|
}
|
|
|
|
if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) {
|
|
return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.');
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
exports.default = (0, _createChainableTypeChecker2.default)(validate); |