Files
discord-decomp/sources/modules/application_commands/ApplicationCommandUtils.tsx
T
2026-07-27 16:20:00 +03:00

964 lines
40 KiB
TypeScript

/* Metro module 5065; source: modules/application_commands/ApplicationCommandUtils.tsx; dependencies: [1383, 4645, 5066, 661, 482, 5067, 1909, 5068, 483, 22, 44, 24, 4863, 2] */
function _fun43792(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#43792, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:6, offset: 0x0115e828, size: 488 bytes, params: 8, frame: 20
const env0_0 = require;
const _arrayLikeToArray_43795 = 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 closure = buildCommand;
const mapOptions = function(a0) {
return a0?.map(_fun43801);
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_4 = (require(1383) /* metro dependency 1383: ChannelRecord */).isReadableType;
const env0_5 = (require(4645) /* metro dependency 4645: DraftStore */).DraftType;
let value = require(5066) /* metro dependency 5066: ApplicationCommandConstants */;
const env0_6 = value.BuiltInSectionId;
const env0_7 = value.SUB_COMMAND_KEY_SEPARATOR;
value = require(661) /* metro dependency 661: Constants */;
const env0_8 = value.AnalyticEvents;
const env0_9 = value.ID_REGEX;
const env0_10 = (require(482) /* metro dependency 482: Constants */).Permissions;
value = importAll(483) /* metro dependency 483: BigFlagUtils */;
value = value.deserialize(0);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/application_commands/ApplicationCommandUtils.tsx');
exports.buildCommand = closure;
exports.buildApplicationCommands = buildApplicationCommands;
exports.applicationPermissionsList = function(a0) {
return a0?.reduce(_fun43810, []);
};
exports.isSnowflake = function(a0) {
return ID_REGEX.test(a0.trim());
};
exports.getMatchingGroupCommands = getMatchingGroupCommands;
exports.getApplicationCommandOptionQueryOptions = getApplicationCommandOptionQueryOptions;
exports.allChannelsSentinel = allChannelsSentinel;
exports.canUseApplicationCommands = canUseApplicationCommands;
exports.DISABLED_BY_DEFAULT_PERMISSION_FLAG = value;
exports.hasAccess = hasAccess;
exports.getCommandAttachmentDraftType = getCommandAttachmentDraftType;
exports.getCommandTriggerSection = getCommandTriggerSection;
exports.getApplicationCommandSection = getApplicationCommandSection;
exports.extractInteractionDataProps = extractInteractionDataProps;
exports.trackCommandSelected = trackCommandSelected;
exports.getInitialInteractionMetadata = function({interactionMetadata}) {
var value = null;
return value == interactionMetadata ? value : 'triggering_interaction_metadata' in interactionMetadata ? interactionMetadata.triggering_interaction_metadata : interactionMetadata;
};
exports.hasCommandIndexForApp = function(a0, {result}) {
var r2;
r2 = result?.sections;
return r2 != null && a0 in r2;
};
}
function _createForOfIteratorHelperLoose_43793(a0, a1) { // fn#43793, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:277, offset: 0x0115ea10, 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 _fun43794;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_43795(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_43795(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_43795(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun43794;
}
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 buildCommand({rootCommand, command, applicationId, subCommandPath, useKeyedPermissions}) { // fn#43796, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:1187, offset: 0x0115eb82, size: 662 bytes, params: 2, frame: 25
var r2;
var r5;
var r10;
var r14;
var r8;
var moduleValue;
let value = undefined;
if (rootCommand.permissions != null && rootCommand.permissions.length > 0) {
if (useKeyedPermissions) {
moduleValue = require(dependencyMap[5]);
r2 = moduleValue.keyPermissions(rootCommand.permissions);
} else {
rootCommand.permissions.forEach(_fun43797);
r2 = {};
}
r5 = r2;
} else {
r5 = value;
}
const value6 = (subCommandPath ?? []).map(function(a0) {
return a0.name;
});
const value7 = (subCommandPath ?? []).map(function(a0) {
return a0.displayName;
});
const object2 = {};
object2.version = rootCommand.version;
object2.guildId = rootCommand.guild_id;
const items4 = [rootCommand.id];
arraySpread(items4, value6, 1, items4);
object2.id = items4.join(SUB_COMMAND_KEY_SEPARATOR);
const items2 = [rootCommand.name];
arraySpread(items2, value6, 1, items4);
object2.untranslatedName = items2.join(' ');
object2.serverLocalizedName = command.name_localized;
object2.applicationId = applicationId;
const type = rootCommand.type;
if (type != null) {
r10 = type;
r14 = items4;
} else {
r10 = require(dependencyMap[6]).ApplicationCommandType.CHAT;
r14 = dependencyMap;
}
object2.type = r10;
const ApplicationCommandInputType = require(dependencyMap[7]).ApplicationCommandInputType;
const BOT = ApplicationCommandInputType.BOT;
object2.inputType = BOT;
object2.untranslatedDescription = command.description;
object2.options = mapOptions(command.options);
object2.rootCommand = rootCommand;
object2.subCommandPath = subCommandPath;
if (rootCommand.default_member_permissions == null) {
r8 = value;
} else {
value = importAll(dependencyMap[8]);
value = value.deserialize(rootCommand.default_member_permissions);
r8 = value;
}
object2.defaultMemberPermissions = r8;
object2.dmPermission = rootCommand.dm_permission;
object2.permissions = r5;
const items3 = [rootCommand.name_localized ?? rootCommand.name];
arraySpread(items3, value7, 1, r14);
object2.displayName = items3.join(' ');
object2.displayDescription = command.description_localized ?? command.description;
object2.nsfw = rootCommand.nsfw;
object2.contexts = rootCommand.contexts;
object2.integration_types = rootCommand.integration_types;
object2.global_popularity_rank = rootCommand.global_popularity_rank;
object2.handler = rootCommand.handler;
return object2;
}
function mapOptions(a0) { // fn#43800, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:2323, offset: 0x0115ee39, size: 33 bytes, params: 2, frame: 12
return a0?.map(_fun43801);
}
function buildSubCommands({rootCommand, command, applicationId, subCommandPath, useKeyedPermissions}) { // fn#43803, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:3168, offset: 0x0115f07b, size: 829 bytes, params: 2, frame: 32
var environment;
var r12;
var r19;
var r17;
var r21;
var r7;
var type;
var value;
const ApplicationCommandOptionType = (require(1909) /* metro dependency 1909: Server */).ApplicationCommandOptionType;
var SUB_COMMAND;
var SUB_COMMAND_GROUP;
var options;
var length;
var buildCommandBinding;
var push;
var buildSubCommandsBinding;
var object6;
var concat;
var object7;
var name;
var name_localized;
var property;
var subCommands;
var items3;
var value4;
var object8;
var object9;
var value6;
if (command.hasOwnProperty('id')) {
options = command.options;
reducibleJoin8: while (true) {
reducibleJoin27: while (true) {
if (options == null) {
break reducibleJoin27;
}
options = command.options;
length = options.length;
if (length === 0) {
break reducibleJoin27;
}
break reducibleJoin8;
}
value = environment;
value = buildCommand({rootCommand: rootCommand, command: command, applicationId: applicationId,
subCommandPath: subCommandPath, useKeyedPermissions: useKeyedPermissions});
return [value];
}
} else {
type = command.type;
value = environment;
SUB_COMMAND = ApplicationCommandOptionType.SUB_COMMAND;
reducibleJoin8: while (true) {
if (type === SUB_COMMAND) {
break reducibleJoin8;
}
type = command.type;
SUB_COMMAND_GROUP = ApplicationCommandOptionType.SUB_COMMAND_GROUP;
if (type !== SUB_COMMAND_GROUP) {
options = command.options;
if (options != null) {
options = command.options;
length = options.length;
reducibleJoin5: while (true) {
if (length !== 0) {
break reducibleJoin8;
}
break reducibleJoin5;
}
}
value = buildCommand({rootCommand: rootCommand, command: command, applicationId: applicationId,
subCommandPath: subCommandPath, useKeyedPermissions: useKeyedPermissions});
return [value];
}
break reducibleJoin8;
}
}
const items = [];
if (command.options != null) {
value = command.options.filter(function({type}) {
return type === require(dependencyMap[6]).ApplicationCommandOptionType.SUB_COMMAND_GROUP;
});
length = value.length;
if (0 < length) {
r12 = 0;
reducibleLoop10: while (true) {
push = items.push;
buildSubCommandsBinding = buildSubCommands;
object6 = {rootCommand: rootCommand, command: value[r12], applicationId: applicationId};
reducibleJoin12: while (true) {
if (subCommandPath != null) {
r19 = subCommandPath;
break reducibleJoin12;
}
r19 = [];
break reducibleJoin12;
}
concat = r19.concat;
object7 = {};
name = value[r12].name;
object7.name = name;
SUB_COMMAND_GROUP = ApplicationCommandOptionType.SUB_COMMAND_GROUP;
object7.type = SUB_COMMAND_GROUP;
name_localized = value[r12].name_localized;
reducibleJoin14: while (true) {
if (name_localized != null) {
r17 = name_localized;
r21 = require;
break reducibleJoin14;
}
property = value[r12];
name = property.name;
r17 = name;
r21 = property;
break reducibleJoin14;
}
object7.displayName = r17;
object6.subCommandPath = Reflect.apply(concat, r19, [[object7]]);
object6.useKeyedPermissions = useKeyedPermissions;
subCommands = buildSubCommandsBinding(object6);
items3 = [];
arraySpread(items3, subCommands, 0, r21);
apply(push, items3, items, r21);
value4 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1;
length = value.length;
if (value4 < length) {
r12 = value4;
continue reducibleLoop10;
}
break reducibleLoop10;
}
}
var value5 = command.options.filter(function({type}) {
return type === require(dependencyMap[6]).ApplicationCommandOptionType.SUB_COMMAND;
});
length = value5.length;
if (0 < length) {
r12 = 0;
reducibleLoop16: while (true) {
push = items.push;
buildCommandBinding = buildCommand;
object8 = {rootCommand: rootCommand, command: value5[r12], applicationId: applicationId};
reducibleJoin18: while (true) {
if (subCommandPath != null) {
r19 = subCommandPath;
break reducibleJoin18;
}
r19 = [];
break reducibleJoin18;
}
concat = r19.concat;
object9 = {};
name = value5[r12].name;
object9.name = name;
SUB_COMMAND = ApplicationCommandOptionType.SUB_COMMAND;
object9.type = SUB_COMMAND;
name_localized = value5[r12].name_localized;
reducibleJoin20: while (true) {
if (name_localized != null) {
r17 = name_localized;
break reducibleJoin20;
}
name = value5[r12].name;
r17 = name;
break reducibleJoin20;
}
object9.displayName = r17;
object8.subCommandPath = Reflect.apply(concat, r19, [[object9]]);
object8.useKeyedPermissions = useKeyedPermissions;
Reflect.apply(push, items, [buildCommandBinding(object8)]);
value6 = typeof r12 === 'bigint' ? r12 + 1n : +r12 + 1;
length = value5.length;
if (value6 < length) {
r12 = value6;
continue reducibleLoop16;
}
break reducibleLoop16;
}
}
value = value.length === 0;
reducibleJoin23: while (true) {
if (value) {
length = value5.length;
value = length === 0;
r7 = value;
break reducibleJoin23;
}
r7 = value;
break reducibleJoin23;
}
reducibleJoin25: while (true) {
if (r7) {
push = items.push;
Reflect.apply(push, items, [buildCommand({rootCommand: rootCommand, command: command,
applicationId: applicationId,
subCommandPath: subCommandPath, useKeyedPermissions: useKeyedPermissions})]);
break reducibleJoin25;
}
break reducibleJoin25;
}
}
return items;
}
function hasAccessGivenPerms({userId, roles}, a1, a2) { // fn#43806, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:4696, offset: 0x0115f41e, size: 306 bytes, params: 4, frame: 27
var r11;
var r12;
var r5;
var permission;
var value7;
var moduleValue2;
var ROLE;
var value8;
const integrationPermissionUtilsModule = require(5067) /* metro dependency 5067: IntegrationPermissionUtils */;
let toPermissionKey = integrationPermissionUtilsModule.toPermissionKey;
const ApplicationCommandPermissionType = (require(5068) /* metro dependency 5068: ApplicationCommandTypes */).ApplicationCommandPermissionType;
const USER = ApplicationCommandPermissionType.USER;
let property = a2[Reflect.apply(toPermissionKey, integrationPermissionUtilsModule, [userId, USER])];
if (property != null) {
return property.permission;
}
const value3 = _createForOfIteratorHelperLoose_43793(roles);
const value4 = value3();
let done = value4.done;
if (done) {
r5 = false;
} else {
r11 = false;
r12 = value4;
reducibleLoop2: while (true) {
value7 = r12.value;
moduleValue2 = integrationPermissionUtilsModule;
toPermissionKey = moduleValue2.toPermissionKey;
ROLE = ApplicationCommandPermissionType.ROLE;
property = a2[Reflect.apply(toPermissionKey, moduleValue2, [value7, ROLE])];
if (property != null) {
permission = property.permission;
reducibleJoin4: while (true) {
if (permission) {
return true;
}
r11 = true;
break reducibleJoin4;
}
}
value8 = value3();
done = value8.done;
if (done) {
r5 = r11;
break reducibleLoop2;
}
r12 = value8;
continue reducibleLoop2;
}
}
if (r5) {
return false;
}
const value = integrationPermissionUtilsModule;
toPermissionKey = value.toPermissionKey;
ROLE = ApplicationCommandPermissionType.ROLE;
property = a2[Reflect.apply(toPermissionKey, value, [a1, ROLE])];
reducibleJoin9: while (true) {
if (property != null) {
permission = property.permission;
break reducibleJoin9;
}
permission = null;
break reducibleJoin9;
}
return permission;
}
function buildApplicationCommands(a0, a1) { // fn#43807, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:5343, offset: 0x0115f550, size: 56 bytes, params: 3, frame: 13
const env0_0 = a1;
return (importDefault(22) /* metro dependency 22 */).flatMap(a0, function(a0) {
importDefault(dependencyMap[10])(a0.id != null, 'Missing command id');
return buildSubCommands({rootCommand: a0, command: a0, applicationId: a0.application_id,
subCommandPath: undefined,
useKeyedPermissions: require});
});
}
function applicationPermissionsList(a0) { // fn#43809, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:5611, offset: 0x0115f5ed, size: 39 bytes, params: 2, frame: 14
return a0?.reduce(function(a0, a1) {
if (a1.applicationCommandPermissions != null) {
a0.push({id: a1.id, permissions: a1.applicationCommandPermissions});
}
return a0;
}, []);
}
function getMatchingGroupCommands(a0, a1, a2, a3) { // fn#43812, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:5892, offset: 0x0115f668, size: 90 bytes, params: 5, frame: 14
const env0_0 = a1;
const env0_1 = a2;
let value = importDefault(22) /* metro dependency 22 */;
value = value(a0);
value.forEach(_fun43813);
return [].slice(0, a3);
}
function getApplicationCommandOptionQueryOptions(a0) { // fn#43814, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:6107, offset: 0x0115f714, size: 309 bytes, params: 2, frame: 18
let type = a0.type;
const ApplicationCommandOptionType = (require(1909) /* metro dependency 1909: Server */).ApplicationCommandOptionType;
const STRING = ApplicationCommandOptionType.STRING;
const value2 = type === STRING;
type = a0.type;
const CHANNEL = ApplicationCommandOptionType.CHANNEL;
const value3 = type === CHANNEL;
type = a0.type;
const USER = ApplicationCommandOptionType.USER;
const r3 = type === USER || a0.type === ApplicationCommandOptionType.MENTIONABLE;
type = a0.type;
const ROLE = ApplicationCommandOptionType.ROLE;
const r2 = type === ROLE || a0.type === ApplicationCommandOptionType.MENTIONABLE;
return {canMentionEveryone: value2 || r2, canMentionHere: value2, canMentionChannels: value2 || value3,
canMentionUsers: value2 || r3, canMentionRoles: value2 || r2, canMentionAnyGuildUser: r3,
canMentionNonMentionableRoles: r2, canMentionOtherGlobals: value2};
}
function allChannelsSentinel(a0) { // fn#43815, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:6725, offset: 0x0115f849, size: 58 bytes, params: 2, frame: 11
let value = importDefault(24) /* metro dependency 24 */;
value = value(a0);
value = value.subtract(1);
return value.toString();
}
function canUseApplicationCommands(a0, a1, a2) { // fn#43816, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:6831, offset: 0x0115f883, size: 244 bytes, params: 4, frame: 20
var r2;
var r1;
var r0;
var can;
let value = !a1;
if (a1) {
r0 = value;
} else {
value = a2.isMultiUserDM();
if (value) {
r1 = !!value;
} else {
if (a2.isDM()) {
r2 = !a2.isSystemDM();
} else {
value = a2.isArchivedLockedThread();
if (value) {
can = a0.can;
value = importAll(483) /* metro dependency 483: BigFlagUtils */;
value = Reflect.apply(can, a0, [value.combine(Permissions.USE_APPLICATION_COMMANDS,
Permissions.MANAGE_THREADS),
a2]);
r2 = value;
} else {
value = isReadableType(a2.type);
if (value) {
can = a0.can;
value = importAll(483) /* metro dependency 483: BigFlagUtils */;
value = Reflect.apply(can, a0, [value.combine(Permissions.USE_APPLICATION_COMMANDS,
Permissions.SEND_MESSAGES),
a2]);
r2 = value;
} else {
r2 = !!value;
}
}
}
r1 = r2;
}
r0 = r1;
}
return r0;
}
function hasAccess({PermissionStore, guild, selfMember, applicationLevelPermissions, commandLevelPermissions, defaultMemberPermissions}) { // fn#43817, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:7169, offset: 0x0115f977, size: 239 bytes, params: 2, frame: 21
const ownerId = guild.ownerId;
const userId = selfMember.userId;
if (ownerId === userId) {
return true;
}
const can = PermissionStore.can;
const ADMINISTRATOR = Permissions.ADMINISTRATOR;
if (Reflect.apply(can, PermissionStore, [ADMINISTRATOR, guild])) {
return true;
}
const id = guild.id;
if (commandLevelPermissions != null) {
var hasAccessGivenPerms2 = hasAccessGivenPerms(selfMember, id, commandLevelPermissions);
if (typeof hasAccessGivenPerms2 === 'boolean') {
return hasAccessGivenPerms2;
}
}
const hasAccessGivenPerms3 = hasAccessGivenPerms(selfMember, id, applicationLevelPermissions);
return !(typeof hasAccessGivenPerms3 === 'boolean' && !hasAccessGivenPerms3) && (defaultMemberPermissions == null || !(importAll(483) /* metro dependency 483: BigFlagUtils */).equals(defaultMemberPermissions,
env0_11) && PermissionStore.can(defaultMemberPermissions, guild));
}
function getCommandAttachmentDraftType(a0) { // fn#43818, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:7606, offset: 0x0115fa66, size: 637 bytes, params: 2, frame: 14
const CommandOrigin = (require(5068) /* metro dependency 5068: ApplicationCommandTypes */).CommandOrigin;
const CHAT = CommandOrigin.CHAT;
if (CHAT === a0) {
return DraftType.SlashCommand;
}
const APPLICATION_LAUNCHER = CommandOrigin.APPLICATION_LAUNCHER;
if (APPLICATION_LAUNCHER === a0) {
return DraftType.ApplicationLauncherCommand;
}
const APP_LAUNCHER_APPLICATION_VIEW = CommandOrigin.APP_LAUNCHER_APPLICATION_VIEW;
if (APP_LAUNCHER_APPLICATION_VIEW === a0) {
return DraftType.ApplicationLauncherCommand;
}
const CONTEXT_MENU = CommandOrigin.CONTEXT_MENU;
if (CONTEXT_MENU === a0) {
return DraftType.ApplicationLauncherCommand;
}
const VOICE_UI = CommandOrigin.VOICE_UI;
if (VOICE_UI === a0) {
return DraftType.ApplicationLauncherCommand;
}
const VOICE_TILE_ACTIVITY_SUGGESTIONS = CommandOrigin.VOICE_TILE_ACTIVITY_SUGGESTIONS;
if (VOICE_TILE_ACTIVITY_SUGGESTIONS === a0) {
return DraftType.ApplicationLauncherCommand;
}
const MINI_SHELF = CommandOrigin.MINI_SHELF;
if (MINI_SHELF === a0) {
return DraftType.ApplicationLauncherCommand;
}
const USER_PROFILE = CommandOrigin.USER_PROFILE;
if (USER_PROFILE === a0) {
return DraftType.ApplicationLauncherCommand;
}
const NOW_PLAYING = CommandOrigin.NOW_PLAYING;
if (NOW_PLAYING === a0) {
return DraftType.ApplicationLauncherCommand;
}
const ACTIVITY_DETAILS = CommandOrigin.ACTIVITY_DETAILS;
if (ACTIVITY_DETAILS === a0) {
return DraftType.ApplicationLauncherCommand;
}
const ACTIVITIES_HOME = CommandOrigin.ACTIVITIES_HOME;
if (ACTIVITIES_HOME === a0) {
return DraftType.ApplicationLauncherCommand;
}
const ACTIVITY_INSTANCE_EMBED = CommandOrigin.ACTIVITY_INSTANCE_EMBED;
if (ACTIVITY_INSTANCE_EMBED === a0) {
return DraftType.ApplicationLauncherCommand;
}
const ACTIVITY_BOOKMARK_EMBED = CommandOrigin.ACTIVITY_BOOKMARK_EMBED;
if (ACTIVITY_BOOKMARK_EMBED === a0) {
return DraftType.ApplicationLauncherCommand;
}
const APP_MESSAGE_EMBED = CommandOrigin.APP_MESSAGE_EMBED;
if (APP_MESSAGE_EMBED === a0) {
return DraftType.ApplicationLauncherCommand;
}
const APP_DMS_ENTRY_POINT_COMMAND_BUTTON = CommandOrigin.APP_DMS_ENTRY_POINT_COMMAND_BUTTON;
if (APP_DMS_ENTRY_POINT_COMMAND_BUTTON === a0) {
return DraftType.ApplicationLauncherCommand;
}
const IMAGE_RECS_MENU = CommandOrigin.IMAGE_RECS_MENU;
if (IMAGE_RECS_MENU === a0) {
return DraftType.ApplicationLauncherCommand;
}
const IMAGE_RECS_SUBMENU = CommandOrigin.IMAGE_RECS_SUBMENU;
if (IMAGE_RECS_SUBMENU === a0) {
return DraftType.ApplicationLauncherCommand;
}
}
function getCommandTriggerSection(a0) { // fn#43819, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:8537, offset: 0x0115fce3, size: 162 bytes, params: 2, frame: 13
const ApplicationCommandTriggerSections = (require(5068) /* metro dependency 5068: ApplicationCommandTypes */).ApplicationCommandTriggerSections;
if (a0 != null) {
return a0.id === BuiltInSectionId.BUILT_IN ? ApplicationCommandTriggerSections.BUILT_IN : a0.id === BuiltInSectionId.FRECENCY ? ApplicationCommandTriggerSections.FRECENCY : ApplicationCommandTriggerSections.APP;
}
}
function getApplicationCommandSection(a0, a1, a2) { // fn#43820, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:8812, offset: 0x0115fd85, size: 145 bytes, params: 4, frame: 17
const value = a1;
const value2 = a2;
const value4 = undefined;
const ApplicationCommandSectionType = (require(5068) /* metro dependency 5068: ApplicationCommandTypes */).ApplicationCommandSectionType;
const APPLICATION = ApplicationCommandSectionType.APPLICATION;
let r4 = value2 ?? (a0 == null || a0.bot == null ? value4 : a0.bot.username);
r4 = r4 ?? a0.name;
return {type: APPLICATION, id: a0.id, name: r4, icon: a0.icon, application: a0, isUserApp: value != null && value};
}
function extractInteractionDataProps({id, options}) { // fn#43821, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:9093, offset: 0x0115fe16, size: 183 bytes, params: 2, frame: 20
var r4;
var r2;
var value4;
let value = undefined;
const r5 = options == null ? value : options.find(function({type}) {
return type === require(dependencyMap[6]).ApplicationCommandOptionType.SUB_COMMAND_GROUP;
});
if (r5 == null) {
r4 = id;
} else {
value4 = id + ('' + SUB_COMMAND_KEY_SEPARATOR + r5.name);
options = r5.options;
r4 = value4;
}
const r0 = options == null ? value : options.find(function({type}) {
return type === require(dependencyMap[6]).ApplicationCommandOptionType.SUB_COMMAND;
});
if (r0 == null) {
r2 = r4;
} else {
value = r4 + ('' + SUB_COMMAND_KEY_SEPARATOR + r0.name);
options = r0.options;
r2 = value;
}
return {commandKey: r2, interactionOptions: options};
}
function trackCommandSelected({command, location, triggerSection, queryLength, sectionName, query, searchResultsPosition, source}) { // fn#43824, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:9508, offset: 0x0115fecd, size: 196 bytes, params: 2, frame: 26
const appAnalyticsUtilsModule = require(4863) /* metro dependency 4863: AppAnalyticsUtils */;
const trackWithMetadata = appAnalyticsUtilsModule.trackWithMetadata;
const APPLICATION_COMMAND_SELECTED = AnalyticEvents.APPLICATION_COMMAND_SELECTED;
let id = command.rootCommand?.id;
id = id ?? command.id;
Reflect.apply(trackWithMetadata, appAnalyticsUtilsModule, [APPLICATION_COMMAND_SELECTED, {command_id: id,
application_id: command.applicationId, location: location, section: triggerSection, query_length: queryLength,
command_text_length: command.displayName.length, section_name: sectionName, query: query,
search_results_position: searchResultsPosition, source: source}]);
}
function _fun43801(a0) { // fn#43801, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:2375, offset: 0x0115ee5a, size: 502 bytes, params: 2, frame: 17
var r1;
var r0;
var object5;
var object6;
var object7;
const object8 = {};
copyDataProperties(object8, a0, undefined);
object8['choices'] = a0.choices?.map(function(a0) {
var r3;
var object = {};
copyDataProperties(object, a0, r3);
object['displayName'] = a0.name_localized ?? a0.name;
return object;
});
object8['options'] = mapOptions(a0.options);
object8['serverLocalizedName'] = a0.name_localized;
object8['displayName'] = a0.name_localized ?? a0.name;
object8['displayDescription'] = a0.description_localized ?? a0.description;
const type = a0.type;
const ApplicationCommandOptionType = (require(1909) /* metro dependency 1909: Server */).ApplicationCommandOptionType;
const CHANNEL = ApplicationCommandOptionType.CHANNEL;
if (type !== CHANNEL) {
if (a0.type === ApplicationCommandOptionType.NUMBER) {
if ('min_value' in a0) {
object5 = {};
copyDataProperties(object5, object8, 6);
object5['minValue'] = a0.min_value;
object5['maxValue'] = a0.max_value;
r0 = object5;
} else if ('max_value' in a0) {
object5 = {};
copyDataProperties(object5, object8, 6);
object5['minValue'] = a0.min_value;
object5['maxValue'] = a0.max_value;
r0 = object5;
} else {
if (a0.type !== ApplicationCommandOptionType.STRING) {
r1 = object8;
} else if ('min_length' in a0) {
object6 = {};
copyDataProperties(object6, object8, 6);
object6['minLength'] = a0.min_length;
object6['maxLength'] = a0.max_length;
r1 = object6;
} else if ('max_length' in a0) {
object6 = {};
copyDataProperties(object6, object8, 6);
object6['minLength'] = a0.min_length;
object6['maxLength'] = a0.max_length;
r1 = object6;
} else {
r1 = object8;
}
r0 = r1;
}
} else if (a0.type !== ApplicationCommandOptionType.INTEGER) {
if (a0.type !== ApplicationCommandOptionType.STRING) {
r1 = object8;
} else if ('min_length' in a0) {
object6 = {};
copyDataProperties(object6, object8, 6);
object6['minLength'] = a0.min_length;
object6['maxLength'] = a0.max_length;
r1 = object6;
} else if ('max_length' in a0) {
object6 = {};
copyDataProperties(object6, object8, 6);
object6['minLength'] = a0.min_length;
object6['maxLength'] = a0.max_length;
r1 = object6;
} else {
r1 = object8;
}
r0 = r1;
} else if ('min_value' in a0) {
object5 = {};
copyDataProperties(object5, object8, 6);
object5['minValue'] = a0.min_value;
object5['maxValue'] = a0.max_value;
r0 = object5;
} else if ('max_value' in a0) {
object5 = {};
copyDataProperties(object5, object8, 6);
object5['minValue'] = a0.min_value;
object5['maxValue'] = a0.max_value;
r0 = object5;
} else {
if (a0.type !== ApplicationCommandOptionType.STRING) {
r1 = object8;
} else if ('min_length' in a0) {
object6 = {};
copyDataProperties(object6, object8, 6);
object6['minLength'] = a0.min_length;
object6['maxLength'] = a0.max_length;
r1 = object6;
} else if ('max_length' in a0) {
object6 = {};
copyDataProperties(object6, object8, 6);
object6['minLength'] = a0.min_length;
object6['maxLength'] = a0.max_length;
r1 = object6;
} else {
r1 = object8;
}
r0 = r1;
}
} else if ('channel_types' in a0) {
object7 = {};
copyDataProperties(object7, object8, 6);
object7['channelTypes'] = a0.channel_types;
r0 = object7;
} else if (a0.type === ApplicationCommandOptionType.NUMBER) {
if ('min_value' in a0) {
object5 = {};
copyDataProperties(object5, object8, 6);
object5['minValue'] = a0.min_value;
object5['maxValue'] = a0.max_value;
r0 = object5;
} else if ('max_value' in a0) {
object5 = {};
copyDataProperties(object5, object8, 6);
object5['minValue'] = a0.min_value;
object5['maxValue'] = a0.max_value;
r0 = object5;
} else {
if (a0.type !== ApplicationCommandOptionType.STRING) {
r1 = object8;
} else if ('min_length' in a0) {
object6 = {};
copyDataProperties(object6, object8, 6);
object6['minLength'] = a0.min_length;
object6['maxLength'] = a0.max_length;
r1 = object6;
} else if ('max_length' in a0) {
object6 = {};
copyDataProperties(object6, object8, 6);
object6['minLength'] = a0.min_length;
object6['maxLength'] = a0.max_length;
r1 = object6;
} else {
r1 = object8;
}
r0 = r1;
}
} else if (a0.type !== ApplicationCommandOptionType.INTEGER) {
if (a0.type !== ApplicationCommandOptionType.STRING) {
r1 = object8;
} else if ('min_length' in a0) {
object6 = {};
copyDataProperties(object6, object8, 6);
object6['minLength'] = a0.min_length;
object6['maxLength'] = a0.max_length;
r1 = object6;
} else if ('max_length' in a0) {
object6 = {};
copyDataProperties(object6, object8, 6);
object6['minLength'] = a0.min_length;
object6['maxLength'] = a0.max_length;
r1 = object6;
} else {
r1 = object8;
}
r0 = r1;
} else if ('min_value' in a0) {
object5 = {};
copyDataProperties(object5, object8, 6);
object5['minValue'] = a0.min_value;
object5['maxValue'] = a0.max_value;
r0 = object5;
} else if ('max_value' in a0) {
object5 = {};
copyDataProperties(object5, object8, 6);
object5['minValue'] = a0.min_value;
object5['maxValue'] = a0.max_value;
r0 = object5;
} else {
if (a0.type !== ApplicationCommandOptionType.STRING) {
r1 = object8;
} else if ('min_length' in a0) {
object6 = {};
copyDataProperties(object6, object8, 6);
object6['minLength'] = a0.min_length;
object6['maxLength'] = a0.max_length;
r1 = object6;
} else if ('max_length' in a0) {
object6 = {};
copyDataProperties(object6, object8, 6);
object6['minLength'] = a0.min_length;
object6['maxLength'] = a0.max_length;
r1 = object6;
} else {
r1 = object8;
}
r0 = r1;
}
return r0;
}
function _fun43813(a0) { // fn#43813, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5243:5973, offset: 0x0115f6c2, size: 82 bytes, params: 2, frame: 14
if (require.test(a0.displayName) && (a0.predicate == null || a0.predicate(importDefault))) {
env0_2.push(a0);
}
}