/* Metro module 12594; source: stores/NowPlayingStore.tsx; dependencies: [6, 7, 15, 17, 18, 5221, 4396, 1878, 661, 12595, 566, 694, 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 PossibleConstructorReturn from '../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */ import Module00017 from '../by-id/module-00017.js'; /* Metro dependency 17 */ import Inherits from '../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */ import Flux from '../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import UserStore from './UserStore.tsx'; /* Metro dependency 1878 */ import PresenceStore from './PresenceStore.tsx'; /* Metro dependency 4396 */ import UserAffinitiesV2Store from '../modules/user_affinities/UserAffinitiesV2Store.tsx'; /* Metro dependency 5221 */ import GetApplicationIdForActivity from '../modules/now_playing/getApplicationIdForActivity.tsx'; /* Metro dependency 12595 */ import * as FileImportTrackerModule from '../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ConstantsModule from '../Constants.tsx'; /* Metro dependency 661 */ function _fun96527(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#96527, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:6, offset: 0x0215ffa2, size: 453 bytes, params: 8, frame: 19 const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let env0_12 = {}; let env0_13 = {}; const Store = (Flux).Store; let value = _fun96541(Store); value.displayName = 'NowPlayingStore'; value = new value(importDefault(694) /* metro dependency 694: Dispatcher */, {CONNECTION_OPEN: function() { env0_12 = {}; env0_13 = {}; }, CONNECTION_OPEN_SUPPLEMENTAL: CONNECTION_OPEN_SUPPLEMENTAL_96550, LOGOUT: function() { env0_12 = {}; env0_13 = {}; }, PRESENCE_UPDATES: function({updates}) { return updates.map(_fun96554).some(_fun96555); }, PRESENCES_REPLACE: function({presences}) { return handleMultipleUpdates(presences); }}); (FileImportTrackerModule).fileFinishedImporting('stores/NowPlayingStore.tsx'); exports.default = value; function _isNativeReflectConstruct_96528() { // fn#96528, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:202, offset: 0x02160167, size: 98 bytes, params: 1, frame: 18 var Boolean; var prototype; var valueOf; var call; var Reflect; var construct; var closure; var value; var error; try { Boolean = global.Boolean; prototype = Boolean.prototype; valueOf = prototype.valueOf; call = valueOf.call; Reflect = global.Reflect; construct = Reflect.construct; Boolean = global.Boolean; closure = function() { }; value = Reflect.apply(construct, Reflect, [Boolean, [], closure]); value = Reflect.apply(call, valueOf, [value]); var result = !value; } catch (error) { } return (_isNativeReflectConstruct_96528_isNativeReflectConstruct = function() { return !!result; })(); } function handleMultipleUpdates(a0) { // fn#96531, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:414, offset: 0x021601c9, size: 34 bytes, params: 2, frame: 12 const env0_0 = false; a0.forEach(_fun96532); return env0_0; function _fun96532(a0) { // fn#96532, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:475, offset: 0x021601eb, size: 42 bytes, params: 2, frame: 11 let value = environment.__proto__; value = _handlePresenceUpdate(a0); value = value !== false; const r2 = value || env0_0; } } function removeUserIfNeeded(a0) { // fn#96533, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:519, offset: 0x02160215, size: 137 bytes, params: 2, frame: 15 var object3; var r5; var object; var Object; const property = env0_13[a0]; if (property == null) { return false; } const gameId = property.gameId; if (object3[gameId] != null) { object = {}; copyDataProperties(object, object3, r5); object3 = object; delete object[gameId][a0]; Object = global.Object; if (Object.values(object[gameId]).length !== 0) { r5 = Object; } else { delete object3[gameId]; r5 = Object; } } object = {}; copyDataProperties(object, env0_13, r5); delete object[a0]; return true; } function _handlePresenceUpdate({user, activities}) { // fn#96534, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:707, offset: 0x0216029e, size: 112 bytes, params: 2, frame: 14 var environment; if (user != null) { var value = activities.filter(function({type}) { return type !== ActivityTypes.CUSTOM_STATUS; }); if (value.length === 0) { value = environment; return removeUserIfNeeded(user.id); } value.forEach(function(a0) { if (_fun96537(a0, user)) { env0_1 = true; } }); } return false; function _fun96536(a0) { // fn#96536, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:902, offset: 0x02160329, size: 38 bytes, params: 2, frame: 14 if (_handleActivityUpdate(a0, user)) { } function _handleActivityUpdate(a0, a1) { // fn#96537, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:907, offset: 0x0216034f, size: 268 bytes, params: 3, frame: 18 const value2 = undefined; const value3 = (GetApplicationIdForActivity)(a0); if (value3 == null) { return removeUserIfNeeded(a1.id); } const property = env2_13[a1.id]; let r3 = property != null && property.gameId !== value3; if (r3) { removeUserIfNeeded(a1.id); } const timestamps = a0.timestamps; const value6 = timestamps == null; r3 = (value6 ? value2 : timestamps.start) ?? global.Date.now(); const object = {}; object.userId = a1.id; object.activity = a0; object.startedPlaying = r3; const object2 = {}; copyDataProperties(object2, env2_12, value6); const object3 = {}; copyDataProperties(object3, env2_12[value3], value6); let userId = object.userId; object3[userId] = object; object2[value3] = object3; const object4 = {}; copyDataProperties(object4, env2_13, value6); userId = object.userId; object4[userId] = {gameId: value3, startedPlaying: object.startedPlaying}; return true; } } } function handleUserAffinitiesV2StoreUpdate() { // fn#96538, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:1343, offset: 0x0216045b, size: 67 bytes, params: 1, frame: 11 let userAffinitiesV2StoreBinding = UserAffinitiesV2Store; const r0 = !(userAffinitiesV2StoreBinding.shouldFetch() || result) && refreshStateFromPresence(); userAffinitiesV2StoreBinding = UserAffinitiesV2Store; result = !userAffinitiesV2StoreBinding.shouldFetch(); return r0; function refreshStateFromPresence() { // fn#96539, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:1427, owner: handleUserAffinitiesV2StoreUpdate.refreshStateFromPresence, offset: 0x0216049e, size: 60 bytes, params: 1, frame: 12 var environment; const value = environment.__proto__; env1_12 = {}; env1_13 = {}; const env0_0 = false; PresenceStore.getUserIds().forEach(_fun96540); return env0_0; function _fun96540(a0) { // fn#96540, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:1513, offset: 0x021604da, size: 85 bytes, params: 2, frame: 13 var r1; var _handlePresenceUpdateBinding; var object; const value = environment.__proto__.__proto__; const user = UserStore.getUser(a0); if (user != null) { _handlePresenceUpdateBinding = _handlePresenceUpdate; object = {user: user}; object.activities = PresenceStore.getActivities(a0); r1 = _handlePresenceUpdateBinding(object) || env0_0; } } } } function _fun96541(a0) { // fn#96541, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:1650, offset: 0x0216052f, size: 203 bytes, params: 2, frame: 16 const NowPlayingStore2 = NowPlayingStore; Inherits(NowPlayingStore2, a0); return CreateClass(NowPlayingStore2, [{key: 'initialize', value: function() { this.waitFor(PresenceStore, UserAffinitiesV2Store, UserStore); this.syncWith([UserAffinitiesV2Store], handleUserAffinitiesV2StoreUpdate); }}, {key: 'games', get: get_96544}, {key: 'usersPlaying', get: get_96545}, {key: 'gameIds', get: get_96546}, {key: 'getNowPlaying', value: value_96547}, {key: 'getUserGame', value: value_96548}]); function NowPlayingStore() { // fn#96542, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:1662, offset: 0x0118e06f, size: 113 bytes, params: 1, frame: 20 const value = environment.__proto__; env1_2(this, NowPlayingStore); const value3 = env1_5(NowPlayingStore); return env1_4(this, _isNativeReflectConstruct_96528() ? global.Reflect.construct(value3, arguments, env1_5(this).constructor) : value3.apply(this, arguments)); } function get_96544() { // fn#96544, offset: 0x00e2f9de, size: 9 bytes, params: 1, frame: 1 return env1_12; } function get_96545() { // fn#96545, offset: 0x00e2f9d5, size: 9 bytes, params: 1, frame: 1 return env1_13; } function get_96546() { // fn#96546, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:2145, offset: 0x02160639, size: 27 bytes, params: 1, frame: 11 const Object = global.Object; return Object.keys(env1_12); } function value_96547(a0) { // fn#96547, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:2207, offset: 0x00f8559b, size: 16 bytes, params: 2, frame: 2 return env1_12[a0]; } function value_96548(a0) { // fn#96548, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:2258, offset: 0x00ef2251, size: 16 bytes, params: 2, frame: 2 return env1_13[a0]; } } function CONNECTION_OPEN_SUPPLEMENTAL_96550({guilds, presences}) { // fn#96550, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:2445, offset: 0x02160654, size: 69 bytes, params: 2, frame: 13 let env0_0 = false; guilds.forEach(_fun96551); env0_0 = handleMultipleUpdates(presences) || env0_0; return env0_0; function _fun96551({presences}) { // fn#96551, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:2538, offset: 0x02160699, size: 37 bytes, params: 2, frame: 11 if (handleMultipleUpdates(presences)) { } } } function PRESENCE_UPDATES_96553({updates}) { // fn#96553, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:2683, offset: 0x021606be, size: 48 bytes, params: 2, frame: 12 return updates.map(function(a0) { return _handlePresenceUpdate(a0); }).some(function(a0) { return a0; }); function _fun96554(a0) { // fn#96554, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12784:2741, offset: 0x021606ee, size: 19 bytes, params: 2, frame: 11 return _handlePresenceUpdate(a0); } } } function _fun96555(a0) { // fn#96555, offset: 0x00c37049, size: 5 bytes, params: 2, frame: 1 return a0; } global.__d(_fun96527, 12594, [6, 7, 15, 17, 18, 5221, 4396, 1878, 661, 12595, 566, 694, 2]) /* metro module 12594, dependencies: [6, 7, 15, 17, 18, 5221, 4396, 1878, 661, 12595, 566, 694, 2] */;