/* Metro module 6392; source: unknown; dependencies: [6386, 6374, 6375, 6393] */ function _fun50101(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#50101, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:6, offset: 0x0121157d, size: 117 bytes, params: 8, frame: 18 const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_2 = importDefault(6386) /* metro dependency 6386 */; const env0_3 = importDefault(6374) /* metro dependency 6374 */; const env0_4 = importDefault(6375) /* metro dependency 6375 */; exports.default = _fun50102(); } function _fun50102() { // fn#50102, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:128, offset: 0x012115f2, size: 55 bytes, params: 1, frame: 14 return env0_4(ViewabilityManager, [{key: 'shouldListenToVisibleIndices', get: function() { return this.viewabilityHelpers.length > 0; }}]); } function ViewabilityManager(a0) { // fn#50103, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:149, offset: 0x01211629, size: 246 bytes, params: 2, frame: 19 var environment; var viewabilityHelpers; var createViewabilityHelper; const env0_0 = a0; const value = environment.__proto__; env1_3(this, ViewabilityManager); this.viewabilityHelpers = []; this.hasInteracted = false; this.dispose = dispose_50104; this.onVisibleIndicesChanged = onVisibleIndicesChanged_50106; this.recordInteraction = recordInteraction_50107; this.updateViewableItems = updateViewableItems; this.recomputeViewableItems = recomputeViewableItems_50112; this.createViewabilityHelper = createViewabilityHelper; this.rvManager = a0; if (a0.props.onViewableItemsChanged !== null && a0.props.onViewableItemsChanged !== undefined) { viewabilityHelpers = this.viewabilityHelpers; viewabilityHelpers.push(this.createViewabilityHelper(a0.props.viewabilityConfig, _fun50120)); } (a0.props.viewabilityConfigCallbackPairs ?? []).forEach(_fun50121); } function ViewabilityManagerDispose() { // fn#50104, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:282, owner: ViewabilityManager.dispose, offset: 0x0121171f, size: 34 bytes, params: 1, frame: 11 env0_1.viewabilityHelpers.forEach(function(a0) { return a0.dispose(); }); } function ViewabilityManagerOnVisibleIndicesChanged(a0) { // fn#50106, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:387, owner: ViewabilityManager.onVisibleIndicesChanged, offset: 0x01211750, size: 25 bytes, params: 2, frame: 11 env0_1.updateViewableItems(a0); } function ViewabilityManagerRecordInteraction() { // fn#50107, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:448, owner: ViewabilityManager.recordInteraction, offset: 0x01211769, size: 65 bytes, params: 1, frame: 12 var binding; if (!env0_1.hasInteracted) { binding = env0_1; binding.hasInteracted = true; binding.viewabilityHelpers.forEach(function(a0) { a0.hasInteracted = true; }); binding.updateViewableItems(); } } function ViewabilityManagerUpdateViewableItems(a0) { // fn#50109, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:611, owner: ViewabilityManager.updateViewableItems, offset: 0x012117b9, size: 136 bytes, params: 2, frame: 14 var r4; var binding; const env0_0 = a0; let rvManager = env0_1.rvManager; const windowSize = rvManager.getWindowSize(); var env0_1 = windowSize; if (windowSize !== undefined) { if (env0_1.shouldListenToVisibleIndices) { rvManager = env0_1.rvManager; r4 = rvManager.getAbsoluteLastScrollOffset() ?? 0; binding = env0_1; rvManager = binding.rvManager; var env0_2 = r4 - rvManager.firstItemOffset; binding.viewabilityHelpers.forEach(_fun50110); } } } function ViewabilityManagerRecomputeViewableItems() { // fn#50112, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:997, owner: ViewabilityManager.recomputeViewableItems, offset: 0x012118af, size: 44 bytes, params: 1, frame: 12 const binding = env0_1; binding.viewabilityHelpers.forEach(function(a0) { return a0.clearLastReportedViewableIndices(); }); binding.updateViewableItems(); } function ViewabilityManagerCreateViewabilityHelper(a0, a1) { // fn#50114, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:1151, owner: ViewabilityManager.createViewabilityHelper, offset: 0x012118ea, size: 73 bytes, params: 3, frame: 13 var environment; const env0_0 = a1; let value = environment.__proto__.__proto__; value = importDefault(6393) /* metro dependency 6393 */; const value2 = Object.create(value.prototype, {constructor: {value: value}}); value = new value(a0, _fun50116); return value instanceof Object ? value : value2; } function _fun50120(a0) { // fn#50120, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:1786, offset: 0x01211a70, size: 51 bytes, params: 2, frame: 11 if (env0_0.props.onViewableItemsChanged != null) { env0_0.props.onViewableItemsChanged(a0); } } function _fun50121({viewabilityConfig}, a1) { // fn#50121, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:1939, offset: 0x01211aa3, size: 62 bytes, params: 3, frame: 15 const env0_0 = a1; const binding = env0_1; const viewabilityHelpers = binding.viewabilityHelpers; viewabilityHelpers.push(binding.createViewabilityHelper(viewabilityConfig, _fun50122)); } function _fun50110(a0) { // fn#50110, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:828, offset: 0x01211841, size: 81 bytes, params: 2, frame: 19 var environment; const updateViewableItems = a0.updateViewableItems; const value = environment.__proto__; const horizontal = env1_1.rvManager.props.horizontal; Reflect.apply(updateViewableItems, a0, [horizontal != null && horizontal, env0_2, env0_1, _fun50111, env0_0]); } function createViewabilityHelperMapViewToken(a0, a1) { // fn#50115, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:1171, owner: ViewabilityManager.createViewabilityHelper.mapViewToken, offset: 0x01211933, size: 145 bytes, params: 3, frame: 14 const value = environment.__proto__; const property = env1_1.rvManager.props.data[a0]; const object2 = {index: a0, isViewable: a1, item: property, key: property === undefined || env1_1.rvManager.props.keyExtractor === undefined ? a0.toString() : env1_1.rvManager.props.keyExtractor(property, a0)}; const Date = global.Date; object2.timestamp = Date.now(); return object2; } function _fun50116(a0, a1, a2) { // fn#50116, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:1420, offset: 0x012119c4, size: 128 bytes, params: 4, frame: 19 var environment; var object2; var items2; var concat; var binding; var value; if (require != null) { object2 = {}; object2.viewableItems = a0.map(function(a0) { return createViewabilityHelperMapViewToken(a0, true); }); items2 = []; concat = items2.concat; value = environment.__proto__.__proto__.__proto__; binding = env3_2; value = a1.map(_fun50118); value = binding(value); object2.changed = Reflect.apply(concat, items2, [value, binding(a2.map(_fun50119))]); require(object2); } } function _fun50122(a0) { // fn#50122, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:2026, offset: 0x01211ae1, size: 71 bytes, params: 2, frame: 13 let value = environment.__proto__; const viewabilityConfigCallbackPairs = env1_0.props.viewabilityConfigCallbackPairs; value = undefined; const onViewableItemsChanged = viewabilityConfigCallbackPairs == null || viewabilityConfigCallbackPairs[require] == null ? value : viewabilityConfigCallbackPairs[require].onViewableItemsChanged; if (onViewableItemsChanged != null) { onViewableItemsChanged(a0); } return value; } function _fun50111(a0) { // fn#50111, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6570:915, offset: 0x01211892, size: 29 bytes, params: 2, frame: 11 return env2_1.rvManager.getLayout(a0); }