UNPKG

react-recompose

Version:

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

41 lines (39 loc) 1.81 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 _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _react = require("react"); var _createFactory = _interopRequireDefault(require("./utils/createFactory")); 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, _createFactory["default"])(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;