// Module ID: 5144 // Function ID: 43617 // Name: RenderTimeTracker // Dependencies: [5159, 5145, 5146, 5150] // Module 5144 (RenderTimeTracker) import _toConsumableArray from "_toConsumableArray"; import _classCallCheck from "_classCallCheck"; export const RenderTimeTracker = () => { class RenderTimeTracker { constructor() { tmp = _toConsumableArray(this, RenderTimeTracker); averageWindow = new RenderTimeTracker(closure_1[2]).AverageWindow(5); this.renderTimeAvgWindow = averageWindow; this.lastTimerStartedAt = -1; this.maxRenderTime = 32; this.defaultRenderTime = 16; this.rendersWithoutCommit = 0; this.maxRendersWithoutCommit = 40; return; } } const arg1 = RenderTimeTracker; let obj = { key: "startTracking", value: function startTracking() { const self = this; this.rendersWithoutCommit = this.rendersWithoutCommit + 1; let trackAverageRenderTimeForOffsetProjection = RenderTimeTracker(closure_1[3]).PlatformConfig.trackAverageRenderTimeForOffsetProjection; if (trackAverageRenderTimeForOffsetProjection) { trackAverageRenderTimeForOffsetProjection = -1 === self.lastTimerStartedAt; } if (trackAverageRenderTimeForOffsetProjection) { const _Date = Date; self.lastTimerStartedAt = Date.now(); } } }; const items = [obj, , , , ]; obj = { key: "markRenderComplete", value: function markRenderComplete() { const self = this; this.rendersWithoutCommit = 0; let trackAverageRenderTimeForOffsetProjection = RenderTimeTracker(closure_1[3]).PlatformConfig.trackAverageRenderTimeForOffsetProjection; if (trackAverageRenderTimeForOffsetProjection) { trackAverageRenderTimeForOffsetProjection = -1 !== self.lastTimerStartedAt; } if (trackAverageRenderTimeForOffsetProjection) { const renderTimeAvgWindow = self.renderTimeAvgWindow; const _Date = Date; renderTimeAvgWindow.addValue(Date.now() - self.lastTimerStartedAt); self.lastTimerStartedAt = -1; } } }; items[1] = obj; obj = { key: "hasExceededMaxRendersWithoutCommit", value: function hasExceededMaxRendersWithoutCommit() { return this.rendersWithoutCommit >= this.maxRendersWithoutCommit; } }; items[2] = obj; items[3] = { key: "getRawValue", value: function getRawValue() { return this.renderTimeAvgWindow.currentValue; } }; items[4] = { key: "getAverageRenderTime", value: function getAverageRenderTime() { const self = this; if (RenderTimeTracker(closure_1[3]).PlatformConfig.trackAverageRenderTimeForOffsetProjection) { const _Math = Math; const _Math2 = Math; const _Math3 = Math; let defaultRenderTime = Math.min(self.maxRenderTime, Math.max(Math.round(self.renderTimeAvgWindow.currentValue), 16)); } else { defaultRenderTime = self.defaultRenderTime; } return defaultRenderTime; } }; return callback(RenderTimeTracker, items); }();