/* Metro module 6542; source: modules/emojis/RawGuildEmojiStore.tsx; dependencies: [57, 6, 7, 15, 17, 18, 1420, 1868, 3800, 1870, 2] */ function _fun51582(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#51582, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6720:6, offset: 0x0123c45c, size: 447 bytes, params: 8, frame: 19 var object2; let env0_0 = require; const _arrayLikeToArray_51588 = 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; }; let Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_2 = importDefault(57) /* metro dependency 57 */; const env0_3 = importDefault(6) /* metro dependency 6 */; const env0_4 = importDefault(7) /* metro dependency 7 */; const env0_5 = importDefault(15) /* metro dependency 15 */; const env0_6 = importDefault(17) /* metro dependency 17 */; const env0_7 = importDefault(18) /* metro dependency 18 */; const env0_8 = (require(1420) /* metro dependency 1420: PlainRecord */).TypeTag; const LibdiscoreStore = (require(1868) /* metro dependency 1868: LibdiscoreStore */).LibdiscoreStore; let value = _fun51591(LibdiscoreStore); value.displayName = 'RawGuildEmojiStore'; object2 = {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_51598, OVERLAY_INITIALIZE: function(a0, a1) { var env0_0 = a1; a1.clear(); var Object = global.Object; Object.entries(a0.emojis).forEach(_fun51601); }, CACHED_EMOJIS_LOADED: CACHED_EMOJIS_LOADED_51602, GUILD_CREATE: function(a0, a1) { syncEmojis(a0.guild.id, a0.guild.emojis, a1); }, GUILD_UPDATE: function(a0, a1) { a1.setPartition(a0.guild.id, fromServer_51589(a0.guild.id, a0.guild.emojis)); }, GUILD_EMOJIS_UPDATE: function(a0, a1) { a1.setPartition(a0.guildId, fromServer_51589(a0.guildId, a0.emojis)); }, GUILD_DELETE: function(a0, a1) { a1.removePartition(a0.guild.id); }}; const LibdiscoreBatchStoreRefactorExperiment = (require(1870) /* metro dependency 1870: libdiscoreExperiments */).LibdiscoreBatchStoreRefactorExperiment; value = new value(object2, LibdiscoreBatchStoreRefactorExperiment.getCachedBridgedStoreMode()); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/emojis/RawGuildEmojiStore.tsx'); exports.default = value; } function _isNativeReflectConstruct_51583() { // fn#51583, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6720:180, offset: 0x0123c61b, 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_51583_isNativeReflectConstruct = function() { return !!result; })(); } function _createForOfIteratorHelperLoose_51586(a0, a1) { // fn#51586, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6720:373, offset: 0x0123c679, 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 _fun51587; } value = undefined; if (a0) { if (typeof a0 === 'string') { value = _arrayLikeToArray_51588(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_51588(a0, value); r6 = value; } else { regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', ''); if (regexp.test(r9)) { value = _arrayLikeToArray_51588(a0, value); r6 = value; } else { r6 = value; } } r5 = r6; } } else { r5 = value; } if (r5) { if (r5) { } return _fun51587; } 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 fromServer_51589(a0, a1) { // fn#51589, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6720:1283, offset: 0x0123c7eb, size: 256 bytes, params: 3, frame: 30 var r2; var value4; var id; var object3; var id2; var animated; var name; var require_colons; var available; var roles; var managed; var version; var EmojiTypes; var GUILD; var value5; const object4 = {}; const value2 = _createForOfIteratorHelperLoose_51586(a1); const value3 = value2(); let done = value3.done; if (!done) { for (r2 = value3; true; r2 = value5) { value4 = r2.value; id = value4.id; object3 = {}; object3[TypeTag] = 'RawGuildEmoji'; object3['guildId'] = a0; id2 = value4.id; object3['id'] = id2; animated = value4.animated; object3['animated'] = animated; name = value4.name; object3['name'] = name; require_colons = value4.require_colons; object3['require_colons'] = require_colons; available = value4.available; object3['available'] = available; roles = value4.roles; object3['roles'] = roles; managed = value4.managed; object3['managed'] = managed; version = value4.version; object3['version'] = version; EmojiTypes = (require(3800) /* metro dependency 3800: EmojiTypes */).EmojiTypes; GUILD = EmojiTypes.GUILD; object3['type'] = GUILD; object4[id] = object3; value5 = value2(); done = value5.done; if (done) { break; } } } return object4; } function syncEmojis(a0, a1, a2) { // fn#51590, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6720:2147, offset: 0x0123c8eb, size: 320 bytes, params: 4, frame: 23 var r5; var value; var writes; var length; var deletes; var object2; var _createForOfIteratorHelperLoose_51586Binding; var value2; var value3; var done; var value4; var value5; var value6; var value7; var value8; var Object; var assign; var value9; var setPartition; if (a1.op === 'full_sync') { a2.setPartition(a0, fromServer_51589(a0, a1.items)); } else { value = a2.getNullablePartition(a0); if (value == null) { a2.setPartition(a0, fromServer_51589(a0, a1.writes)); } else { writes = a1.writes; length = writes.length; reducibleJoin11: while (true) { reducibleJoin8: while (true) { if (length > 0) { object2 = {}; copyDataProperties(object2, value, undefined); value = environment; _createForOfIteratorHelperLoose_51586Binding = _createForOfIteratorHelperLoose_51586; deletes = a1.deletes; value2 = _createForOfIteratorHelperLoose_51586Binding(deletes); value3 = value2(); done = value3.done; if (!done) { r5 = value3; reducibleLoop5: while (true) { value4 = r5.value; delete object2[value4]; value5 = value2(); done = value5.done; if (done) { break reducibleLoop5; } r5 = value5; continue reducibleLoop5; } } _createForOfIteratorHelperLoose_51586Binding = _createForOfIteratorHelperLoose_51586; writes = a1.writes; value6 = _createForOfIteratorHelperLoose_51586Binding(writes); value7 = value6(); done = value7.done; if (done) { break reducibleJoin8; } r5 = value7; reducibleLoop7: while (true) { value8 = r5.value; Object = global.Object; assign = Object.assign; Reflect.apply(assign, Object, [object2, fromServer_51589(a0, [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; } object2 = {}; copyDataProperties(object2, value, undefined); value = environment; _createForOfIteratorHelperLoose_51586Binding = _createForOfIteratorHelperLoose_51586; deletes = a1.deletes; value2 = _createForOfIteratorHelperLoose_51586Binding(deletes); value3 = value2(); done = value3.done; if (!done) { r5 = value3; reducibleLoop5: while (true) { value4 = r5.value; delete object2[value4]; value5 = value2(); done = value5.done; if (done) { break reducibleLoop5; } r5 = value5; continue reducibleLoop5; } } _createForOfIteratorHelperLoose_51586Binding = _createForOfIteratorHelperLoose_51586; writes = a1.writes; value6 = _createForOfIteratorHelperLoose_51586Binding(writes); value7 = value6(); done = value7.done; if (done) { break reducibleJoin8; } r5 = value7; reducibleLoop7: while (true) { value8 = r5.value; Object = global.Object; assign = Object.assign; Reflect.apply(assign, Object, [object2, fromServer_51589(a0, [value8])]); value9 = value6(); done = value9.done; if (done) { break reducibleJoin8; } r5 = value9; continue reducibleLoop7; } } } setPartition = a2.setPartition; Reflect.apply(setPartition, a2, [a0, object2]); break reducibleJoin11; } } } } function _fun51591(a0) { // fn#51591, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6720:1620, offset: 0x0123ca2b, size: 95 bytes, params: 2, frame: 16 const closure = RawGuildEmojiStore; env0_7(closure, a0); return env0_4(closure, [{key: 'stateWrapper', value: function() { return this.database; }}, {key: 'getGuildEmojis', value: function(a0) { return this.database.getNullablePartition(a0); }}]); } function CONNECTION_OPEN_51598({guilds, unavailableGuilds}, a1) { // fn#51598, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6720:2762, offset: 0x0123cb47, size: 259 bytes, params: 3, frame: 19 var r3; var r2; var value6; var value7; var value10; var has; var value11; var value13; var syncEmojisBinding; var id; var emojis; var value14; const Set = global.Set; let set = new Set(guilds.map(function(a0) { return a0.id; })); const value4 = _createForOfIteratorHelperLoose_51586(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_51586Binding = _createForOfIteratorHelperLoose_51586; const getPartitionKeys = a1.getPartitionKeys; const value8 = _createForOfIteratorHelperLoose_51586Binding(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_51586(guilds); const value12 = set(); done = value12.done; if (!done) { for (r2 = value12; true; r2 = value14) { value13 = r2.value; syncEmojisBinding = syncEmojis; id = value13.id; emojis = value13.emojis; syncEmojisBinding(id, emojis, a1); value14 = set(); done = value14.done; if (done) { break; } } } } function OVERLAY_INITIALIZE_51600({emojis}, a1) { // fn#51600, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6720:3166, offset: 0x0123cc4a, size: 66 bytes, params: 3, frame: 12 const env0_0 = a1; a1.clear(); const Object = global.Object; Object.entries(emojis).forEach(function(a0) { var r1; var r2; var r5; var item3; var value3; var iterator = a0[Symbol.iterator](); var iterator2 = iterator.next; var item2 = Reflect.apply(iterator2, iterator, []); var item = item2.value; item2 = item2.done ? undefined : iterator; var value = undefined; var value2 = item2 === value; var r4 = value2 ? value : item; if (value2) { r1 = item2; r2 = value2; r5 = value; } else { item3 = Reflect.apply(iterator2, item2, []); item = item3.value; item3 = item3.done ? undefined : item2; value3 = item3 === value; if (value3) { r1 = item3; r2 = value3; r5 = value; } else { r1 = item3; r2 = value3; r5 = item; } } if (!r2) { r1.return(); } require.setPartition(r4, fromServer_51589(r4, r5)); return value; }); } function CACHED_EMOJIS_LOADED_51602({emojis}, a1) { // fn#51602, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6720:3287, offset: 0x0123cced, size: 108 bytes, params: 3, frame: 21 var r2; var value4; var value5; var property; var property2; var value6; const value2 = _createForOfIteratorHelperLoose_51586(emojis); const value3 = value2(); let done = value3.done; if (!done) { for (r2 = value3; true; r2 = value6) { value4 = r2.value; value5 = env0_2(value4, 2); property = value5[0]; property2 = value5[1]; a1.setPartition(property, fromServer_51589(property, property2)); value6 = value2(); done = value6.done; if (done) { break; } } } } function RawGuildEmojiStore(a0) { // fn#51592, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6720:1632, offset: 0x0123ca8a, size: 149 bytes, params: 2, frame: 19 var r0; var Reflect; let value = copyRestArgs(0, undefined); let binding = env1_3; binding(this, RawGuildEmojiStore); const items2 = []; arraySpread(items2, value, 0, items2); value = env1_6(RawGuildEmojiStore); binding = env1_5; if (_isNativeReflectConstruct_51583()) { Reflect = global.Reflect; value = Reflect.construct(value, items2, env1_6(this).constructor); r0 = value; } else { value = value.apply(this, items2); r0 = value; } value = binding(this, r0); value.database = value.addKKVDatabase('guild_emojis'); return value; }