airbnb-prop-types
Version:
Custom React PropType validators that we use at Airbnb.
32 lines (24 loc) • 771 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = getComponentName;
var _functionPrototype = _interopRequireDefault(require("function.prototype.name"));
var _reactIs = require("react-is");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function getComponentName(Component) {
if (typeof Component === 'string') {
return Component;
}
if (typeof Component === 'function') {
return Component.displayName || (0, _functionPrototype["default"])(Component);
}
if ((0, _reactIs.isForwardRef)({
type: Component,
$$typeof: _reactIs.Element
})) {
return Component.displayName;
}
return null;
}
//# sourceMappingURL=getComponentName.js.map