@danilandreev/material-docs
Version:
material-docs - react framework for easy creating documentation site in material design style.
40 lines (33 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = getChildrenFromContainer;
var _getContainerByType = _interopRequireDefault(require("./getContainerByType"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/*
* Author: Andrieiev Danil | danssg08@gmail.com | https://github.com/DanilAndreev
* Copyright (C) 2020.
*/
/**
* getChildrenFromContainer - function, designed to get children elements from containers with input types.
* @function
* @param {JSX.Element} children
* @param {string | string[]} types
* @param {boolean} invert
* @param {boolean} multiple
* @return {JSX.Element | JSX.Element[] | null}
*/
function getChildrenFromContainer(children, types) {
var invert = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var multiple = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
var containers = (0, _getContainerByType.default)(children, types, invert, multiple);
if (Array.isArray(containers)) {
return containers.map(function (container) {
return container.props.children;
}).flat(1);
} else if (containers) {
return containers.props.children;
}
return null;
}