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

58 строки
1.7 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 _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
  7. var _react = require("react");
  8. var _setDisplayName = _interopRequireDefault(require("./setDisplayName"));
  9. var _wrapDisplayName = _interopRequireDefault(require("./wrapDisplayName"));
  10. /* eslint-disable no-console */
  11. var lifecycle = function lifecycle(spec) {
  12. return function (BaseComponent) {
  13. var factory = (0, _react.createFactory)(BaseComponent);
  14. if (process.env.NODE_ENV !== 'production' && spec.hasOwnProperty('render')) {
  15. console.error('lifecycle() does not support the render method; its behavior is to ' + 'pass all props and state to the base component.');
  16. }
  17. var Lifecycle =
  18. /*#__PURE__*/
  19. function (_Component) {
  20. (0, _inheritsLoose2.default)(Lifecycle, _Component);
  21. function Lifecycle() {
  22. return _Component.apply(this, arguments) || this;
  23. }
  24. var _proto = Lifecycle.prototype;
  25. _proto.render = function render() {
  26. return factory((0, _extends2.default)({}, this.props, this.state));
  27. };
  28. return Lifecycle;
  29. }(_react.Component);
  30. Object.keys(spec).forEach(function (hook) {
  31. return Lifecycle.prototype[hook] = spec[hook];
  32. });
  33. if (process.env.NODE_ENV !== 'production') {
  34. return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'lifecycle'))(Lifecycle);
  35. }
  36. return Lifecycle;
  37. };
  38. };
  39. var _default = lifecycle;
  40. exports.default = _default;