/* Metro module 1048; source: unknown; dependencies: [1047, 1049, 1050] */ function _fun11086(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#11086, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1175:6, offset: 0x00da0931, size: 127 bytes, params: 8, frame: 18 const env0_0 = require; const Object = global.Object; const defineProperty = Object.defineProperty; const Symbol = global.Symbol; Reflect.apply(defineProperty, Object, [exports, Symbol.toStringTag, {value: 'Module'}]); const Set = global.Set; const set = new Set(); exports.getVisibilityWatcher = getVisibilityWatcher; function onVisibilityUpdate(a0) { // fn#11087, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1175:114, offset: 0x00da09b0, size: 258 bytes, params: 2, frame: 18 var visibilityState; var r0; var r3; var timeStamp; var type; var value; var WINDOW; var document; var iterator; var iterator2; var item; var item2; var error; var isFinite; var value2; var moduleValue; var removePageListener; exceptionSkip11: while (true) { exceptionLanding11: while (true) { type = a0.type; value = type === 'pagehide'; reducibleJoin4: while (true) { if (value) { r0 = value; break reducibleJoin4; } value = environment; value = undefined; WINDOW = (require(1047) /* metro dependency 1047 */).WINDOW; document = WINDOW.document; reducibleJoin3: while (true) { if (document == null) { visibilityState = value; break reducibleJoin3; } visibilityState = document.visibilityState; break reducibleJoin3; } value = visibilityState === 'hidden'; r0 = value; break reducibleJoin4; } reducibleJoin16: while (true) { if (r0) { value = environment; if (timeStamp2 > -1) { type = a0.type; if (type === 'visibilitychange') { iterator = env0_3[Symbol.iterator](); iterator2 = iterator.next; r3 = iterator; reducibleLoop9: while (true) { item2 = Reflect.apply(iterator2, r3, []); item = item2.value; item2 = item2.done ? undefined : r3; if (item2 === undefined) { break reducibleLoop9; } try { item(); } catch (error) { break exceptionLanding11; } r3 = item2; continue reducibleLoop9; } } else { reducibleJoin12: while (true) { if (a0.type !== 'pagehide') { break reducibleJoin12; } iterator = env0_3[Symbol.iterator](); iterator2 = iterator.next; r3 = iterator; reducibleLoop9: while (true) { item2 = Reflect.apply(iterator2, r3, []); item = item2.value; item2 = item2.done ? undefined : r3; if (item2 === undefined) { break reducibleJoin12; } try { item(); } catch (error) { break exceptionLanding11; } r3 = item2; continue reducibleLoop9; } } } isFinite = global.isFinite; if (isFinite(timeStamp2)) { break reducibleJoin16; } type = a0.type; value2 = 0; reducibleJoin15: while (true) { if (type !== 'visibilitychange') { timeStamp = value2; break reducibleJoin15; } timeStamp = a0.timeStamp; break reducibleJoin15; } timeStamp2 = timeStamp; moduleValue = require(1049) /* metro dependency 1049 */; removePageListener = moduleValue.removePageListener; Reflect.apply(removePageListener, moduleValue, ['prerenderingchange', onVisibilityUpdate, true]); break reducibleJoin16; } break reducibleJoin16; } break reducibleJoin16; } return undefined; break exceptionSkip11; } try { item2.return(); } catch { } throw error; break exceptionSkip11; } } function getVisibilityWatcher() { // fn#11088, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1175:499, offset: 0x00da0ab2, size: 442 bytes, params: 1, frame: 20 var startTime; var r2; var entriesByType; var property; var moduleValue2; var addPageListener; var onVisibilityUpdateBinding; var value; const value2 = 0; const value3 = undefined; const WINDOW = require(dependencyMap[value2]).WINDOW; let document = WINDOW.document; if (document) { if (env0_2 < value2) { var env0_0 = (require(1050) /* metro dependency 1050 */).getActivationStart(); document = require(dependencyMap[value2]).WINDOW.document; if (document.prerendering) { startTime = value3; } else { entriesByType = global.globalThis.performance.getEntriesByType('visibility-state'); property = entriesByType.filter(_fun11089)[value2]; startTime = property == null ? value3 : property.startTime; } if (startTime == null) { document = require(dependencyMap[value2]).WINDOW.document; if ((document == null ? value3 : document.visibilityState) === 'hidden') { document = require(dependencyMap[value2]).WINDOW.document; r2 = document != null && document.prerendering ? Infinity : value2; } } moduleValue2 = require(1049) /* metro dependency 1049 */; addPageListener = moduleValue2.addPageListener; onVisibilityUpdateBinding = onVisibilityUpdate; Reflect.apply(addPageListener, moduleValue2, ['visibilitychange', onVisibilityUpdateBinding, true]); value = require(1049) /* metro dependency 1049 */; value.addPageListener('pagehide', onVisibilityUpdateBinding, true); value = require(1049) /* metro dependency 1049 */; value.addPageListener('prerenderingchange', onVisibilityUpdateBinding, true); } } const object = {}; Object.defineProperty(object, 'firstHiddenTime', {get: _fun11090, set: value3, enumerable: true, configurable: true}); object.onHidden = onHidden_11091; return object; function _fun11089(a0) { // fn#11089, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1175:718, offset: 0x00da0c6c, size: 38 bytes, params: 2, frame: 3 return a0.name === 'hidden' && a0.startTime > env0_0; } function _fun11090() { // fn#11090, offset: 0x00da0c92, size: 9 bytes, params: 1, frame: 1 return env1_2; } function getVisibilityWatcherOnHidden(a0) { // fn#11091, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1175:1168, owner: getVisibilityWatcher.onHidden, offset: 0x00da0c9b, size: 24 bytes, params: 2, frame: 11 env1_3.add(a0); } } } global.__d(_fun11086, 1048, [1047, 1049, 1050]) /* metro module 1048, dependencies: [1047, 1049, 1050] */;