/* Metro module 16135; source: modules/instant_invite/useInviteAssignableRoles.tsx; dependencies: [31, 1939, 1938, 3784, 1878, 661, 566, 3789, 2] */ import UserStore from '../../stores/UserStore.tsx'; /* Metro dependency 1878 */ import GuildRoleStore from '../../stores/GuildRoleStore.tsx'; /* Metro dependency 1938 */ import PermissionStore from '../../stores/PermissionStore.tsx'; /* Metro dependency 3784 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactModule from '../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as FluxModule from '../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */ import * as GuildRoleRecordModule from '../../records/GuildRoleRecord.tsx'; /* Metro dependency 1939 */ function _fun124584(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#124584, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16343:6, offset: 0x025be423, size: 213 bytes, params: 8, frame: 20 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); (FileImportTrackerModule).fileFinishedImporting('modules/instant_invite/useInviteAssignableRoles.tsx'); exports.default = useInviteAssignableRoles; function useInviteAssignableRoles(a0) { // fn#124585, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16343:278, offset: 0x025be4f8, size: 164 bytes, params: 2, frame: 18 const env0_0 = a0; const {sortedRoles, currentUser, canManageRoles} = (FluxModule).useStateFromStoresObject([GuildRoleStore, UserStore, PermissionStore], _fun124586, [a0]); return canManageRoles.useMemo(_fun124587, [a0, currentUser, canManageRoles, sortedRoles]); function _fun124586() { // fn#124586, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16343:363, offset: 0x025be59c, size: 122 bytes, params: 1, frame: 16 const object = {}; object.sortedRoles = env0_0 != null ? GuildRoleStore.getSortedRoles(env0_0.id) : []; object.currentUser = UserStore.getCurrentUser(); object.canManageRoles = env0_0 != null && PermissionStore.can(Permissions.MANAGE_ROLES, env0_0); return object; } function _fun124587() { // fn#124587, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16343:571, offset: 0x025be616, size: 113 bytes, params: 1, frame: 15 var environment; var value2; var moduleValue; if (env0_0Binding != null) { if (currentUser == null) { return []; } if (canManageRoles) { value2 = environment.__proto__; moduleValue = importAll(3789) /* metro dependency 3789: PermissionUtils */; var env0_0Binding = moduleValue.getHighestRole(env0_0, currentUser.id); return sortedRoles.filter(_fun124588); } } return []; function _fun124588(a0) { // fn#124588, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16343:663, offset: 0x025be687, size: 138 bytes, params: 2, frame: 20 var r2; var r1; var r0; var managed; var tags; var value5; var isRoleHigher; var value6; let value = environment.__proto__.__proto__; const isEveryoneRoleBinding = isEveryoneRole; const value2 = undefined; const isEveryoneRole2 = isEveryoneRoleBinding(a0); if (isEveryoneRole2) { r0 = !isEveryoneRole2; } else { managed = a0.managed; if (managed) { r1 = !managed; } else { tags = a0.tags; value5 = value2 === (tags == null ? value2 : tags.guild_connections); if (value5) { value = importAll(3789) /* metro dependency 3789: PermissionUtils */; isRoleHigher = value.isRoleHigher; value6 = environment.__proto__; value = !!Reflect.apply(isRoleHigher, value, [env1_0, currentUser.id, env0_0, a0]); r2 = value; } else { r2 = value5; } r1 = r2; } r0 = r1; } return r0; } } } } global.__d(_fun124584, 16135, [31, 1939, 1938, 3784, 1878, 661, 566, 3789, 2]) /* metro module 16135, dependencies: [31, 1939, 1938, 3784, 1878, 661, 566, 3789, 2] */;