rsuite
Version:
A suite of react components
44 lines (42 loc) • 1.31 kB
JavaScript
'use client';
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
exports.reactToString = reactToString;
exports.stringifyReactNode = stringifyReactNode;
var _react = _interopRequireDefault(require("react"));
/**
* Converts a React element to a string representation.
* @param element - The React element to convert.
* @returns An array of strings representing the React element.
*/
function reactToString(element) {
const nodes = [];
const recursion = elmt => {
_react.default.Children.forEach(elmt.props.children, child => {
if (/*#__PURE__*/_react.default.isValidElement(child)) {
recursion(child);
} else if (typeof child === 'string') {
nodes.push(child);
}
});
};
recursion(element);
return nodes;
}
/**
* Converts a React node to a string representation.
* @param node - The React node to convert.
* @returns A string representation of the React node.
*/
function stringifyReactNode(node) {
if (typeof node === 'string') {
return node;
} else if (/*#__PURE__*/_react.default.isValidElement(node)) {
const nodes = reactToString(node);
return nodes.join('');
}
return '';
}
var _default = exports.default = stringifyReactNode;