|
- "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 _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
-
- var _react = require("react");
-
- var _setDisplayName = _interopRequireDefault(require("./setDisplayName"));
-
- var _wrapDisplayName = _interopRequireDefault(require("./wrapDisplayName"));
-
- /* eslint-disable no-console */
- var lifecycle = function lifecycle(spec) {
- return function (BaseComponent) {
- var factory = (0, _react.createFactory)(BaseComponent);
-
- if (process.env.NODE_ENV !== 'production' && spec.hasOwnProperty('render')) {
- console.error('lifecycle() does not support the render method; its behavior is to ' + 'pass all props and state to the base component.');
- }
-
- var Lifecycle =
- /*#__PURE__*/
- function (_Component) {
- (0, _inheritsLoose2.default)(Lifecycle, _Component);
-
- function Lifecycle() {
- return _Component.apply(this, arguments) || this;
- }
-
- var _proto = Lifecycle.prototype;
-
- _proto.render = function render() {
- return factory((0, _extends2.default)({}, this.props, this.state));
- };
-
- return Lifecycle;
- }(_react.Component);
-
- Object.keys(spec).forEach(function (hook) {
- return Lifecycle.prototype[hook] = spec[hook];
- });
-
- if (process.env.NODE_ENV !== 'production') {
- return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'lifecycle'))(Lifecycle);
- }
-
- return Lifecycle;
- };
- };
-
- var _default = lifecycle;
- exports.default = _default;
|