UNPKG

@difizen/mana-core

Version:

42 lines (41 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isMemoComponent = exports.isForwardRefComponent = void 0; exports.renderNode = renderNode; var _manaObservable = require("@difizen/mana-observable"); var _react = _interopRequireDefault(require("react")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * hack * @param component react component * @returns */ var isForwardRefComponent = exports.isForwardRefComponent = function isForwardRefComponent(component) { return !!(component && component.$$typeof !== undefined && component.render !== undefined); }; /** * hack * @param component react component * @returns */ var isMemoComponent = exports.isMemoComponent = function isMemoComponent(component) { return !!(component && component.$$typeof !== undefined && component.type !== undefined); }; function renderNode(nodeOrFC) { if (typeof nodeOrFC === 'string') { return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", { children: nodeOrFC }); } if ( /*#__PURE__*/_react.default.isValidElement(nodeOrFC)) { return (0, _manaObservable.getOrigin)(nodeOrFC); } if (typeof nodeOrFC === 'function' || isForwardRefComponent(nodeOrFC) || isMemoComponent(nodeOrFC)) { var _FC = nodeOrFC; return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FC, {}); } return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {}); }