/* Metro module 6586; source: stores/FrecencyStore.tsx; dependencies: [6, 7, 15, 17, 18, 1348, 1379, 1867, 1934, 3969, 661, 670, 4393, 22, 566, 694, 2] */ function _fun51828(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#51828, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6764:6, offset: 0x012e5944, size: 546 bytes, params: 8, frame: 22 const closure = CHANNEL_SELECT_51832; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_2 = importDefault(6) /* metro dependency 6 */; const env0_3 = importDefault(7) /* metro dependency 7 */; const env0_4 = importDefault(15) /* metro dependency 15 */; const env0_5 = importDefault(17) /* metro dependency 17 */; const env0_6 = importDefault(18) /* metro dependency 18 */; const userSettingsProtoStore = importDefault(1348) /* metro dependency 1348: UserSettingsProtoStore */; const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */; const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */; const selectedChannelStore = importDefault(1934) /* metro dependency 1934: SelectedChannelStore */; const selectedGuildStore = importDefault(3969) /* metro dependency 3969: SelectedGuildStore */; const env0_12 = (require(661) /* metro dependency 661: Constants */).ID_REGEX; const env0_13 = (require(670) /* metro dependency 670: UserSettingsConstants */).UserSettingsTypes; let value = importDefault(4393) /* metro dependency 4393: Frecency */; value = new value({computeBonus: function() { return 100; }, computeWeight: function(a0) { return a0 === 0 ? 100 : a0 >= 1 && a0 < 2 ? 70 : a0 >= 2 && a0 < 4 ? 50 : a0 >= 4 && a0 < 7 ? 30 : a0 >= 7 ? 10 : 1; }, lookupKey: lookupKey_51838, afterCompute: function() { }, numFrequentlyItems: 100, maxSamples: 10}); object = {pendingUsages: []}; const PersistedStore = (importDefault(566) /* metro dependency 566: flux */).PersistedStore; value = _fun51840(PersistedStore); value.displayName = 'FrecencyStore'; value.persistKey = 'FrecencyStore'; value = new value(importDefault(694) /* metro dependency 694: Dispatcher */, {CHANNEL_SELECT: closure, VOICE_CHANNEL_SELECT: closure, USER_SETTINGS_PROTO_UPDATE: USER_SETTINGS_PROTO_UPDATE_51853}); (require(2) /* metro dependency 2 */).fileFinishedImporting('stores/FrecencyStore.tsx'); exports.default = value; exports.MAX_NUM_SELECTED_ITEMS = 100; } function _isNativeReflectConstruct_51829() { // fn#51829, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6764:247, offset: 0x012e5b66, size: 94 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_51829_isNativeReflectConstruct = function() { return !!result; })(); } function CHANNEL_SELECT_51832({guildId, channelId}) { // fn#51832, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6764:780, offset: 0x012e5bc4, size: 259 bytes, params: 2, frame: 17 var r4; var r0; var r1; var value3; var pendingUsages; var push; var object2; var value7; if (channelId === env0_15) { r1 = false; } else { value3 = null; r4 = value3 != channelId ? channelId : value3; if (value3 != channelId && ID_REGEX.test(channelId)) { env0_14.track(channelId); pendingUsages = env0_17.pendingUsages; push = pendingUsages.push; object2 = {key: channelId}; object2.timestamp = global.Date.now(); Reflect.apply(push, pendingUsages, [object2]); r0 = true; } else { r0 = false; } r1 = r0; } if (guildId === env0_16) { r0 = r1; } else { value7 = null; r4 = value7 != guildId ? guildId : value7; if (value7 != guildId && ID_REGEX.test(guildId)) { env0_14.track(guildId); pendingUsages = env0_17.pendingUsages; push = pendingUsages.push; object2 = {key: guildId}; object2.timestamp = global.Date.now(); Reflect.apply(push, pendingUsages, [object2]); r1 = true; } r0 = r1; } return r0; } function initFrecency() { // fn#51833, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6764:1082, offset: 0x012e5cc7, size: 113 bytes, params: 1, frame: 17 const guildAndChannelFrecency = UserSettingsProtoStore.frecencyWithoutFetchingLatest.guildAndChannelFrecency; const value2 = undefined; const guildAndChannels = guildAndChannelFrecency == null ? value2 : guildAndChannelFrecency.guildAndChannels; if (guildAndChannels == null) { return false; } const binding = env0_14; binding.overwriteHistory((importDefault(22) /* metro dependency 22 */).mapValues(guildAndChannels, function(a0) { var r3; var object = {}; copyDataProperties(object, a0, r3); var value = a0.recentUses.map(global.Number); value = value.filter(_fun51835); object['recentUses'] = value; return object; }), env0_17.pendingUsages); return value2; } function lookupKey_51838(a0) { // fn#51838, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6764:598, offset: 0x012e5dd5, size: 72 bytes, params: 2, frame: 14 let r0 = GuildStore.getGuild(a0) ?? ChannelStore.getChannel(a0); r0 = r0 ?? ChannelStore.getChannel(ChannelStore.getDMFromUserId(a0)); return r0; } function _fun51840(a0) { // fn#51840, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6764:1378, offset: 0x012e5e1d, size: 281 bytes, params: 2, frame: 16 const closure = FrecencyStore; env0_6(closure, a0); return env0_3(closure, [{key: 'initialize', value: function(a0) { this.waitFor(ChannelStore, GuildStore, SelectedChannelStore, SelectedGuildStore, UserSettingsProtoStore); if (a0 != null) { a0.pendingUsages = a0.pendingUsages.filter(_fun51843); env1_17 = a0; } this.syncWith([UserSettingsProtoStore], initFrecency); }}, {key: 'getState', value: value_51844}, {key: 'hasPendingUsage', value: value_51845}, {key: 'frecencyWithoutFetchingLatest', get: get_51846}, {key: 'getFrequentlyWithoutFetchingLatest', value: value_51847}, {key: 'getScoreWithoutFetchingLatest', value: value_51848}, {key: 'getScoreForDMWithoutFetchingLatest', value: value_51849}, {key: 'getMaxScore', value: function() { return 1000; }}, {key: 'getBonusScore', value: function() { return 100; }}, {key: 'getVersion', value: value_51852}]); } function USER_SETTINGS_PROTO_UPDATE_51853({settings, wasSaved}) { // fn#51853, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6764:2699, offset: 0x012e6062, size: 67 bytes, params: 2, frame: 4 var r0; const type = settings.type; const FRECENCY_AND_FAVORITES_SETTINGS = UserSettingsTypes.FRECENCY_AND_FAVORITES_SETTINGS; const r2 = type !== FRECENCY_AND_FAVORITES_SETTINGS || !wasSaved; if (r2) { r0 = !r2; } else { env0_17.pendingUsages = []; r0 = true; } return r0; } function _fun51834(a0) { // fn#51834, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6764:1267, offset: 0x012e5d38, size: 67 bytes, params: 2, frame: 13 const object2 = {}; copyDataProperties(object2, a0, undefined); const recentUses = a0.recentUses; const map = recentUses.map; const Number = global.Number; let value = Reflect.apply(map, recentUses, [Number]); value = value.filter(function(a0) { return a0 > 0; }); object2['recentUses'] = value; return object2; } function value_51842(a0) { // fn#51842, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6764:1673, offset: 0x012e5f36, size: 113 bytes, params: 2, frame: 21 var pendingUsages; this.waitFor(ChannelStore, GuildStore, SelectedChannelStore, SelectedGuildStore, UserSettingsProtoStore); if (a0 != null) { pendingUsages = a0.pendingUsages; a0.pendingUsages = pendingUsages.filter(_fun51843); env1_17 = a0; } this.syncWith([UserSettingsProtoStore], initFrecency); } function value_51845() { // fn#51845, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6764:1899, offset: 0x012e5fcb, size: 26 bytes, params: 1, frame: 2 return env1_17.pendingUsages.length > 0; } function value_51847() { // fn#51847, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6764:2055, offset: 0x012e5fe5, size: 15 bytes, params: 1, frame: 1 return env1_14.frequently; } function value_51848(a0) { // fn#51848, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6764:2131, offset: 0x012e5ff4, size: 39 bytes, params: 2, frame: 11 const value = environment.__proto__; return env1_14.getFrecency(a0) ?? 0; } function value_51849(a0) { // fn#51849, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6764:2237, offset: 0x012e601b, size: 48 bytes, params: 2, frame: 12 var r0; let value = environment.__proto__; value = ChannelStore.getDMFromUserId(a0); if (value != null) { value = this.getScoreWithoutFetchingLatest(value); r0 = value; } else { r0 = 0; } return r0; } function value_51852() { // fn#51852, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6764:2457, offset: 0x012e6053, size: 15 bytes, params: 1, frame: 1 return env1_14.version; } function _fun51843(a0) { // fn#51843, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6764:1759, offset: 0x012e5fa7, size: 36 bytes, params: 2, frame: 12 var r0; let value = a0 != null; if (value) { value = environment.__proto__.__proto__; value = ID_REGEX.test(a0.key); r0 = value; } else { r0 = value; } return r0; }