183 lines
11 KiB
TypeScript
183 lines
11 KiB
TypeScript
/* Metro module 12500; source: modules/gateway/BasicWorkScheduler.tsx; dependencies: [6, 7, 12498, 3, 12501, 44, 2] */
|
|
import ClassCallCheck from '../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */
|
|
import CreateClass from '../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */
|
|
import Module00044 from '../../by-id/module-00044.js'; /* Metro dependency 44 */
|
|
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
|
|
import * as DispatcherWorkConstantsModule from './DispatcherWorkConstants.tsx'; /* Metro dependency 12498 */
|
|
import * as WorkSchedulerTelemetryModule from './WorkSchedulerTelemetry.tsx'; /* Metro dependency 12501 */
|
|
|
|
function _fun95220(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#95220, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12690:6, offset: 0x02135b8a, size: 232 bytes, params: 8, frame: 19
|
|
const env0_0 = require;
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
let value = DispatcherWorkConstantsModule;
|
|
const env0_5 = value.MAX_DISPATCHER_FLUSH_DEADLINE_TRIES;
|
|
const env0_6 = value.DISPATCHER_STANDARD_TIMEOUT_MS;
|
|
const env0_7 = value.DISPATCHER_IDEAL_TIME_LIMIT_MS;
|
|
const env0_8 = value.DISPATCHER_LONG_TIMEOUT_MS;
|
|
value = importDefault(3) /* metro dependency 3: Logger */;
|
|
value = new value('DispatcherWorkScheduler');
|
|
value = _fun95221();
|
|
(FileImportTrackerModule).fileFinishedImporting('modules/gateway/BasicWorkScheduler.tsx');
|
|
exports.BasicWorkScheduler = value;
|
|
function _fun95221() { // fn#95221, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12690:311, offset: 0x02135c72, size: 346 bytes, params: 1, frame: 15
|
|
return CreateClass(BasicWorkScheduler, [{key: '_trackAppBackgrounded', value: value_95223}, {key: '_queueIdleCallback',
|
|
value: function() {
|
|
var Error = global.Error;
|
|
throw new Error('Not implemented');
|
|
}}, {key: '_clearIdleCallback', value: function() {
|
|
var Error = global.Error;
|
|
throw new Error('Not implemented');
|
|
}}, {key: '_hasExceededMaxConsecutiveFlushes', get: function() {
|
|
return this._consecutiveFlushesBeforeQueueEmpty >= MAX_DISPATCHER_FLUSH_DEADLINE_TRIES;
|
|
}}, {key: '_processWorkCallback', value: value_95227}, {key: 'markCriticalWorkScheduled', value: function() {
|
|
this._criticalWorkScheduled = true;
|
|
if (this._flushIdleHandler != null) {
|
|
this._clearIdleCallback();
|
|
this._processWorkCallback();
|
|
}
|
|
}}, {key: 'toggleRequestIdleCallback', value: function(a0) {
|
|
this._enableRequestIdleCallback = a0;
|
|
if (!a0 && this.hasWorkScheduled) {
|
|
this._clearIdleCallback();
|
|
this._processWorkCallback();
|
|
}
|
|
}}, {key: 'isBackgrounded', get: function() {
|
|
return this._isBackgrounded;
|
|
}}, {key: 'hasWorkScheduled', get: function() {
|
|
return this._flushTimeoutHandler != null || this._flushIdleHandler != null;
|
|
}}, {key: 'isRequestIdleCallbackEnabled', get: function() {
|
|
return this._enableRequestIdleCallback;
|
|
}}, {key: 'clearWorkTimeout', value: function() {
|
|
if (this._flushTimeoutHandler != null) {
|
|
global.clearTimeout(this._flushTimeoutHandler);
|
|
this._flushTimeoutHandler = null;
|
|
}
|
|
this._clearIdleCallback();
|
|
this._nextDispatchTimeout = DISPATCHER_STANDARD_TIMEOUT_MS;
|
|
this._workCallbackFn = null;
|
|
}}, {key: 'requestWorkTimeout', value: value_95234}]);
|
|
function BasicWorkScheduler() { // fn#95222, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12690:332, offset: 0x02135dcc, size: 149 bytes, params: 1, frame: 15
|
|
env1_3(this, BasicWorkScheduler);
|
|
this._flushTimeoutHandler = null;
|
|
this._flushIdleHandler = null;
|
|
this._nextDispatchTimeout = DISPATCHER_STANDARD_TIMEOUT_MS;
|
|
this._workCallbackFn = null;
|
|
this._consecutiveFlushesBeforeQueueEmpty = 0;
|
|
this._isBackgrounded = false;
|
|
this._enableRequestIdleCallback = true;
|
|
this._criticalWorkScheduled = false;
|
|
const WorkSchedulerTelemetry = (WorkSchedulerTelemetryModule).WorkSchedulerTelemetry;
|
|
const value3 = Object.create(WorkSchedulerTelemetry.prototype, {constructor: {value: WorkSchedulerTelemetry}});
|
|
const workSchedulerTelemetry = new WorkSchedulerTelemetry();
|
|
this.telemetry = workSchedulerTelemetry instanceof Object ? workSchedulerTelemetry : value3;
|
|
this._logger = env1_9;
|
|
}
|
|
|
|
function value_95223(a0) { // fn#95223, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12690:739, offset: 0x02135e61, size: 107 bytes, params: 2, frame: 14
|
|
var telemetry;
|
|
var track;
|
|
var value;
|
|
if (this._isBackgrounded !== a0) {
|
|
this._isBackgrounded = a0;
|
|
if (this._isBackgrounded && this.hasWorkScheduled) {
|
|
telemetry = this.telemetry;
|
|
track = telemetry.track;
|
|
value = environment.__proto__;
|
|
Reflect.apply(track, telemetry,
|
|
[(require(12501) /* metro dependency 12501: WorkSchedulerTelemetry */).WorkSchedulerTelemetryEvent.SKIP_IDLE_CALLBACK_DUE_TO_BACKGROUNDED]);
|
|
this._processWorkCallback();
|
|
}
|
|
}
|
|
}
|
|
|
|
function value_95227(a0) { // fn#95227, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12690:1279, offset: 0x02135f06, size: 417 bytes, params: 2, frame: 19
|
|
var value;
|
|
var _consecutiveFlushesBeforeQueueEmpty;
|
|
var telemetry;
|
|
const WorkSchedulerTelemetryMeasurement = (require(12501) /* metro dependency 12501: WorkSchedulerTelemetry */).WorkSchedulerTelemetryMeasurement;
|
|
if (this._workCallbackFn != null) {
|
|
if (this._hasExceededMaxConsecutiveFlushes) {
|
|
value = environment.__proto__;
|
|
env1_9.log('Unable to fully flush work queue after max retries, skipping future deadline.');
|
|
this._workCallbackFn();
|
|
this.clearWorkTimeout();
|
|
telemetry = this.telemetry;
|
|
telemetry.measure(WorkSchedulerTelemetryMeasurement.COUNT_FLUSH_BEFORE_QUEUE_EMPTY,
|
|
this._consecutiveFlushesBeforeQueueEmpty);
|
|
telemetry = this.telemetry;
|
|
telemetry.track((require(12501) /* metro dependency 12501: WorkSchedulerTelemetry */).WorkSchedulerTelemetryEvent.EXCEEDED_MAX_CONSECUTIVE_FLUSHES);
|
|
this._consecutiveFlushesBeforeQueueEmpty = 0;
|
|
this._nextDispatchTimeout = DISPATCHER_LONG_TIMEOUT_MS;
|
|
return undefined;
|
|
}
|
|
var performance = global.performance;
|
|
value = performance.now();
|
|
var value2 = this._workCallbackFn(a0);
|
|
performance = global.performance;
|
|
var value3 = performance.now();
|
|
this.clearWorkTimeout();
|
|
value = value3 - value;
|
|
this._nextDispatchTimeout = value > DISPATCHER_IDEAL_TIME_LIMIT_MS ? DISPATCHER_LONG_TIMEOUT_MS : DISPATCHER_STANDARD_TIMEOUT_MS;
|
|
_consecutiveFlushesBeforeQueueEmpty = this._consecutiveFlushesBeforeQueueEmpty;
|
|
if (value2) {
|
|
if (_consecutiveFlushesBeforeQueueEmpty > 0) {
|
|
telemetry = this.telemetry;
|
|
telemetry.measure(WorkSchedulerTelemetryMeasurement.COUNT_FLUSH_BEFORE_QUEUE_EMPTY,
|
|
global.parseInt('' + this._consecutiveFlushesBeforeQueueEmpty));
|
|
}
|
|
this._consecutiveFlushesBeforeQueueEmpty = 0;
|
|
this._criticalWorkScheduled = false;
|
|
} else {
|
|
this._consecutiveFlushesBeforeQueueEmpty = _consecutiveFlushesBeforeQueueEmpty + 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
function value_95234(a0) { // fn#95234, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12690:3132, offset: 0x02136188, size: 202 bytes, params: 2, frame: 19
|
|
var environment;
|
|
var telemetry;
|
|
var time;
|
|
let value = a1;
|
|
const r3 = value !== undefined ? value : false;
|
|
this._workCallbackFn = a0;
|
|
if (!this.hasWorkScheduled) {
|
|
telemetry = this.telemetry;
|
|
time = telemetry.time;
|
|
value = environment.__proto__;
|
|
Reflect.apply(time, telemetry,
|
|
[(require(12501) /* metro dependency 12501: WorkSchedulerTelemetry */).WorkSchedulerTelemetryTiming.TIME_TO_QUEUE_EMPTY]);
|
|
if (this._nextDispatchTimeout === DISPATCHER_LONG_TIMEOUT_MS) {
|
|
telemetry = this.telemetry;
|
|
telemetry.track((require(12501) /* metro dependency 12501: WorkSchedulerTelemetry */).WorkSchedulerTelemetryEvent.LONGER_DISPATCH);
|
|
}
|
|
if (r3) {
|
|
this._queueIdleCallback();
|
|
} else {
|
|
this._flushTimeoutHandler = global.setTimeout(_fun95235, this._nextDispatchTimeout);
|
|
}
|
|
}
|
|
function _fun95235() { // fn#95235, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12690:3445, offset: 0x02136252, size: 141 bytes, params: 1, frame: 16
|
|
var telemetry;
|
|
const defaultImport = Module00044;
|
|
let binding = env0_0;
|
|
defaultImport(binding._workCallbackFn != null, 'Work callback should be set');
|
|
const _isBackgrounded = binding._isBackgrounded;
|
|
binding = env0_0;
|
|
if (_isBackgrounded) {
|
|
telemetry = binding.telemetry;
|
|
telemetry.track((require(12501) /* metro dependency 12501: WorkSchedulerTelemetry */).WorkSchedulerTelemetryEvent.SKIP_IDLE_CALLBACK_DUE_TO_BACKGROUNDED);
|
|
return binding._processWorkCallback();
|
|
}
|
|
binding._queueIdleCallback();
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
global.__d(_fun95220, 12500, [6, 7, 12498, 3, 12501, 44,
|
|
2]) /* metro module 12500, dependencies: [6, 7, 12498, 3, 12501, 44, 2] */;
|