@hypnosphi/recompose
Version:
A React utility belt for function components and higher-order components
38 lines (27 loc) • 1.19 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _createFactory = _interopRequireDefault(require("./utils/createFactory"));
var _getDisplayName = _interopRequireDefault(require("./getDisplayName"));
var nest = function nest() {
for (var _len = arguments.length, Components = new Array(_len), _key = 0; _key < _len; _key++) {
Components[_key] = arguments[_key];
}
var factories = Components.map(_createFactory.default);
var Nest = function Nest(_ref) {
var children = _ref.children,
props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["children"]);
return factories.reduceRight(function (child, factory) {
return factory(props, child);
}, children);
};
if (process.env.NODE_ENV !== 'production') {
var displayNames = Components.map(_getDisplayName.default);
Nest.displayName = "nest(" + displayNames.join(', ') + ")";
}
return Nest;
};
var _default = nest;
exports.default = _default;