UNPKG

3.56 kBJavaScriptView Raw
1'use strict';
2
3function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
5var React = require('react');
6var React__default = _interopDefault(React);
7var index = require('./index-b0606964.js');
8var defineProperty$1 = require('./defineProperty-0921a47c.js');
9var getPrototypeOf = require('./getPrototypeOf-e2d1e599.js');
10var getDisplayName = require('./getDisplayName-7ab6d318.js');
11
12function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf._getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf._getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return getPrototypeOf._possibleConstructorReturn(this, result); }; }
13
14function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
15// For a discussion on pitfalls, see
16// https://gist.github.com/staltz/08bf613199092eeb41ac8137d51eb5e6
17
18var Redraw = /*#__PURE__*/function (_React$PureComponent) {
19 getPrototypeOf._inherits(Redraw, _React$PureComponent);
20
21 var _super = _createSuper(Redraw);
22
23 function Redraw() {
24 var _this;
25
26 getPrototypeOf._classCallCheck(this, Redraw);
27
28 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
29 args[_key] = arguments[_key];
30 }
31
32 _this = _super.call.apply(_super, [this].concat(args));
33
34 defineProperty$1._defineProperty(getPrototypeOf._assertThisInitialized(_this), "state", {
35 lastDraw: -1
36 });
37
38 defineProperty$1._defineProperty(getPrototypeOf._assertThisInitialized(_this), "draw", function () {
39 _this.raf = requestAnimationFrame(_this.draw);
40 var interval = _this.props.interval;
41 var lastDraw = _this.state.lastDraw;
42 var now = Date.now();
43 var delta = now - lastDraw;
44
45 if (lastDraw === -1 || delta > interval) {
46 _this.setState({
47 lastDraw: Math.round(now / interval) * interval
48 });
49 }
50 });
51
52 return _this;
53 }
54
55 getPrototypeOf._createClass(Redraw, [{
56 key: "componentDidMount",
57 value: function componentDidMount() {
58 this.raf = null;
59 this.draw();
60 }
61 }, {
62 key: "componentWillUnmount",
63 value: function componentWillUnmount() {
64 this.raf && cancelAnimationFrame(this.raf);
65 }
66 }, {
67 key: "render",
68 value: function render() {
69 return this.props.children();
70 }
71 }]);
72
73 return Redraw;
74}(React__default.PureComponent);
75
76defineProperty$1._defineProperty(Redraw, "propTypes", {
77 interval: index.PropTypes.number,
78 children: index.PropTypes.func.isRequired
79});
80
81defineProperty$1._defineProperty(Redraw, "defaultProps", {
82 interval: 1000
83});
84
85var hocWrap = function hocWrap(Component, interval) {
86 var HOC = function HOC(props) {
87 return /*#__PURE__*/React__default.createElement(Redraw, {
88 interval: interval
89 }, function () {
90 return /*#__PURE__*/React__default.createElement(Component, props);
91 });
92 };
93
94 HOC.displayName = "Redraw(".concat(getDisplayName.getDisplayName(Component), ")");
95 return HOC;
96};
97
98Redraw.hocWrap = hocWrap;
99
100exports.Redraw = Redraw;
101//# sourceMappingURL=index-904f69cc.js.map