// Metro module 675 (f676). import { AnalyticEvents } from "../../Constants"; import { requestSafeIdleCallback } from "../../_bundle/Module696"; import AnalyticsUtils from "../../utils/AnalyticsUtils"; let _excluded, c583_6, c583_7, stopRequest; const setRequestedBy = function setRequestedBy(a0) { c583_7.size > 0; c583_6 = false; let r9 = c583_7.get(a0); if (r9 == null) { r9 = 0; } c583_7.set(a0, r9 + 1); const r18 = `BRIDGE:${a0}`; let r20 = c583_7.get(r18); if (r20 == null) { r20 = 0; } const r21 = r20 - 1; if (r21 <= 0) { c583_7.delete(r18); } else { c583_7.set(r18, r21); } c583_7.size > 0; }; stopRequest = function stopRequest(a0) { c583_7.size > 0; c583_6 = false; let r9 = c583_7.get(a0); if (r9 == null) { r9 = 0; } const r11 = r9 - 1; if (r11 <= 0) { c583_7.delete(a0); } else { c583_7.set(a0, r11); } c583_7.size > 0; }; _excluded = ["COLD_START"]; c583_6 = true; c583_7 = new Map(); export function isRequested() { return c583_7.size > 0 || c583_6; } export function recordStartHeadlessTask() { c583_6 = false; } export function describeConnectionReasons() { const r6 = [...c583_6 ? _excluded : [], ...c583_7.keys()].sort(); return r6.length > 0 ? r6.join(",") : "NO_REASONS"; } export { setRequestedBy }; export function startBridgeTo(a0) { const bridge_token = `BRIDGE:${a0}`; let c12442_1 = performance.now(); c583_7.size > 0; c583_6 = false; let r18 = c583_7.get(bridge_token); if (r18 == null) { r18 = 0; } c583_7.set(bridge_token, r18 + 1); c583_7.size > 0; requestSafeIdleCallback(() => { if (c583_7.has(bridge_token)) { AnalyticsUtils.track(AnalyticEvents.GATEWAY_BRIDGE_TIMEOUT, { bridge_token, cleared_after: performance.now() - c12442_1 }); } c583_7.size > 0; c583_6 = false; let r28 = c583_7.get(bridge_token); if (r28 == null) { r28 = 0; } const r30 = r28 - 1; if (r30 <= 0) { c583_7.delete(bridge_token); } else { c583_7.set(bridge_token, r30); } c583_7.size > 0; }, { timeout: 5000 }); } export { stopRequest }; export async function withRequest(c23824_0, c23824_1) { let r18; let c23824_4; let c23824_5 = 0; let c28667_0; try { c28667_0 = c23824_0; c23824_5 = 1; setRequestedBy(c23824_0); r18 = await c23824_1(); c23824_5 = 0; (0, stopRequest)(c28667_0); } catch ($e) { const r22 = $e; let r8 = r22; c23824_4 = r22; if (c23824_5 !== 0) { while (true) { try { const r56 = c23824_4; c23824_5 = 0; (0, stopRequest)(c28667_0); throw r56; } catch (r52) { r8 = r52; c23824_4 = r52; if (c23824_5 === 0) { break; } } } } throw r8; } return r18; }