/* Metro module 6584; source: modules/stickers/GuildStickersStore.tsx; dependencies: [57, 6, 7, 15, 17, 18, 1420, 1868, 1867, 4785, 3797, 1870, 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 Module00057 from '../../by-id/module-00057.js'; /* Metro dependency 57 */ import GuildStore from '../../stores/GuildStore.tsx'; /* Metro dependency 1867 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as PlainRecordModule from '../../external/discord_common/js/packages/libdiscore/js_shim/js/PlainRecord.tsx'; /* Metro dependency 1420 */ import * as LibdiscoreStoreModule from '../libdiscore/stores/LibdiscoreStore.tsx'; /* Metro dependency 1868 */ import * as LibdiscoreExperimentsModule from '../libdiscore/libdiscoreExperiments.tsx'; /* Metro dependency 1870 */ import * as StickersTypesModule from './StickersTypes.tsx'; /* Metro dependency 4785 */ function _fun51769(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#51769, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6762:6, offset: 0x012e4255, size: 501 bytes, params: 8, frame: 19 const env0_0 = require; const _arrayLikeToArray_51775 = function(a0, a1) { var r0; var r1; var r2; var value3; var length; var value5; var value = undefined; var value2 = value == null; reducibleJoin2: while (true) { if (value2) { r0 = value2; break reducibleJoin2; } value3 = value > a0.length; r0 = value3; break reducibleJoin2; } reducibleJoin4: while (true) { if (r0) { length = a0.length; r1 = length; break reducibleJoin4; } r1 = value; break reducibleJoin4; } value = (0, global.Array)(r1); var value4 = 0; if (value4 < r1) { r2 = value4; reducibleLoop5: while (true) { value[r2] = a0[r2]; value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; if (value5 < r1) { r2 = value5; continue reducibleLoop5; } break reducibleLoop5; } } return value; }; const parseServerGuildSticker = function(a0) { return {id: a0.id, tags: a0.tags, type: a0.type, name: a0.name, description: a0.description, format_type: a0.format_type, guild_id: a0.guild_id, available: a0.available, version: a0.version, user_id: a0.user_id, [TypeTag]: 'GuildSticker'}; }; const parseServerGuildStickers = function(a0) { var r2; var value4; var id; var value5; var object = {}; var value2 = _createForOfIteratorHelperLoose_51773(a0); var value3 = value2(); if (!value3.done) { for (r2 = value3; true; r2 = value5) { value4 = r2.value; id = value4.id; object[id] = parseServerGuildSticker(value4); value5 = value2(); if (value5.done) { break; } } } return object; }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const LibdiscoreStore = (LibdiscoreStoreModule).LibdiscoreStore; let value = _fun51781(LibdiscoreStore); value.displayName = 'GuildStickersStore'; object = {LOGOUT: function(a0, a1) { return a1.clear(); }, BACKGROUND_SYNC: function(a0, a1) { return a1.clear(); }, RESET_SOCKET: function(a0, a1) { return a1.clear(); }, CONNECTION_OPEN: CONNECTION_OPEN_51791, GUILD_CREATE: function(a0, a1) { if (a0.guild.joined_at == null) { return false; } syncStickers(a0.guild.id, a0.guild.stickers, a1); }, GUILD_DELETE: function(a0, a1) { a1.removePartition(a0.guild.id); }, GUILD_STICKERS_CREATE_SUCCESS: function(a0, a1) { a1.setRecord(a0.guildId, a0.sticker.id, parseServerGuildSticker(a0.sticker)); }, GUILD_STICKER_FETCH_SUCCESS: function(a0, a1) { a1.setRecord(a0.sticker.guild_id, a0.sticker.id, parseServerGuildSticker(a0.sticker)); }, GUILD_STICKERS_UPDATE: GUILD_STICKERS_UPDATE, CACHED_STICKERS_LOADED: CACHED_STICKERS_LOADED, GUILD_STICKERS_FETCH_SUCCESS: function(a0, a1) { a1.setPartition(a0.guildId, parseServerGuildStickers(a0.stickers)); }}; const LibdiscoreBatchStoreRefactorExperiment = (LibdiscoreExperimentsModule).LibdiscoreBatchStoreRefactorExperiment; value = new value(object, LibdiscoreBatchStoreRefactorExperiment.getCachedBridgedStoreMode()); (FileImportTrackerModule).fileFinishedImporting('modules/stickers/GuildStickersStore.tsx'); exports.default = value; function _isNativeReflectConstruct_51770() { // fn#51770, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6762:217, offset: 0x012e444a, 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_51770_isNativeReflectConstruct = function() { return !!result; })(); } function _createForOfIteratorHelperLoose_51773(a0, a1) { // fn#51773, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6762:410, offset: 0x012e44a8, size: 370 bytes, params: 3, frame: 20 var r6; var r9; var r5; var value3; var regexp; const env0_0 = a0; const Symbol = global.Symbol; let value = typeof Symbol !== 'undefined'; let r1 = value && a0[global.Symbol.iterator]; r1 = !r1 ? a0['@@iterator'] : r1; if (r1) { value = r1.call(a0); return value.next.bind(value); } const Array = global.Array; if (Array.isArray(a0)) { if (r1) { } return _fun51774; } value = undefined; if (a0) { if (typeof a0 === 'string') { value = _arrayLikeToArray_51775(a0, value); r5 = value; } else { value3 = ({}).toString.call(a0).slice(8, -1); r6 = value3 === 'Object' && a0.constructor; r9 = r6 ? a0.constructor.name : value3; if (r9 === 'Map') { r6 = global.Array.from(a0); } else if (r9 === 'Set') { r6 = global.Array.from(a0); } else if (r9 === 'Arguments') { value = _arrayLikeToArray_51775(a0, value); r6 = value; } else { regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', ''); if (regexp.test(r9)) { value = _arrayLikeToArray_51775(a0, value); r6 = value; } else { r6 = value; } } r5 = r6; } } else { r5 = value; } if (r5) { if (r5) { } return _fun51774; } const TypeError = global.TypeError; throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'); function _fun51774() { // fn#51774, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6762:981, offset: 0x00c39d73, size: 69 bytes, params: 1, frame: 5 return env0_1 >= env0_0.length ? {done: true} : {done: false, value: env0_0[typeof env0_1 === 'bigint' ? env0_1 : +env0_1]}; } } function deriveStickerMetadata(a0, {tags, name}) { // fn#51778, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6762:1720, offset: 0x012e46de, size: 402 bytes, params: 3, frame: 20 var object; var guild; var value6; var byName; const items2 = []; const object2 = {}; const StickerMetadataTypes = (StickersTypesModule).StickerMetadataTypes; const STICKER_NAME = StickerMetadataTypes.STICKER_NAME; object2.type = STICKER_NAME; object2.value = name.trim().toLocaleLowerCase(); items2.push(object2); if (tags != null) { object = {}; object.type = StickerMetadataTypes.TAG; object.value = tags.trim().toLocaleLowerCase(); items2.push(object); guild = GuildStore.getGuild(a0); if (guild != null) { value6 = guild.name.trim().toLocaleLowerCase(); if (value6 != null && value6 !== '') { items2.push({type: StickerMetadataTypes.GUILD_NAME, value: value6}); } } byName = (importDefault(3797) /* metro dependency 3797: UnicodeEmojis */).getByName(tags); if (byName != null) { items2.push({type: StickerMetadataTypes.CORRELATED_EMOJI, value: byName.surrogates}); byName.forEachDiversity(_fun51779); } } return items2; function _fun51779({surrogates}) { // fn#51779, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6762:2272, offset: 0x012e4870, size: 74 bytes, params: 2, frame: 14 const binding = env0_0; const push = binding.push; const StickerMetadataTypes = (StickersTypesModule).StickerMetadataTypes; const CORRELATED_EMOJI = StickerMetadataTypes.CORRELATED_EMOJI; return Reflect.apply(push, binding, [{type: CORRELATED_EMOJI, value: surrogates}]); } } function syncStickers(a0, a1, a2) { // fn#51780, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6762:3381, offset: 0x012e48ba, size: 299 bytes, params: 4, frame: 20 var r5; var value; var writes; var length; var deletes; var object; var _createForOfIteratorHelperLoose_51773Binding; var value2; var value3; var done; var value4; var value5; var value6; var value7; var value8; var id; var value9; var setPartition; if (a1.op === 'full_sync') { a2.setPartition(a0, parseServerGuildStickers(a1.items)); } else { value = a2.getNullablePartition(a0); if (value == null) { a2.setPartition(a0, parseServerGuildStickers(a1.writes)); } else { writes = a1.writes; length = writes.length; reducibleJoin11: while (true) { reducibleJoin8: while (true) { if (length > 0) { object = {}; copyDataProperties(object, value, undefined); value = environment; _createForOfIteratorHelperLoose_51773Binding = _createForOfIteratorHelperLoose_51773; deletes = a1.deletes; value2 = _createForOfIteratorHelperLoose_51773Binding(deletes); value3 = value2(); done = value3.done; if (!done) { r5 = value3; reducibleLoop5: while (true) { value4 = r5.value; delete object[value4]; value5 = value2(); done = value5.done; if (done) { break reducibleLoop5; } r5 = value5; continue reducibleLoop5; } } _createForOfIteratorHelperLoose_51773Binding = _createForOfIteratorHelperLoose_51773; writes = a1.writes; value6 = _createForOfIteratorHelperLoose_51773Binding(writes); value7 = value6(); done = value7.done; if (done) { break reducibleJoin8; } r5 = value7; reducibleLoop7: while (true) { value8 = r5.value; id = value8.id; object[id] = parseServerGuildSticker(value8); value9 = value6(); done = value9.done; if (done) { break reducibleJoin8; } r5 = value9; continue reducibleLoop7; } } else { deletes = a1.deletes; length = deletes.length; if (!(length > 0)) { break reducibleJoin11; } object = {}; copyDataProperties(object, value, undefined); value = environment; _createForOfIteratorHelperLoose_51773Binding = _createForOfIteratorHelperLoose_51773; deletes = a1.deletes; value2 = _createForOfIteratorHelperLoose_51773Binding(deletes); value3 = value2(); done = value3.done; if (!done) { r5 = value3; reducibleLoop5: while (true) { value4 = r5.value; delete object[value4]; value5 = value2(); done = value5.done; if (done) { break reducibleLoop5; } r5 = value5; continue reducibleLoop5; } } _createForOfIteratorHelperLoose_51773Binding = _createForOfIteratorHelperLoose_51773; writes = a1.writes; value6 = _createForOfIteratorHelperLoose_51773Binding(writes); value7 = value6(); done = value7.done; if (done) { break reducibleJoin8; } r5 = value7; reducibleLoop7: while (true) { value8 = r5.value; id = value8.id; object[id] = parseServerGuildSticker(value8); value9 = value6(); done = value9.done; if (done) { break reducibleJoin8; } r5 = value9; continue reducibleLoop7; } } } setPartition = a2.setPartition; Reflect.apply(setPartition, a2, [a0, object]); break reducibleJoin11; } } } } function _fun51781(a0) { // fn#51781, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6762:2374, offset: 0x012e49e5, size: 93 bytes, params: 2, frame: 16 const GuildStickersStore2 = GuildStickersStore; Inherits(GuildStickersStore2, a0); return CreateClass(GuildStickersStore2, [{key: 'getStickerById', value: function(a0) { return this.stickerByIdIndex.get(a0) ?? undefined; }}, {key: 'stateWrapper', value: function() { return this.database; }}]); function GuildStickersStore(a0) { // fn#51782, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6762:2386, offset: 0x012e4a42, size: 262 bytes, params: 2, frame: 20 var environment; var r0; var Reflect; let value = copyRestArgs(0, undefined); let value2 = environment.__proto__; let binding = env1_4; binding(this, GuildStickersStore); const items2 = []; arraySpread(items2, value, 0, items2); value = env1_7(GuildStickersStore); binding = env1_6; if (_isNativeReflectConstruct_51770()) { Reflect = global.Reflect; value = Reflect.construct(value, items2, env1_7(this).constructor); r0 = value; } else { value = value.apply(this, items2); r0 = value; } value = binding(this, r0); value.database = value.addKKVDatabase('guildStickers'); value.stickerByIdIndex = value.database.addSecondaryKVIndex('id'); value.getAllGuildStickers = value.database.memoized(function(a0) { var propertyName; var property = global.Map; var value2 = new property(); for (propertyName in a0) { property = global.Object; value2.set(propertyName, property.values(a0[propertyName].root)); } return value2; }); value.getStickerMetadataMap = value.database.memoized(_fun51784); value.getStickersByGuildId = value.database.memoizedPartition(function(a0, a1) { var Object = global.Object; return Object.values(a1); }); return value; function _fun51784(a0) { // fn#51784, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6762:2903, offset: 0x012e4ba7, size: 167 bytes, params: 2, frame: 29 var r12; var r2; var propertyName; var propertyName2; var Object; var entries; var root; var value4; var length; var property; var value5; var property2; var set; var value6; const Map = global.Map; const map = new Map(); const value2 = 0; const properties = Object.keys(a0); const properties2 = 0; const properties3 = properties.length; if (properties !== undefined) { r12 = properties2; reducibleLoop1: while (true) { propertyName = properties[r12]; propertyName2 = r12 + 1; if (propertyName === undefined) { break reducibleLoop1; } Object = global.Object; entries = Object.entries; root = a0[propertyName].root; value4 = Reflect.apply(entries, Object, [root]); length = value4.length; if (!(value2 < length)) { r12 = propertyName2; continue reducibleLoop1; } r2 = value2; reducibleLoop3: while (true) { property = value4[r2]; value5 = env2_3(property, 2); property = value5[value2]; property2 = value5[1]; set = map.set; Reflect.apply(set, map, [property, deriveStickerMetadata(propertyName, property2)]); value6 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; length = value4.length; if (value6 < length) { r2 = value6; continue reducibleLoop3; } r12 = propertyName2; continue reducibleLoop1; } continue reducibleLoop1; } } return map; } } } function CONNECTION_OPEN_51791({guilds, unavailableGuilds}, a1) { // fn#51791, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6762:4022, offset: 0x012e4c8b, size: 259 bytes, params: 3, frame: 19 var r3; var r2; var value6; var value7; var value10; var has; var value11; var value13; var syncStickersBinding; var id; var stickers; var value14; const Set = global.Set; let set = new Set(guilds.map(function(a0) { return a0.id; })); const value4 = _createForOfIteratorHelperLoose_51773(unavailableGuilds); const value5 = value4(); let done = value5.done; if (!done) { for (r3 = value5; true; r3 = value7) { value6 = r3.value; set.add(value6); value7 = value4(); done = value7.done; if (done) { break; } } } _createForOfIteratorHelperLoose_51773Binding = _createForOfIteratorHelperLoose_51773; const getPartitionKeys = a1.getPartitionKeys; const value8 = _createForOfIteratorHelperLoose_51773Binding(Reflect.apply(getPartitionKeys, a1, [])); const value9 = value8(); done = value9.done; if (!done) { r3 = value9; while (true) { value10 = r3.value; has = set.has; if (!Reflect.apply(has, set, [value10])) { a1.removePartition(value10); } value11 = value8(); done = value11.done; if (done) { break; } r3 = value11; continue; } } set = _createForOfIteratorHelperLoose_51773(guilds); const value12 = set(); done = value12.done; if (!done) { for (r2 = value12; true; r2 = value14) { value13 = r2.value; syncStickersBinding = syncStickers; id = value13.id; stickers = value13.stickers; syncStickersBinding(id, stickers, a1); value14 = set(); done = value14.done; if (done) { break; } } } } function GUILD_STICKERS_UPDATE(a0, a1) { // fn#51797, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6762:4814, offset: 0x012e4e48, size: 164 bytes, params: 3, frame: 26 var r16; var r7; var r12; var propertyName; var propertyName2; var property; var property2; var value3; var user_id; var value4; var value5; var object; const partition = a1.getPartition(a0.guildId); const serverGuildStickers = parseServerGuildStickers(a0.stickers); if (partition != null) { for (propertyName in serverGuildStickers) { property = serverGuildStickers[propertyName]; property2 = partition[propertyName]; value3 = property2 != null; if (!value3) { r12 = value3; continue; } user_id = property.user_id; value4 = user_id == null; r12 = value4; r16 = user_id; if (!r12) { continue; } user_id = property2.user_id; value5 = user_id != null; r12 = value5; r16 = user_id; if (!r12) { r7 = propertyName2; continue; } object = {}; copyDataProperties(object, property, r16); user_id = property2.user_id; object['user_id'] = user_id; serverGuildStickers[propertyName] = object; r7 = propertyName2; } } a1.setPartition(a0.guildId, serverGuildStickers); } function CACHED_STICKERS_LOADED({stickers}, a1) { // fn#51798, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6762:5065, offset: 0x012e4eec, size: 107 bytes, params: 3, frame: 21 var r2; var value4; var value5; var property; var property2; var value6; const value2 = _createForOfIteratorHelperLoose_51773(stickers); const value3 = value2(); let done = value3.done; if (!done) { for (r2 = value3; true; r2 = value6) { value4 = r2.value; value5 = Module00057(value4, 2); property = value5[0]; property2 = value5[1]; a1.setPartition(property, parseServerGuildStickers(property2)); value6 = value2(); done = value6.done; if (done) { break; } } } } } global.__d(_fun51769, 6584, [57, 6, 7, 15, 17, 18, 1420, 1868, 1867, 4785, 3797, 1870, 2]) /* metro module 6584, dependencies: [57, 6, 7, 15, 17, 18, 1420, 1868, 1867, 4785, 3797, 1870, 2] */;