// Metro module 12702 (f12703). import { WorkIdleDeadline, NATIVE_WORK_DEADLINE_MS, NATIVE_WORK_BACKOFF_MS, DISPATCHER_CALLBACK_MAX_TIME_REMAINING_MS } from "./DispatcherWorkConstants"; import "../../Constants"; import { BasicWorkScheduler } from "./BasicWorkScheduler"; import Dispatcher from "../../Dispatcher"; import { $callWithNewTarget } from "../../_hermes/prelude"; function $mk90274($env) { return (a0) => { $env[0]._trackAppBackgrounded(a0.state === $env.$parent[6].BACKGROUND); }; } let c8752_8, c8752_7; let env8752 = {}; class DispatcherWorkScheduler extends BasicWorkScheduler { constructor() { let env19982; const r2 = env19982 = { $parent: env8752 }; env19982[0] = void 0; super(); env19982[0] = this; Dispatcher.subscribe("APP_STATE_UPDATE", $mk90274(r2)); } _queueIdleCallback() { let c19983_0; if (this._enableRequestIdleCallback && !this._criticalWorkScheduled) { c19983_0 = performance.now(); this._flushIdleHandler = setTimeout(() => { const r9 = performance.now() - c19983_0; const _consecutiveFlushesBeforeQueueEmpty = this._consecutiveFlushesBeforeQueueEmpty; this._processWorkCallback(new WorkIdleDeadline(Math.max(Math.max(0, NATIVE_WORK_DEADLINE_MS - r9) + NATIVE_WORK_BACKOFF_MS * _consecutiveFlushesBeforeQueueEmpty, DISPATCHER_CALLBACK_MAX_TIME_REMAINING_MS), false)); }, 1); return void 0; } return this._processWorkCallback(); } _clearIdleCallback() { if (this._flushIdleHandler != null) { clearTimeout(this._flushIdleHandler); this._flushIdleHandler = null; } } } c8752_8 = DispatcherWorkScheduler; c8752_7 = DispatcherWorkScheduler; export function createDispatcherWorkScheduler() { let env19984; const r2 = env19984 = { $parent: env8752 }; env19984[0] = void 0; const prototypeOf = Object.getPrototypeOf(c8752_8); const r5 = Object.create(c8752_7.prototype); const r13 = $callWithNewTarget(prototypeOf, r5, c8752_7); const r14 = r13 instanceof Object ? r13 : r5; env19984[0] = r14; Dispatcher.subscribe("APP_STATE_UPDATE", $mk90274(r2)); return r14; }