UNPKG

@shakacode/recompose

Version:

A React utility belt for function components and higher-order components

27 lines (26 loc) 1.38 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = _interopRequireDefault(require("react")); var _setDisplayName = _interopRequireDefault(require("./setDisplayName")); var _wrapDisplayName = _interopRequireDefault(require("./wrapDisplayName")); var fromRenderProps = function fromRenderProps(RenderPropsComponent, propsMapper, renderPropName) { if (renderPropName === void 0) { renderPropName = 'children'; } return function (BaseComponent) { var FromRenderProps = function FromRenderProps(ownerProps) { var _React$createElement; return /*#__PURE__*/_react["default"].createElement(RenderPropsComponent, (_React$createElement = {}, _React$createElement[renderPropName] = function () { return /*#__PURE__*/_react["default"].createElement(BaseComponent, (0, _extends2["default"])({}, ownerProps, propsMapper.apply(void 0, arguments))); }, _React$createElement)); }; if (process.env.NODE_ENV !== 'production') { return (0, _setDisplayName["default"])((0, _wrapDisplayName["default"])(BaseComponent, 'fromRenderProps'))(FromRenderProps); } return FromRenderProps; }; }; var _default = exports["default"] = fromRenderProps;