Files
discord-decomp/sources/modules/autocompleter/native/AutocompleteOptions.tsx
T
2026-07-27 16:20:00 +03:00

350 lines
17 KiB
TypeScript

/* Metro module 11085; source: modules/autocompleter/native/AutocompleteOptions.tsx; dependencies: [7167, 7168, 6583, 1379, 1945, 1867, 661, 5066, 6625, 11086, 1881, 22, 8050, 6526, 11050, 6943, 1423, 1244, 2] */
function _fun84865(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#84865, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11271:6, offset: 0x01f5a285, size: 425 bytes, params: 8, frame: 20
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const applicationCommandAutocompleteStore = importDefault(7167) /* metro dependency 7167: ApplicationCommandAutocompleteStore */;
const applicationCommandStore = importDefault(7168) /* metro dependency 7168: ApplicationCommandStore */;
const stickersStore = importDefault(6583) /* metro dependency 6583: StickersStore */;
const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */;
const guildMemberStore = importDefault(1945) /* metro dependency 1945: GuildMemberStore */;
const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */;
let value = require(661) /* metro dependency 661: Constants */;
const env0_9 = value.AutoCompleteResultTypes;
const env0_10 = value.MAX_AUTOCOMPLETE_RESULTS;
const AUTOCOMPLETE_OPTION_DEBOUNCE_TIME = (require(5066) /* metro dependency 5066: ApplicationCommandConstants */).AUTOCOMPLETE_OPTION_DEBOUNCE_TIME;
value = require(6625) /* metro dependency 6625: ChannelAutocompleteConstants */;
const env0_11 = value.MENTION_SENTINEL;
const env0_12 = value.EMOJI_SENTINEL;
const env0_13 = value.CHANNEL_SENTINEL;
const env0_14 = value.COMMAND_SENTINEL;
const env0_15 = (require(11086) /* metro dependency 11086: ChannelAutocompleteConstants */).AutocompleteTypes;
value = require(1881) /* metro dependency 1881: EmojiConstants */;
const env0_16 = value.EmojiIntention;
const env0_17 = value.EMOJI_MAX_LENGTH;
const env0_18 = value.EMOJI_URL_BASE_SIZE;
value = importDefault(22) /* metro dependency 22 */;
const env0_20 = value.debounce(importDefault(8050) /* metro dependency 8050: executeCommand */,
AUTOCOMPLETE_OPTION_DEBOUNCE_TIME, {'leading': true, 'trailing': true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/autocompleter/native/AutocompleteOptions.tsx');
exports.getAutocompleteOptions = getAutocompleteOptions;
}
function getAutocompleteOptions(a0) { // fn#84866, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11271:636, offset: 0x01f5a42e, size: 312 bytes, params: 2, frame: 8
const value = a1;
const value2 = a2;
const env0_0 = a0;
const env0_1 = value !== undefined ? value : false;
const env0_2 = !(value2 !== undefined) || value2;
const MENTIONS = AutocompleteTypes.MENTIONS;
const CHANNELS = AutocompleteTypes.CHANNELS;
const EMOJIS_AND_STICKERS = AutocompleteTypes.EMOJIS_AND_STICKERS;
const SLASHES = AutocompleteTypes.SLASHES;
const SLASHES_DISCOVERY = AutocompleteTypes.SLASHES_DISCOVERY;
const CHOICES = AutocompleteTypes.CHOICES;
return {[MENTIONS]: {stores: [GuildMemberStore], queryResults: queryResults, matches: function(a0, a1) {
return importDefault(dependencyMap[13]).matchSentinel(a0, a1, MENTION_SENTINEL);
}}, [CHANNELS]: {queryResults: queryResults_84872, matches: matches_84874},
[EMOJIS_AND_STICKERS]: {queryResults: queryResults_84875, matches: matches_84879},
[SLASHES]: {queryResults: function() {
return [];
}, matches: matches_84881}, [SLASHES_DISCOVERY]: {queryResults: function() {
return [];
}, matches: matches_84883}, [CHOICES]: {stores: [ApplicationCommandStore, ApplicationCommandAutocompleteStore],
queryResults: queryResults_84884, matches: function() {
return false;
}}};
}
function getAutocompleteOptionsQueryResults(a0, a1, a2) { // fn#84867, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11271:678, owner: getAutocompleteOptions.queryResults, offset: 0x01f5a566, size: 324 bytes, params: 4, frame: 20
var environment;
let value = environment.__proto__;
const value2 = undefined;
const defaultImport = importDefault(6526) /* metro dependency 6526: AutocompleteUtils */;
const value4 = a1 == null;
const {users, globals, roles} = defaultImport.queryMentionResults({query: a0, channel: env0_0,
canMentionEveryone: a1 == null ? value2 : a1.canMentionEveryone,
canMentionHere: a1 == null ? value2 : a1.canMentionHere,
canMentionUsers: a1 == null ? value2 : a1.canMentionUsers,
canMentionRoles: a1 == null ? value2 : a1.canMentionRoles,
includeAllGuildUsers: value4 ? value2 : a1.canMentionAnyGuildUser,
includeNonMentionableRoles: a1 == null ? value2 : a1.canMentionNonMentionableRoles, request: a2});
value = importDefault(22) /* metro dependency 22 */;
const value6 = users.map(function(a0) {
var object = {};
var USER = AutoCompleteResultTypes.USER;
object.type = USER;
copyDataProperties(object, a0, USER);
return object;
});
items = [];
arraySpread(items, roles.map(function(a0) {
var object = {};
var ROLE = AutoCompleteResultTypes.ROLE;
object.type = ROLE;
copyDataProperties(object, a0, ROLE);
return object;
}), arraySpread(items, globals.map(function(a0) {
var object = {};
var GLOBAL = AutoCompleteResultTypes.GLOBAL;
object.type = GLOBAL;
copyDataProperties(object, a0, GLOBAL);
return object;
}), arraySpread(items, value6, 0, value4), value4), value4);
value = value(items);
return value.value();
}
function getAutocompleteOptionsQueryResults_84872(a0, a1) { // fn#84872, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11271:1329, owner: getAutocompleteOptions.queryResults, offset: 0x01f5a739, size: 176 bytes, params: 3, frame: 15
var environment;
var r0;
var value2;
var value4;
let value = undefined;
if (a1 == null) {
value2 = environment.__proto__;
value = importDefault(6526) /* metro dependency 6526: AutocompleteUtils */;
value = value.queryChannelResults({query: a0, channel: env0_0});
r0 = value;
} else if (a1.isActiveApplicationCommand) {
value4 = environment.__proto__;
value = importDefault(6526) /* metro dependency 6526: AutocompleteUtils */;
value = value.queryApplicationCommandChannelResults({query: a0, channel: env0_0,
channelTypes: a1 == null ? value : a1.channelTypes});
r0 = value;
} else {
value2 = environment.__proto__;
value = importDefault(6526) /* metro dependency 6526: AutocompleteUtils */;
value = value.queryChannelResults({query: a0, channel: env0_0});
r0 = value;
}
return r0.channels.map(function(a0) {
var object = {};
object.type = AutoCompleteResultTypes.CHANNEL;
object.channel = a0;
object.category = ChannelStore.getChannel(a0.parent_id);
return object;
});
}
function getAutocompleteOptionsMatches_84874(a0, a1) { // fn#84874, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11271:1654, owner: getAutocompleteOptions.matches, offset: 0x01f5a81d, size: 73 bytes, params: 3, frame: 16
var r0;
var value;
if (value) {
r0 = !env0_0.isPrivate();
} else {
value = environment.__proto__;
value = (importDefault(6526) /* metro dependency 6526: AutocompleteUtils */).matchSentinel(a0, a1,
CHANNEL_SENTINEL);
r0 = value;
}
return r0;
}
function getAutocompleteOptionsQueryResults_84875(a0, a1) { // fn#84875, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11271:1733, owner: getAutocompleteOptions.queryResults, offset: 0x01f5a866, size: 422 bytes, params: 3, frame: 22
var r5;
var binding;
var defaultImport2;
var queryStickers;
let r11 = env0_2 ? 0 : 40;
const defaultImport = importDefault(dependencyMap[13]);
const queryEmojiResults = defaultImport.queryEmojiResults;
const CHAT = EmojiIntention.CHAT;
const value5 = Reflect.apply(queryEmojiResults, defaultImport, [{query: a0, channel: env0_0, intention: CHAT,
maxCount: MAX_AUTOCOMPLETE_RESULTS + r11}]);
const r2 = a1 == null ? [] : a1.includeEmojiPremiumUpsell && value5.emojis.locked.length > 0 && value5.emojis.unlocked.length < 4 ? [{type: AutoCompleteResultTypes.EMOJI_PREMIUM_UPSELL,
results: value5.emojis.locked}] : [];
if (env0_2) {
binding = env1_19;
if (!(binding || StickersStore.hasLoadedStickerPacks)) {
require(dependencyMap[14]).fetchStickerPacks();
r11 = dependencyMap;
}
defaultImport2 = importDefault(dependencyMap[13]);
queryStickers = defaultImport2.queryStickers;
binding = env0_0;
r5 = Reflect.apply(queryStickers, defaultImport2, [[a0], true, [binding, function(a0, a1) {
var SENDABLE = require(dependencyMap[15]).StickerSendability.SENDABLE;
return a1 === SENDABLE;
}]]);
} else {
r5 = [];
}
let value = r5.map(function({sticker}) {
return {type: AutoCompleteResultTypes.STICKER, name: sticker.name, sticker: sticker};
});
items = [];
value = arraySpread(items, value, 0, r11);
const unlocked = value5.emojis.unlocked;
arraySpread(items, r2, arraySpread(items, unlocked.map(_fun84878), value, r11), r11);
return items;
}
function getAutocompleteOptionsMatches_84879(a0, a1) { // fn#84879, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11271:2428, owner: getAutocompleteOptions.matches, offset: 0x01f5aaf3, size: 76 bytes, params: 3, frame: 14
const value = environment.__proto__;
return a0 === EMOJI_SENTINEL && (!(a1.length < 2 || a1.length > EMOJI_MAX_LENGTH) && !a1.includes(EMOJI_SENTINEL));
}
function getAutocompleteOptionsMatches_84881(a0, a1, a2) { // fn#84881, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11271:2528, owner: getAutocompleteOptions.matches, offset: 0x01f5ab3f, size: 56 bytes, params: 4, frame: 4
var r0;
let value = a2 === 0;
if (value) {
value = environment.__proto__;
value = a0 === COMMAND_SENTINEL;
r0 = value;
} else {
r0 = value;
}
r0 = r0 && !(env0_1 && a1.length === 0);
return r0;
}
function getAutocompleteOptionsMatches_84883(a0, a1, a2) { // fn#84883, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11271:2622, owner: getAutocompleteOptions.matches, offset: 0x01f5ab77, size: 55 bytes, params: 4, frame: 3
var value;
let r0 = env0_1 && a2 === 0;
if (r0) {
value = environment.__proto__;
value = a0 === COMMAND_SENTINEL;
r0 = value;
}
r0 = r0 && a1.length === 0;
return r0;
}
function getAutocompleteOptionsQueryResults_84884(a0, a1) { // fn#84884, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11271:2688, owner: getAutocompleteOptions.queryResults, offset: 0x01f5abae, size: 492 bytes, params: 3, frame: 22
var environment;
var choices;
var r3;
var r0;
var value;
var value2;
var object2;
var value3;
var getGuild;
var binding;
var value5;
var binding2;
var name;
var getAutocompleteChoices;
var id;
var value6;
var intl;
var array;
if (a1 == null) {
choices = a1?.choices;
} else {
var option = a1.option;
if (option == null) {
value = undefined;
choices = a1 == null ? value : a1.choices;
if (choices == null) {
r3 = [];
} else {
value2 = environment.__proto__;
value = importDefault(6526) /* metro dependency 6526: AutocompleteUtils */;
choices = value.queryChoiceResults({query: a0, choices: choices}).choices;
value = choices.map(function(a0) {
return {type: AutoCompleteResultTypes.CHOICE, choice: a0};
});
r3 = value;
}
return r3;
}
if (option.autocomplete) {
value = undefined;
if ((a1 == null ? value : a1.activeCommand) == null) {
value = undefined;
choices = a1 == null ? value : a1.choices;
if (choices == null) {
r3 = [];
} else {
value2 = environment.__proto__;
value = importDefault(6526) /* metro dependency 6526: AutocompleteUtils */;
choices = value.queryChoiceResults({query: a0, choices: choices}).choices;
value = choices.map(function(a0) {
return {type: AutoCompleteResultTypes.CHOICE, choice: a0};
});
r3 = value;
}
return r3;
}
if ((a1 == null ? value : a1.optionValues) != null) {
value3 = environment.__proto__;
getGuild = GuildStore.getGuild;
binding = env0_0;
value5 = Reflect.apply(getGuild, GuildStore, [binding.guild_id]);
binding2 = env1_20;
object2 = {};
object2.command = a1.activeCommand;
object2.optionValues = a1.optionValues;
option = a1.option;
name = option.name;
object2.context = {channel: binding, guild: value5, autocomplete: {name: name, query: a0}};
binding2(object2);
getAutocompleteChoices = ApplicationCommandAutocompleteStore.getAutocompleteChoices;
id = binding.id;
option = a1.option;
name = option.name;
value6 = Reflect.apply(getAutocompleteChoices, ApplicationCommandAutocompleteStore, [id, name, a0]);
if (value6 == null) {
array = new global.Array(4);
array = array.fill({type: AutoCompleteResultTypes.CHOICE_LOADING});
r0 = array;
} else if (value6.length === 0) {
object2 = {};
object2.type = AutoCompleteResultTypes.LABEL;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
object2.label = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['41014u']);
r0 = [object2];
} else {
r0 = value6.map(_fun84885);
}
return r0;
}
value = undefined;
choices = a1 == null ? value : a1.choices;
if (choices == null) {
r3 = [];
} else {
value2 = environment.__proto__;
value = importDefault(6526) /* metro dependency 6526: AutocompleteUtils */;
choices = value.queryChoiceResults({query: a0, choices: choices}).choices;
value = choices.map(_fun84886);
r3 = value;
}
return r3;
}
choices = a1?.choices;
}
if (choices == null) {
r3 = [];
} else {
value2 = environment.__proto__;
value = importDefault(6526) /* metro dependency 6526: AutocompleteUtils */;
choices = value.queryChoiceResults({query: a0, choices: choices}).choices;
value = choices.map(function(a0) {
return {type: AutoCompleteResultTypes.CHOICE, choice: a0};
});
r3 = value;
}
return r3;
}
function _fun84878(a0) { // fn#84878, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11271:2257, offset: 0x01f5aa66, size: 141 bytes, params: 2, frame: 17
const object2 = {};
const value = environment.__proto__.__proto__;
const EMOJI = AutoCompleteResultTypes.EMOJI;
object2.type = EMOJI;
object2.name = a0.name;
object2.url = a0.id != null ? (importDefault(1423) /* metro dependency 1423: AvatarUtils */).getEmojiURL({id: a0.id,
animated: a0.animated, size: EMOJI_URL_BASE_SIZE}) : a0.url;
object2.surrogates = a0.id == null ? a0.surrogates : undefined;
return object2;
}
function _fun84885(a0) { // fn#84885, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11271:3192, offset: 0x01f5ad9a, size: 29 bytes, params: 2, frame: 2
const CHOICE = AutoCompleteResultTypes.CHOICE;
return {type: CHOICE, choice: a0};
}