Files
discord-decomp/modules/telemetry_ring/native/channels/ZoomedInTelemetry.tsx
T
2026-11-01 12:12:55 +02:00

125 lines
3.6 KiB
TypeScript

// Metro module 13247 (f13248).
import { isZoomedExperimentEnabled } from "../ZoomedInAnalyticsExperiment";
import BaseTelemetryExportChannel from "./BaseTelemetryExportChannel";
import TelemetryRingNative_android, { TelemetryChannel } from "../TelemetryRingNative.android";
import { buildZoomedInAnalyticsEvent } from "./ZoomedInAnalyticBuilder";
import AnalyticsUtils from "../../../../utils/AnalyticsUtils";
import { $callWithNewTarget } from "../../../../_hermes/prelude";
let c9191_4 = {
type: "ROWS",
limit: 250
};
let c9191_5 = {
type: "ROWS",
limit: 10000
};
class ZoomedInTelemetryImpl extends BaseTelemetryExportChannel {
constructor() {
const r17 = [TelemetryChannel.ZOOMED];
super(TelemetryRingNative_android, r17);
}
shouldRun() {
return isZoomedExperimentEnabled();
}
getBudget(a0) {
return a0 === "backlog" ? c9191_5 : c9191_4;
}
getAckedEndOffsetStorageKey() {
return "telemetry_ring_zoomed_acked_end_offset_v1";
}
getExportBatchSize() {
return 250;
}
async exportEntries(c20428_0, c20428_1) {
let r32;
let c27435_0, c27435_1, c27435_4;
let c27435_5 = 0;
L17: {
try {
c27435_5 = 1;
const r18 = [];
let c30615_0 = r18;
c27435_1 = c20428_0;
const r41 = c20428_0[Symbol.iterator]();
c27435_1 = r41.next;
c27435_0 = r41;
while (true) {
const r43 = c27435_1;
let r44 = c27435_0;
const r20 = r44 === void 0 ? void 0 : (r32 = r43.call(r44)).done ? r44 = void 0 : r32.value;
c27435_0 = r44;
if (r44 === void 0) {
if (r18.length === 0) {
c27435_5 = 0;
break L17;
}
await Promise.all(r18.map((item, index) => AnalyticsUtils.track(item.key, item.props, {
flush: c20428_1 && index === c30615_0.length - 1
})));
c27435_5 = 0;
break;
}
c27435_5 = 2;
const r51 = buildZoomedInAnalyticsEvent(r20);
if (r51 != null) {
r18.push({
key: r51.key,
props: r51.props
});
}
c27435_5 = 1;
}
} catch ($e) {
const r38 = $e;
let r8 = r38;
c27435_4 = r38;
let r39 = c27435_5;
if (r39 !== 0) {
while (true) {
if (r39 === 1) {
try {
c27435_5 = 0;
} catch (r91) {
r8 = r91;
c27435_4 = r91;
r39 = c27435_5;
if (r39 === 0) {
break;
}
continue;
}
return false;
}
try {
const r86 = c27435_4;
c27435_5 = 1;
const r88 = c27435_0;
if (r88 !== void 0 && typeof r88.return === "function") {
try {
r88.return();
} catch {}
}
throw r86;
} catch (r85) {
r8 = r85;
c27435_4 = r85;
r39 = c27435_5;
if (r39 === 0) {
break;
}
}
}
}
throw r8;
}
return true;
}
return true;
}
}
const prototypeOf = Object.getPrototypeOf(ZoomedInTelemetryImpl);
const r42 = [TelemetryChannel.ZOOMED];
const r43 = Object.create(ZoomedInTelemetryImpl.prototype);
const r44 = $callWithNewTarget(prototypeOf, r43, ZoomedInTelemetryImpl, TelemetryRingNative_android, r42);
export default r44 instanceof Object ? r44 : r43;