@difizen/mana-core
Version:
34 lines • 1.08 kB
JavaScript
import { getOrigin } from '@difizen/mana-observable';
import React from 'react';
/**
* hack
* @param component react component
* @returns
*/
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
export var isForwardRefComponent = function isForwardRefComponent(component) {
return !!(component && component.$$typeof !== undefined && component.render !== undefined);
};
/**
* hack
* @param component react component
* @returns
*/
export var isMemoComponent = function isMemoComponent(component) {
return !!(component && component.$$typeof !== undefined && component.type !== undefined);
};
export function renderNode(nodeOrFC) {
if (typeof nodeOrFC === 'string') {
return /*#__PURE__*/_jsx("span", {
children: nodeOrFC
});
}
if ( /*#__PURE__*/React.isValidElement(nodeOrFC)) {
return getOrigin(nodeOrFC);
}
if (typeof nodeOrFC === 'function' || isForwardRefComponent(nodeOrFC) || isMemoComponent(nodeOrFC)) {
var _FC = nodeOrFC;
return /*#__PURE__*/_jsx(_FC, {});
}
return /*#__PURE__*/_jsx(_Fragment, {});
}