61 lines
2.1 KiB
TypeScript
61 lines
2.1 KiB
TypeScript
// 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;
|
|
}
|