/* Metro module 1937; source: modules/impersonate/ImpersonateStore.tsx; dependencies: [6, 7, 15, 17, 18, 1938, 1867, 661, 670, 21, 1943, 1391, 1944, 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 SnowflakeUtils from '../../utils/SnowflakeUtils.tsx'; /* Metro dependency 21 */ import Flux from '../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import GuildStore from '../../stores/GuildStore.tsx'; /* Metro dependency 1867 */ import GuildRoleStore from '../../stores/GuildRoleStore.tsx'; /* Metro dependency 1938 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */ import * as UserSettingsConstantsModule from '../user_settings/UserSettingsConstants.tsx'; /* Metro dependency 670 */ import * as FlagUtilsModule from '../../external/discord_common/js/shared/utils/FlagUtils.tsx'; /* Metro dependency 1391 */ import * as ImpersonateTypesModule from './ImpersonateTypes.tsx'; /* Metro dependency 1943 */ import * as FunctionUtilsModule from '../../utils/FunctionUtils.tsx'; /* Metro dependency 1944 */ function _fun21484(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#21484, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:6, offset: 0x00ef1d89, size: 410 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_13 = {}; const Store = (Flux).Store; let value = _fun21488(Store); value.displayName = 'ImpersonateStore'; value = new value(importDefault(694) /* metro dependency 694: Dispatcher */, {IMPERSONATE_UPDATE: IMPERSONATE_UPDATE, IMPERSONATE_STOP: IMPERSONATE_STOP, GUILD_ROLE_DELETE: GUILD_ROLE_DELETE, USER_GUILD_SETTINGS_CHANNEL_UPDATE_BULK: USER_GUILD_SETTINGS_CHANNEL_UPDATE_BULK, GUILD_ONBOARDING_SELECT_OPTION: GUILD_ONBOARDING_SELECT_OPTION, GUILD_MEMBER_UPDATE_LOCAL: GUILD_MEMBER_UPDATE_LOCAL}); (FileImportTrackerModule).fileFinishedImporting('modules/impersonate/ImpersonateStore.tsx'); exports.default = value; function _isNativeReflectConstruct_21485() { // fn#21485, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:243, offset: 0x00ef1f23, 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_21485_isNativeReflectConstruct = function() { return !!result; })(); } function _fun21488(a0) { // fn#21488, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:451, offset: 0x00ef1f81, size: 425 bytes, params: 2, frame: 16 const ImpersonateStore2 = ImpersonateStore; Inherits(ImpersonateStore2, a0); return CreateClass(ImpersonateStore2, [{key: 'initialize', value: function() { this.waitFor(GuildStore, GuildRoleStore); }}, {key: 'hasViewingRoles', value: value_21491}, {key: 'isViewingRoles', value: value_21492}, {key: 'getViewingRoles', value: value_21493}, {key: 'getViewingRolesTimestamp', value: value_21494}, {key: 'getData', value: value_21495}, {key: 'isFullServerPreview', value: value_21496}, {key: 'isOptInEnabled', value: value_21497}, {key: 'isOnboardingEnabled', value: value_21498}, {key: 'getViewingChannels', value: value_21499}, {key: 'getOnboardingResponses', value: value_21500}, {key: 'getMemberOptions', value: value_21501}, {key: 'isChannelOptedIn', value: function(a0, a1) { var r0; var value = this.getViewingChannels(a0); var value2 = value != null; if (value2) { value = value.has(a1); r0 = value; } else { r0 = value2; } return r0; }}, {key: 'isViewingServerShop', value: value_21503}, {key: 'getImpersonateType', value: value_21504}, {key: 'getBackNavigationSection', value: value_21505}]); function ImpersonateStore() { // fn#21489, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:463, offset: 0x00ef212a, size: 113 bytes, params: 1, frame: 20 const value = environment.__proto__; env1_4(this, ImpersonateStore); const value3 = env1_7(ImpersonateStore); return env1_6(this, _isNativeReflectConstruct_21485() ? global.Reflect.construct(value3, arguments, env1_7(this).constructor) : value3.apply(this, arguments)); } function value_21491() { // fn#21491, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:821, offset: 0x00ef21b9, size: 45 bytes, params: 1, frame: 12 return !FunctionUtilsModule.isPlainObjectEmpty(env1_13); } function value_21492(a0) { // fn#21492, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:900, offset: 0x00ef21e6, size: 29 bytes, params: 2, frame: 4 var r0; let value = a0 != null; if (value) { value = environment.__proto__; value = env1_13[a0] != null; r0 = value; } else { r0 = value; } return r0; } function value_21493(a0) { // fn#21493, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:970, offset: 0x00ef2203, size: 33 bytes, params: 2, frame: 3 const value = environment.__proto__; return env1_13[a0]?.roles; } function value_21494(a0) { // fn#21494, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:1065, offset: 0x00ef2224, size: 45 bytes, params: 2, frame: 4 const value = null; return value != a0 ? env1_13[a0] == undefined ? undefined : env1_13[a0].timestamp : value; } function value_21495(a0) { // fn#21495, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:1160, offset: 0x00ef2251, size: 16 bytes, params: 2, frame: 2 return env1_13[a0]; } function value_21496(a0) { // fn#21496, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:1219, offset: 0x00ef2261, size: 70 bytes, params: 2, frame: 13 const type = env1_13[a0]?.type; const ImpersonateType = (ImpersonateTypesModule).ImpersonateType; const NEW_MEMBER = ImpersonateType.NEW_MEMBER; return type === NEW_MEMBER; } function value_21497(a0) { // fn#21497, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:1342, offset: 0x00ef22a7, size: 77 bytes, params: 2, frame: 14 const value = environment.__proto__; const property = env1_13[a0]; return property != null && property.type === (require(1943) /* metro dependency 1943: ImpersonateTypes */).ImpersonateType.NEW_MEMBER && property.optInEnabled; } function value_21498(a0) { // fn#21498, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:1477, offset: 0x00ef22f4, size: 79 bytes, params: 2, frame: 14 const value = environment.__proto__; const property = env1_13[a0]; return property != null && property.type === (require(1943) /* metro dependency 1943: ImpersonateTypes */).ImpersonateType.NEW_MEMBER && property.onboardingEnabled; } function value_21499(a0) { // fn#21499, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:1616, offset: 0x00ef2343, size: 78 bytes, params: 2, frame: 15 const property = env1_13[a0]; const value2 = null; return value2 == property || property.type !== (require(1943) /* metro dependency 1943: ImpersonateTypes */).ImpersonateType.NEW_MEMBER ? value2 : property.optInChannels; } function value_21500(a0) { // fn#21500, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:1759, offset: 0x00ef2391, size: 78 bytes, params: 2, frame: 15 const property = env1_13[a0]; const value2 = null; return value2 == property || property.type !== (require(1943) /* metro dependency 1943: ImpersonateTypes */).ImpersonateType.NEW_MEMBER ? value2 : property.onboardingResponses; } function value_21501(a0) { // fn#21501, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:1902, offset: 0x00ef23df, size: 78 bytes, params: 2, frame: 15 const property = env1_13[a0]; const value2 = null; return value2 == property || property.type !== (require(1943) /* metro dependency 1943: ImpersonateTypes */).ImpersonateType.NEW_MEMBER ? value2 : property.memberOptions; } function value_21503(a0) { // fn#21503, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:2146, offset: 0x00ef2456, size: 77 bytes, params: 2, frame: 14 var r0; let value = a0 != null; if (value) { value = environment.__proto__; value = env1_13[a0]?.type === (require(1943) /* metro dependency 1943: ImpersonateTypes */).ImpersonateType.SERVER_SHOP; r0 = value; } else { r0 = value; } return r0; } function value_21504(a0) { // fn#21504, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:2284, offset: 0x00ef24a3, size: 38 bytes, params: 2, frame: 4 const value = null; if (value == a0) { return value; } const property = env1_13[a0]; return value == property ? value : property.type; } function value_21505(a0) { // fn#21505, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:2397, offset: 0x00ef24c9, size: 200 bytes, params: 2, frame: 15 var value; if (a0 == null) { value = environment.__proto__; } else { var property = env1_13[a0]; if (property == null) { return GuildSettingsSections.ROLES; } var type = property.type; var ImpersonateType = (require(1943) /* metro dependency 1943: ImpersonateTypes */).ImpersonateType; var ROLES = ImpersonateType.ROLES; if (ROLES === type) { return property.returnToSection; } var SERVER_SHOP = ImpersonateType.SERVER_SHOP; if (SERVER_SHOP === type) { return property.returnToSection; } var NEW_MEMBER = ImpersonateType.NEW_MEMBER; if (NEW_MEMBER === type) { return GuildSettingsSections.ONBOARDING; } } return GuildSettingsSections.ROLES; } } function IMPERSONATE_UPDATE({guildId, data}) { // fn#21506, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:2770, offset: 0x00ef2591, size: 107 bytes, params: 2, frame: 16 const roles = data.roles; const defaultImport = SnowflakeUtils; delete roles[defaultImport.castGuildIdAsEveryoneGuildRoleId(guildId)]; const binding = env0_13; const object = {}; copyDataProperties(object, data, defaultImport); const Date = global.Date; object['timestamp'] = Date.now(); binding[guildId] = object; } function IMPERSONATE_STOP({guildId}) { // fn#21507, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:2934, offset: 0x00ef25fc, size: 41 bytes, params: 2, frame: 4 if (env0_13[guildId] == null) { return false; } delete env0_13[guildId]; } function GUILD_ROLE_DELETE({guildId, roleId}) { // fn#21508, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:3032, offset: 0x00ef2625, size: 57 bytes, params: 2, frame: 5 if (env0_13[guildId] == null) { return false; } delete env0_13[guildId].roles[roleId]; } function USER_GUILD_SETTINGS_CHANNEL_UPDATE_BULK({guildId, overrides}) { // fn#21509, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:3170, offset: 0x00ef265e, size: 214 bytes, params: 2, frame: 18 var r0; var set; if (guildId == null) { return false; } if (env0_13[guildId] == null) { return false; } const property = env0_13[guildId]; if (property == null) { return false; } const type = property.type; const ImpersonateType = (ImpersonateTypesModule).ImpersonateType; const NEW_MEMBER = ImpersonateType.NEW_MEMBER; if (type !== NEW_MEMBER) { return false; } const optInChannels = property.optInChannels; if (optInChannels != null) { r0 = optInChannels; } else { set = new global.Set(); } let value = SnowflakeUtils; value = value.keys(overrides); value.forEach(_fun21510); property.optInChannels = r0; return true; function _fun21510(a0) { // fn#21510, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:3434, offset: 0x00ef2734, size: 111 bytes, params: 2, frame: 18 const property = overrides[a0]; const hasFlag = FlagUtilsModule.hasFlag; const r4 = property.flags ?? 0; const OPT_IN_ENABLED = ChannelNotificationSettingsFlags.OPT_IN_ENABLED; const hasFlag2 = Reflect.apply(hasFlag, FlagUtilsModule, [r4, OPT_IN_ENABLED]); const binding = env0_1; if (hasFlag2) { binding.add(a0); } else { binding.delete(a0); } } } function GUILD_ONBOARDING_SELECT_OPTION({guildId, optionId, selected, removedOptionIds}) { // fn#21511, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:3585, offset: 0x00ef27a3, size: 238 bytes, params: 2, frame: 19 if (guildId == null) { return false; } if (env0_13[guildId] == null) { return false; } const property = env0_13[guildId]; if (property == null) { return false; } const type = property.type; const ImpersonateType = (ImpersonateTypesModule).ImpersonateType; const NEW_MEMBER = ImpersonateType.NEW_MEMBER; if (type !== NEW_MEMBER) { return false; } const r0 = property.onboardingResponses ?? new global.Set(); if (removedOptionIds != null && removedOptionIds.length > 0) { removedOptionIds.forEach(_fun21512); } if (selected) { r0.add(optionId); } else { r0.delete(optionId); } property.onboardingResponses = r0; return true; function _fun21512(a0) { // fn#21512, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:3869, offset: 0x00ef2891, size: 22 bytes, params: 2, frame: 11 return env0_0.delete(a0); } } function GUILD_MEMBER_UPDATE_LOCAL({guildId, roles, flags}) { // fn#21513, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:3963, offset: 0x00ef28a7, size: 153 bytes, params: 2, frame: 18 var r4; var r0; if (guildId == null) { return false; } var value; const property = env0_13[guildId]; const value2 = property != null; if (value2) { if (roles != null) { property.roles = roles.reduce(_fun21514, {}); } r4 = flags != null && property.type === (require(1943) /* metro dependency 1943: ImpersonateTypes */).ImpersonateType.NEW_MEMBER; value = true; if (r4) { property.memberOptions.flags = flags; r0 = value; } else { r0 = value; } } else { r0 = value2; } return r0; function _fun21514(a0, a1) { // fn#21514, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2064:4106, offset: 0x00ef2940, size: 44 bytes, params: 3, frame: 14 let value = environment.__proto__; value = GuildRoleStore.getRole(guildId, a1); if (value != null) { a0[a1] = value; } return a0; } } } global.__d(_fun21484, 1937, [6, 7, 15, 17, 18, 1938, 1867, 661, 670, 21, 1943, 1391, 1944, 566, 694, 2]) /* metro module 1937, dependencies: [6, 7, 15, 17, 18, 1938, 1867, 661, 670, 21, 1943, 1391, 1944, 566, 694, 2] */;