@ozen-ui/kit
Version:
React component library
24 lines (23 loc) • 992 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.isNodeWithDisplayName = void 0;
var react_1 = require("react");
var isFunction_1 = require("../isFunction");
var object_1 = require("../object");
var isNodeWithDisplayName = function (node, displayName) {
var isValid = (0, react_1.isValidElement)(node);
if (!isValid) {
return false;
}
if (!(0, object_1.isPlainObject)(node.type) && !(0, isFunction_1.isFunction)(node.type)) {
return false;
}
var isEqualByTypeDisplayName = 'displayName' in node.type && node.type.displayName === displayName;
var isEqualByRenderDisplayName = 'render' in node.type &&
node.type.render &&
(0, isFunction_1.isFunction)(node.type.render) &&
'displayName' in node.type.render &&
node.type.render.displayName === displayName;
return isEqualByTypeDisplayName || !!isEqualByRenderDisplayName;
};
exports.isNodeWithDisplayName = isNodeWithDisplayName;
;