UNPKG

2.61 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.PureComponent = exports.Component = void 0;
9
10var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
12var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
14var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
16var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
18var _get3 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
19
20var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
22var _react = _interopRequireDefault(require("react"));
23
24function create(name) {
25 var Base = _react.default[name];
26 return (
27 /*#__PURE__*/
28 function (_Base) {
29 (0, _inherits2.default)(_class, _Base);
30
31 function _class() {
32 (0, _classCallCheck2.default)(this, _class);
33 return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_class).apply(this, arguments));
34 }
35
36 (0, _createClass2.default)(_class, [{
37 key: "componentDidMount",
38 value: function componentDidMount() {
39 this.$isMounted = true;
40 }
41 }, {
42 key: "componentWillUnmount",
43 value: function componentWillUnmount() {
44 this.$isMounted = false;
45 }
46 }, {
47 key: "setState",
48 value: function setState() {
49 var _get2;
50
51 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
52 args[_key] = arguments[_key];
53 }
54
55 if (this.$isMounted !== false) (_get2 = (0, _get3.default)((0, _getPrototypeOf2.default)(_class.prototype), "setState", this)).call.apply(_get2, [this].concat(args));
56 }
57 }, {
58 key: "forceUpdate",
59 value: function forceUpdate() {
60 if (this.$isMounted === true) (0, _get3.default)((0, _getPrototypeOf2.default)(_class.prototype), "forceUpdate", this).call(this);
61
62 if (this.$isMounted === undefined) {
63 if (this.forceUpdateTimer) clearTimeout(this.forceUpdateTimer);
64 this.forceUpdateTimer = setTimeout(this.forceUpdate.bind(this));
65 }
66 }
67 }]);
68 return _class;
69 }(Base)
70 );
71}
72
73var Component = create('Component');
74exports.Component = Component;
75var PureComponent = create('PureComponent');
76exports.PureComponent = PureComponent;
\No newline at end of file