UNPKG

@hypnosphi/recompose

Version:

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

43 lines (29 loc) 1.44 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 baseFactory = _react.default.createFactory(BaseComponent); var renderPropsFactory = _react.default.createFactory(RenderPropsComponent); var FromRenderProps = function FromRenderProps(ownerProps) { var _renderPropsFactory; return renderPropsFactory((_renderPropsFactory = {}, _renderPropsFactory[renderPropName] = function () { return baseFactory((0, _extends2.default)({}, ownerProps, propsMapper.apply(void 0, arguments))); }, _renderPropsFactory)); }; if (process.env.NODE_ENV !== 'production') { return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'fromRenderProps'))(FromRenderProps); } return FromRenderProps; }; }; var _default = fromRenderProps; exports.default = _default;