decord/alpha/source/modules/soundboard/searchSounds.tsx
2026-10-09 10:00:15 +00:00

136 lines
4.4 KiB
TypeScript

// Module ID: 7048
// Function ID: 7049
// Name: searchSounds
// Dependencies: [5994, 1085, 551, 1265, 4723, 6101, 7049, 2]
// Exports: searchSounds, trackSearchResultViewed, trackSearchStart
// Module 7048 (searchSounds)
import debounceDefault from "debounce" /* 551 */;
import AnalyticsUtilsDefault from "AnalyticsUtils" /* 1265 */;
import UnicodeEmojisDefault from "UnicodeEmojis" /* 4723 */;
import fuzzysearchDefault from "fuzzysearch" /* 6101 */;
import SoundboardUtils from "SoundboardUtils" /* 7049 */;
import EmojiStore from "EmojiStore" /* 5994 */;
import Constants from "Constants" /* 1085 */;
import size from "module_2" /* 2 */;
let closure_4;
let hasOwnProperty;
function trackSearchStart(location_stack, channel_id) {
const obj = AnalyticsUtilsDefault;
const obj2 = { channel_id, search_type: hasOwnProperty.SOUNDBOARD, location_stack };
obj.track(constants.SEARCH_STARTED, obj2);
}
function trackSearchResultViewed(total_results, location_stack, channel_id, query) {
const obj = AnalyticsUtilsDefault;
const obj2 = { search_type: hasOwnProperty.SOUNDBOARD, channel_id, query, total_results: total_results.length, location_stack };
obj.track(constants.SEARCH_RESULT_VIEWED, obj2);
}
({ AnalyticEvents: closure_4, SearchTypes: hasOwnProperty } = Constants);
let closure_6 = debounceDefault(trackSearchStart, 350);
let closure_7 = debounceDefault(trackSearchResultViewed, 350);
let result = size.fileFinishedImporting("modules/soundboard/searchSounds.tsx");
export { trackSearchStart };
export { trackSearchResultViewed };
export const searchSounds = function searchSounds(arg0, availableSounds, stateFromStores, channel, arg4) {
let closure_0 = arg0;
let closure_1 = stateFromStores;
let closure_2 = channel;
let closure_3 = arg4;
let closure_4 = availableSounds.reduce((acc, soundId) => {
let names;
let id;
const tmp = closure_6;
const tmp2 = closure_3;
if (channel != null) {
id = tmp3.id;
}
tmp(tmp2, id);
soundId = soundId.soundId;
const toLocaleLowerCaseResult = closure_0.toLocaleLowerCase();
const name = soundId.name;
const toLocaleLowerCaseResult1 = name.toLocaleLowerCase();
let customEmojiById = null;
const tmp7 = stateFromStores;
if (null != soundId.emojiId) {
customEmojiById = EmojiStore.getCustomEmojiById(soundId.emojiId);
}
let result = null;
if (null != soundId.emojiName) {
const obj2 = UnicodeEmojisDefault;
result = obj2.convertSurrogateToName(soundId.emojiName, false);
}
let byName = null;
if (null != result) {
const obj3 = UnicodeEmojisDefault;
byName = obj3.getByName(result);
}
if (null != customEmojiById) {
const items = [customEmojiById.name];
names = items;
} else {
names = undefined;
if (byName != null) {
names = byName.names;
}
if (names == null) {
names = [];
}
}
let num = 0;
if (toLocaleLowerCaseResult === toLocaleLowerCaseResult1) {
num = 8;
}
let sum = num;
if (names.includes(toLocaleLowerCaseResult)) {
sum = num + 7;
}
let sum1 = sum;
if (toLocaleLowerCaseResult1.startsWith(toLocaleLowerCaseResult)) {
sum1 = sum + 6;
}
let sum2 = sum1;
if (names.some((item) => item.startsWith(toLocaleLowerCaseResult))) {
sum2 = sum1 + 5;
}
let sum3 = sum2;
if (toLocaleLowerCaseResult1.endsWith(toLocaleLowerCaseResult)) {
sum3 = sum2 + 4;
}
let sum4 = sum3;
if (names.some((item) => item.endsWith(toLocaleLowerCaseResult))) {
sum4 = sum3 + 3;
}
const name2 = soundId.name;
let sum5 = sum4;
const tmp22 = fuzzysearchDefault;
if (tmp22(toLocaleLowerCaseResult, name2.toLocaleLowerCase())) {
sum5 = sum4 + 2;
}
let sum6 = sum5;
if (names.some((item) => stateFromStores(channel[5])(toLocaleLowerCaseResult, item))) {
sum6 = sum5 + 1;
}
let result1 = sum6 > 0;
if (0 < sum6) {
const obj4 = SoundboardUtils;
result1 = obj4.canUseSoundboardSound(tmp7, soundId, tmp3);
}
let sum7 = sum6;
if (result1) {
sum7 = sum6 + 100;
}
acc[soundId] = sum7;
return acc;
}, {});
const found = availableSounds.filter((item) => closure_4[item.soundId] > 0);
const sorted = found.sort((arg0, arg1) => closure_4[arg1.soundId] - closure_4[arg0.soundId]);
let id;
let tmp2 = closure_7;
if (channel != null) {
id = channel.id;
}
tmp2(sorted, arg4, id, arg0);
return sorted;
};