234 lines
8.2 KiB
JavaScript
234 lines
8.2 KiB
JavaScript
// Metro module 5476 (f5477).
|
|
import _slicedToArray from "./_slicedToArray_5416";
|
|
import { useState, useRef, useCallback, useEffect } from "react";
|
|
import { autoScroll, Cancellable } from "./Cancellable";
|
|
import { ErrorMessages } from "./Module5413";
|
|
import { JSFPSMonitor } from "./JSFPSMonitor";
|
|
let runScrollBenchmark;
|
|
let env3362 = {};
|
|
export function getFormattedString(a0) {
|
|
return `Results:
|
|
|
|
JS FPS: Avg: ${a0.js?.averageFPS} | Min: ${a0.js?.minFPS} | Max: ${a0.js?.maxFPS}
|
|
|
|
` + (a0.suggestions.length > 0 ? `Suggestions:
|
|
|
|
${a0.suggestions.map((suggestion, index) => `${index + 1}. ${suggestion}`).join("\n")}` : "");
|
|
}
|
|
runScrollBenchmark = async function runScrollBenchmark(c25473_0, c25473_1, c25473_2) {
|
|
let c25473_3, c25473_4;
|
|
L14: {
|
|
L13: {
|
|
let env29511;
|
|
c25473_4 = env3362;
|
|
const r10 = env29511 = {};
|
|
c25473_3 = r10;
|
|
env29511[0] = c25473_0;
|
|
env29511[1] = c25473_1;
|
|
env29511[2] = c25473_2;
|
|
env29511[3] = void 0;
|
|
env29511[4] = void 0;
|
|
env29511[5] = void 0;
|
|
env29511[6] = void 0;
|
|
if (!c25473_0.current) {
|
|
break L14;
|
|
}
|
|
env29511[3] = c25473_0.current.props.horizontal;
|
|
const current = c25473_0.current;
|
|
if (current) {
|
|
const windowSize = current.getWindowSize();
|
|
const childContainerDimensions = current.getChildContainerDimensions();
|
|
const r46 = childContainerDimensions.width - windowSize.width;
|
|
env29511[4] = r46;
|
|
const r49 = childContainerDimensions.height - windowSize.height;
|
|
env29511[5] = r49;
|
|
const scrollNow = (a0, a1) => {
|
|
const current = env29511[0].current;
|
|
if (current != null) {
|
|
current.scrollToOffset({
|
|
offset: env29511[3] ? a0 : a1,
|
|
animated: false
|
|
});
|
|
}
|
|
};
|
|
env29511[6] = scrollNow;
|
|
await autoScroll(scrollNow, 0, 0, r46, r49, c25473_2, c25473_1);
|
|
await autoScroll(env29511[6], env29511[4], env29511[5], 0, 0, env29511[2], env29511[1]);
|
|
break L13;
|
|
}
|
|
break L14;
|
|
}
|
|
return void 0;
|
|
}
|
|
};
|
|
export function useBenchmark(a0, a1) {
|
|
let env14872 = {
|
|
$parent: env3362
|
|
};
|
|
env14872[0] = a0;
|
|
env14872[1] = a1;
|
|
let r5 = arguments[2];
|
|
if (r5 === void 0) {
|
|
r5 = {};
|
|
}
|
|
env14872[2] = r5;
|
|
env14872[3] = void 0;
|
|
env14872[4] = void 0;
|
|
env14872[5] = void 0;
|
|
env14872[6] = void 0;
|
|
const r12 = _slicedToArray((0, useState)(false), 2);
|
|
const isBenchmarkRunning = r12[0];
|
|
env14872[3] = isBenchmarkRunning;
|
|
env14872[4] = r12[1];
|
|
env14872[5] = (0, useRef)(null);
|
|
const startBenchmark = (0, useCallback)(() => {
|
|
if (!env14872[3]) {
|
|
let env25474 = {
|
|
$parent: env14872
|
|
};
|
|
const cancellable = new Cancellable();
|
|
env25474[0] = cancellable;
|
|
env14872[5].current = cancellable;
|
|
env25474[1] = [];
|
|
const r21 = env14872[0];
|
|
if (r21.current) {
|
|
if (!(Number(r21.current.props.data?.length) > 0)) {
|
|
throw new Error(ErrorMessages.dataEmptyCannotRunBenchmark);
|
|
}
|
|
}
|
|
(0, env14872[4])(true);
|
|
let c25475_0 = async () => {
|
|
let c31369_0, c31369_1;
|
|
L32: {
|
|
L16: {
|
|
let env31937;
|
|
L10: {
|
|
c31369_1 = void 0;
|
|
const r8 = env31937 = {};
|
|
c31369_0 = r8;
|
|
env31937[0] = void 0;
|
|
env31937[1] = void 0;
|
|
env31937[2] = void 0;
|
|
env31937[3] = void 0;
|
|
const jSFPSMonitor = new JSFPSMonitor();
|
|
env31937[0] = jSFPSMonitor;
|
|
jSFPSMonitor.startTracking();
|
|
env31937[1] = 0;
|
|
const r38 = env31937[1];
|
|
const repeatCount = env14872[2].repeatCount;
|
|
if (repeatCount) {
|
|
if (r38 < repeatCount) {
|
|
break L10;
|
|
}
|
|
} else if (r38 < 1) {
|
|
break L10;
|
|
}
|
|
env31937[2] = env31937[0].stopAndGetData();
|
|
if (env31937[2].averageFPS < 35) {
|
|
c31369_1.$parent[1].push("Your average JS FPS is low. This can indicate that your components are doing too much work. Try to optimize your components and reduce re-renders if any");
|
|
}
|
|
const r60 = c31369_1;
|
|
const r62 = env14872[0];
|
|
const r63 = r60.$parent;
|
|
(function computeSuggestions(a0, a1) {
|
|
if (a0.current && a0.current.props.data.length < 200) {
|
|
a1.push("Data count is low. Try to increase it to a large number (e.g 200) using the 'useDataMultiplier' hook.");
|
|
}
|
|
})(r62, r63[1]);
|
|
env31937[3] = (function generateResult(a0, a1, a2) {
|
|
return {
|
|
js: a0,
|
|
suggestions: a1,
|
|
interrupted: a2.isCancelled()
|
|
};
|
|
})(env31937[2], r63[1], r63[0]);
|
|
if (!r63[0].isCancelled()) {
|
|
env31937[3].formattedString = (0, getFormattedString)(env31937[3]);
|
|
}
|
|
(0, env14872[1])(env31937[3]);
|
|
(0, env14872[4])(false);
|
|
break L16;
|
|
}
|
|
const r43 = c31369_1;
|
|
const r47 = env14872[0];
|
|
const r49 = r43.$parent[0];
|
|
const speedMultiplier = env14872[2].speedMultiplier;
|
|
await (speedMultiplier ? runScrollBenchmark(r47, r49, speedMultiplier) : runScrollBenchmark(r47, r49, 1));
|
|
while (true) {
|
|
L25: {
|
|
env31937[1] = env31937[1] + 1;
|
|
const r122 = env31937[1];
|
|
const repeatCount2 = env14872[2].repeatCount;
|
|
if (repeatCount2) {
|
|
if (r122 < repeatCount2) {
|
|
break L25;
|
|
}
|
|
} else if (r122 < 1) {
|
|
break L25;
|
|
}
|
|
env31937[2] = env31937[0].stopAndGetData();
|
|
if (env31937[2].averageFPS < 35) {
|
|
c31369_1.$parent[1].push("Your average JS FPS is low. This can indicate that your components are doing too much work. Try to optimize your components and reduce re-renders if any");
|
|
}
|
|
const r144 = c31369_1;
|
|
const r146 = env14872[0];
|
|
const r147 = r144.$parent;
|
|
(function computeSuggestions(a0, a1) {
|
|
if (a0.current && a0.current.props.data.length < 200) {
|
|
a1.push("Data count is low. Try to increase it to a large number (e.g 200) using the 'useDataMultiplier' hook.");
|
|
}
|
|
})(r146, r147[1]);
|
|
env31937[3] = (function generateResult(a0, a1, a2) {
|
|
return {
|
|
js: a0,
|
|
suggestions: a1,
|
|
interrupted: a2.isCancelled()
|
|
};
|
|
})(env31937[2], r147[1], r147[0]);
|
|
if (!r147[0].isCancelled()) {
|
|
env31937[3].formattedString = (0, getFormattedString)(env31937[3]);
|
|
}
|
|
(0, env14872[1])(env31937[3]);
|
|
(0, env14872[4])(false);
|
|
break L32;
|
|
}
|
|
const r127 = c31369_1;
|
|
const r131 = env14872[0];
|
|
const r133 = r127.$parent[0];
|
|
const speedMultiplier2 = env14872[2].speedMultiplier;
|
|
await (speedMultiplier2 ? runScrollBenchmark(r131, r133, speedMultiplier2) : runScrollBenchmark(r131, r133, 1));
|
|
}
|
|
}
|
|
return void 0;
|
|
}
|
|
};
|
|
(function runBenchmark() {
|
|
return c25475_0.apply(this, arguments);
|
|
})();
|
|
}
|
|
}, [a1, a0, isBenchmarkRunning, r5.repeatCount, r5.speedMultiplier]);
|
|
env14872[6] = startBenchmark;
|
|
(0, useEffect)(() => {
|
|
const r2 = env14872[2];
|
|
if (r2.startManually) {
|
|
return void 0;
|
|
}
|
|
const r5 = setTimeout;
|
|
const r7 = r2.startDelayInMs || 3000;
|
|
let c25476_0 = r5(() => {
|
|
(0, env14872[6])();
|
|
}, r7);
|
|
return () => {
|
|
clearTimeout(c25476_0);
|
|
const r7 = env14872[5];
|
|
if (r7.current) {
|
|
r7.current.cancel();
|
|
}
|
|
};
|
|
}, []);
|
|
return {
|
|
startBenchmark,
|
|
isBenchmarkRunning
|
|
};
|
|
}
|