Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 

43 строки
1.4 KiB

  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports.default = void 0;
  5. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  6. var _react = _interopRequireDefault(require("react"));
  7. var _setDisplayName = _interopRequireDefault(require("./setDisplayName"));
  8. var _wrapDisplayName = _interopRequireDefault(require("./wrapDisplayName"));
  9. var fromRenderProps = function fromRenderProps(RenderPropsComponent, propsMapper, renderPropName) {
  10. if (renderPropName === void 0) {
  11. renderPropName = 'children';
  12. }
  13. return function (BaseComponent) {
  14. var baseFactory = _react.default.createFactory(BaseComponent);
  15. var renderPropsFactory = _react.default.createFactory(RenderPropsComponent);
  16. var FromRenderProps = function FromRenderProps(ownerProps) {
  17. var _renderPropsFactory;
  18. return renderPropsFactory((_renderPropsFactory = {}, _renderPropsFactory[renderPropName] = function () {
  19. return baseFactory((0, _extends2.default)({}, ownerProps, propsMapper.apply(void 0, arguments)));
  20. }, _renderPropsFactory));
  21. };
  22. if (process.env.NODE_ENV !== 'production') {
  23. return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'fromRenderProps'))(FromRenderProps);
  24. }
  25. return FromRenderProps;
  26. };
  27. };
  28. var _default = fromRenderProps;
  29. exports.default = _default;