UNPKG

@danilandreev/material-docs

Version:

material-docs - react framework for easy creating documentation site in material design style.

35 lines (28 loc) 1.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = getTextFromChildren; var _react = _interopRequireDefault(require("react")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* * Author: Andrieiev Danil | danssg08@gmail.com | https://github.com/DanilAndreev * Copyright (C) 2020. */ /** * getTextFromChildren - returns deep text from children. * @function * @param {any} children React components. * @param {number} depth Step into depth for analyzer. * @return {string} */ function getTextFromChildren(children) { var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; if (depth < 1) return ""; var text = _react.default.Children.map(children, function (child) { if ( /*#__PURE__*/_react.default.isValidElement(child)) return getTextFromChildren(child.props.children, depth - 1); if (typeof child === "string") return child; return ""; }).join(" ").trim(); return text || ""; }