Files
2026-07-28 01:06:53 +03:00

863 lines
43 KiB
TypeScript

/* Metro module 11822; source: modules/search/native/SearchPlatformUtils.tsx; dependencies: [4792, 9674, 9615, 11823, 661, 9675, 9546, 1391, 6996, 477, 1848, 4056, 1471, 8765, 697, 3829, 9673, 11828, 9682, 22, 628, 2] */
import SearchMessageStore from '../SearchMessageStore.tsx'; /* Metro dependency 4792 */
import SearchQueryStore from './stores/SearchQueryStore.tsx'; /* Metro dependency 9674 */
import SearchActionCreators from '../SearchActionCreators.tsx'; /* Metro dependency 9682 */
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as FlagUtilsModule from '../../../external/discord_common/js/shared/utils/FlagUtils.tsx'; /* Metro dependency 1391 */
import * as UserSettingsModule from '../../user_settings/UserSettings.tsx'; /* Metro dependency 3829 */
import * as UseKeyboardIsOpenModule from '../../keyboard/native/useKeyboardIsOpen.tsx'; /* Metro dependency 6996 */
import * as MediaSourceUtilModule from '../../media_viewer/native/MediaSourceUtil.tsx'; /* Metro dependency 9546 */
import * as SearchConstantsModule from '../SearchConstants.tsx'; /* Metro dependency 9615 */
import * as SearchUtilsModule from '../SearchUtils.tsx'; /* Metro dependency 9675 */
function _fun90549(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#90549, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:6, offset: 0x0203e054, size: 676 bytes, params: 8, frame: 31
let env0_0 = require;
const _arrayLikeToArray_90552 = 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 performKeyboardAwareNavigation2 = performKeyboardAwareNavigation;
const closure2 = function(a0) {
var env0_0 = a0;
global.setTimeout(_fun90556, 200);
};
const getUrlIcon2 = getUrlIcon;
const getGridItemBorderStyles2 = getGridItemBorderStyles;
const closure5 = function({itemIndex, numItems, numColumns, spacing}) {
var r8;
var object = {};
copyDataProperties(object, getGridItemBorderStyles({itemIndex: itemIndex, numItems: numItems,
numColumns: numColumns}), r8);
copyDataProperties(object, getGridItemSpacingStyles({itemIndex: itemIndex, spacing: spacing,
numColumns: numColumns}), r8);
return object;
};
const closure6 = function({itemIndex, spacing, numColumns}) {
var value = spacing * (numColumns - 1) / numColumns;
var value2 = itemIndex % numColumns;
if (value2 === 0) {
return {marginEnd: value};
}
if (numColumns - 1 === value2) {
return {marginStart: value};
}
return {marginHorizontal: value / 2};
};
const closure7 = function(a0) {
return {id: a0.text, text: a0.text};
};
const _getLimit = function(a0) {
var Math = global.Math;
return Math.min(a0, MAX_SEARCH_RESULTS_LIMIT);
};
const getInitialFetchLimit = function(a0) {
return _getLimit(SEARCH_TABS_TO_SEARCH_QUERY_LIMITS[a0]);
};
const getNextFetchLimit = function(a0) {
return _getLimit(2 * SEARCH_TABS_TO_SEARCH_QUERY_LIMITS[a0]);
};
const fetchInitialMessages2 = fetchInitialMessages;
const syncAutocomplete2 = syncAutocomplete;
const subscribeSearchQueryState2 = subscribeSearchQueryState;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = SearchConstantsModule;
const env0_5 = value.CHANNEL_SEARCH_INITIAL_MESSAGE_TABS;
const env0_6 = value.MAX_SEARCH_RESULTS_LIMIT;
const env0_7 = value.MESSAGE_SEARCH_RESULT_TABS;
const env0_8 = value.SEARCH_INITIAL_MESSAGE_TABS;
const env0_9 = value.SEARCH_TABS_TO_SEARCH_QUERY_LIMITS;
const env0_10 = value.SearchFileTypes;
const env0_11 = value.SearchLinkTypes;
const env0_12 = value.SearchMediaTypes;
value = require(11823) /* metro dependency 11823: SearchPlatformConstants */;
const env0_13 = value.PLATFORM_REGEX_ICON_PAIRS;
const SEARCH_TEXT_INPUT_DEBOUNCE_TIME = value.SEARCH_TEXT_INPUT_DEBOUNCE_TIME;
value = require(661) /* metro dependency 661: Constants */;
const env0_14 = value.MessageFlags;
const env0_15 = value.SearchModes;
const env0_16 = value.SearchTypes;
object = {performKeyboardAwareNavigation: performKeyboardAwareNavigation2, delayUntilNavigationComplete: closure2,
getUrlIcon: getUrlIcon2, getGridItemBorderStyles: getGridItemBorderStyles2, getMediaGridItemStyles: closure5,
getGridItemSpacingStyles: closure6, toSearchBarTag: closure7, fetchInitialMessages: fetchInitialMessages2};
object.fetchInitialMessagesDebounced = (importDefault(22) /* metro dependency 22 */).debounce(fetchInitialMessages2,
SEARCH_TEXT_INPUT_DEBOUNCE_TIME);
object.fetchNextMessages = fetchNextMessages;
object.syncAutocomplete = syncAutocomplete2;
object.syncAutocompleteDebounced = (importDefault(22) /* metro dependency 22 */).debounce(syncAutocomplete2,
SEARCH_TEXT_INPUT_DEBOUNCE_TIME);
object.navigateToSearchWithPrefetch = function(a0, a1) {
importDefault(dependencyMap[18]).initializeAutocomplete(a1);
importDefault(dependencyMap[17]).initializeSearchQuery(a1);
fetchInitialMessages(a1);
a0.navigate('search', {searchContext: a1});
};
object.subscribeSearchQueryState = subscribeSearchQueryState2;
object.subscribeTextInputValue = function(a0, a1, a2) {
var env0_0 = a1;
return subscribeSearchQueryState(a0, _fun90579, _fun90580, a2);
};
(FileImportTrackerModule).fileFinishedImporting('modules/search/native/SearchPlatformUtils.tsx');
exports.default = object;
exports.getMedia = getMedia;
exports.getFiles = function(a0) {
var env0_0 = a0;
var value = a0.getContentMessage();
var env0_2 = value;
var attachments = value.attachments;
if (attachments != null) {
attachments.forEach(_fun90586);
}
return [];
};
exports.getLinks = getLinks;
exports.performKeyboardAwareNavigation = performKeyboardAwareNavigation2;
exports.delayUntilNavigationComplete = closure2;
exports.getUrlIcon = getUrlIcon2;
exports.getGridItemBorderStyles = getGridItemBorderStyles2;
exports.getMediaGridItemStyles = closure5;
exports.getGridItemSpacingStyles = closure6;
exports.toSearchBarTag = closure7;
function _createForOfIteratorHelperLoose_90550(a0, a1) { // fn#90550, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:503, offset: 0x0203e2f8, size: 372 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 _fun90551;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_90552(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_90552(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_90552(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun90551;
}
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 _fun90551() { // fn#90551, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:1074, offset: 0x00c39d73, size: 69 bytes, params: 1, frame: 5
return env0_1 >= env0_0.length ? {done: true} : {done: false,
value: env0_0[typeof env0_1 === 'bigint' ? env0_1 : +env0_1]};
}
}
function performKeyboardAwareNavigation(a0) { // fn#90553, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:1413, offset: 0x0203e46c, size: 142 bytes, params: 2, frame: 16
var moduleValue2;
const env0_0 = a0;
const getKeyboardIsOpen = UseKeyboardIsOpenModule.getKeyboardIsOpen;
if (Reflect.apply(getKeyboardIsOpen, UseKeyboardIsOpenModule, [])) {
moduleValue2 = require(477) /* metro dependency 477: PlatformUtils */;
if (moduleValue2.isIOS()) {
(require(1848) /* metro dependency 1848: KeyboardManagerUtils */).dismissGlobalKeyboard();
global.setTimeout(_fun90554, 100);
} else {
a0();
}
} else {
a0();
}
function _fun90554() { // fn#90554, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:1550, offset: 0x00cefeb4, size: 15 bytes, params: 1, frame: 9
return env0_0();
}
}
function delayUntilNavigationComplete(a0) { // fn#90555, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:1569, offset: 0x0203e4fa, size: 37 bytes, params: 2, frame: 13
const env0_0 = a0;
global.setTimeout(_fun90556, 200);
function _fun90556() { // fn#90556, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:1622, offset: 0x00cefeb4, size: 15 bytes, params: 1, frame: 9
return env0_0();
}
}
function getUrlIcon(a0) { // fn#90557, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:1636, offset: 0x0203e51f, size: 273 bytes, params: 2, frame: 16
var r4;
var property;
var REGEX;
var Icon;
var exec;
var value3;
if (a0 != null) {
var defaultImport = importDefault(1471) /* metro dependency 1471: URLUtils */;
if (defaultImport.safeParseWithQuery(a0) == null) {
return (require(4056) /* metro dependency 4056: LinkIcon */).LinkIcon;
}
var defaultImport2 = importDefault(1471) /* metro dependency 1471: URLUtils */;
if (defaultImport2.isDiscordUrl(a0)) {
return (require(8765) /* metro dependency 8765: ClydeIcon */).ClydeIcon;
}
var length = PLATFORM_REGEX_ICON_PAIRS.length;
var value2 = 0;
if (value2 < length) {
r4 = value2;
loopExit4: while (true) {
property = PLATFORM_REGEX_ICON_PAIRS[r4];
REGEX = property.REGEX;
Icon = property.Icon;
exec = REGEX.exec;
if (Reflect.apply(exec, REGEX, [a0]) != null) {
return Icon;
}
value3 = typeof r4 === 'bigint' ? r4 + 1n : +r4 + 1;
length = PLATFORM_REGEX_ICON_PAIRS.length;
if (value3 < length) {
r4 = value3;
continue;
}
break loopExit4;
}
return (require(4056) /* metro dependency 4056: LinkIcon */).LinkIcon;
}
}
return (require(4056) /* metro dependency 4056: LinkIcon */).LinkIcon;
}
function getGridItemBorderStyles({itemIndex, numItems, numColumns}) { // fn#90558, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:1931, offset: 0x0203e630, size: 310 bytes, params: 2, frame: 16
var r0;
var object;
let Math = global.Math;
let value = Math.ceil(numItems / numColumns);
Math = global.Math;
if (itemIndex === 0) {
object = {};
object.borderTopLeftRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
r0 = object;
} else if (itemIndex === numColumns - 1) {
object = {};
object.borderTopRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
r0 = object;
} else if (itemIndex % numColumns != 0) {
value = undefined;
if (itemIndex !== value * numColumns - 1) {
r0 = value;
} else {
object = {};
object.borderBottomRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
r0 = object;
}
} else if (Math.floor(itemIndex / numColumns) === value - 1) {
object = {};
object.borderBottomLeftRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
r0 = object;
} else {
value = undefined;
if (itemIndex !== value * numColumns - 1) {
r0 = value;
} else {
object = {};
object.borderBottomRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
r0 = object;
}
}
return r0;
}
function onInitialFetchMessagesSuccess({searchContext, tabEntries}) { // fn#90565, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:2896, offset: 0x0203e899, size: 85 bytes, params: 2, frame: 12
var value;
if (tabEntries.every(function(a0) {
var r0;
var r1;
var r2;
var item3;
var value3;
var iterator = a0[Symbol.iterator]();
var iterator2 = iterator.next;
var item2 = Reflect.apply(iterator2, iterator, []);
var item = item2.value;
item2 = item2.done ? undefined : iterator;
var value = undefined;
var value2 = item2 === value;
if (value2) {
r0 = item2;
r1 = value;
r2 = value2;
} else {
item3 = Reflect.apply(iterator2, item2, []);
item = item3.value;
item3 = item3.done ? undefined : item2;
value3 = item3 === value;
if (value3) {
r0 = item3;
r1 = value;
r2 = value3;
} else {
r0 = item3;
r1 = item;
r2 = value3;
}
}
if (!r2) {
r0.return();
}
return r1.total_results === 0 || r1.total_results == null;
})) {
value = importDefault(9673) /* metro dependency 9673: Tracking */;
value.trackSearchEmptyMessageResult({searchContext: searchContext});
}
}
function onFetchMessagesStart({searchContext, searchQueryString}) { // fn#90567, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:3090, offset: 0x0203e942, size: 67 bytes, params: 2, frame: 14
(importDefault(11828) /* metro dependency 11828: SearchPlatformActionCreators */).updateSearchQuery(searchContext,
function(a0) {
return a0.setSearchResultsQuery(searchQueryString);
});
}
function fetchInitialMessages(a0) { // fn#90569, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:3222, offset: 0x0203e99c, size: 395 bytes, params: 2, frame: 24
var object;
var defaultImport3;
var fetchTabMessages;
var cursor;
var value5;
const env0_0 = a0;
const isInitialSearchQuery2 = SearchQueryStore.isInitialSearchQuery(a0);
const queryString = SearchQueryStore.getQueryString(a0);
const r7 = isInitialSearchQuery2 ? SearchTypes.GUILD_CHANNEL === a0.type || SearchTypes.CHANNEL === a0.type ? CHANNEL_SEARCH_INITIAL_MESSAGE_TABS : SEARCH_INITIAL_MESSAGE_TABS : MESSAGE_SEARCH_RESULT_TABS;
const searchTabFetchId = (SearchUtilsModule).getSearchTabFetchId(a0, r7[0],
queryString);
const searchMessageStoreBinding = SearchMessageStore;
const getIsFetching = searchMessageStoreBinding.getIsFetching;
if (!Reflect.apply(getIsFetching, searchMessageStoreBinding, [searchTabFetchId])) {
(importDefault(9682) /* metro dependency 9682: SearchActionCreators */).clearAllSearchMesssages();
(importDefault(9673) /* metro dependency 9673: Tracking */).trackSearchStarted({searchContext: a0});
defaultImport3 = importDefault(9682) /* metro dependency 9682: SearchActionCreators */;
fetchTabMessages = defaultImport3.fetchTabMessages;
object = {searchContext: a0, searchTabs: r7, searchQueryString: queryString, getId: getId_90570};
object.getLimit = getInitialFetchLimit;
object.onFetchStart = onFetchMessagesStart;
object.onFetchSuccess = onInitialFetchMessagesSuccess;
cursor = SearchMessageStore.getCursor(searchTabFetchId);
value5 = null;
object.pagination = {cursor: value5 != cursor ? cursor : value5};
object.trackExactTotalHits = (require(3829) /* metro dependency 3829: UserSettings */).SearchResultExactCountEnabled.getSetting();
object.searchMode = SearchModes.NEWEST;
Reflect.apply(fetchTabMessages, defaultImport3, [object]);
}
function fetchInitialMessagesGetId(a0) { // fn#90570, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:3668, owner: fetchInitialMessages.getId, offset: 0x0203eb27, size: 54 bytes, params: 2, frame: 15
const value = environment.__proto__;
return (SearchUtilsModule).getSearchTabFetchId(env0_0, a0, env0_1);
}
}
function syncAutocomplete(a0) { // fn#90571, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:3964, offset: 0x0203eb5d, size: 151 bytes, params: 2, frame: 21
const queryString = SearchQueryStore.getQueryString(a0, true);
const value3 = (SearchUtilsModule).tokenizeQuery(queryString);
const selectionScope = (SearchUtilsModule).getSelectionScope(value3,
queryString.length - 1, queryString.length - 1);
SearchActionCreators.updateAutocompleteQuery({searchContext: a0, tokens: value3, cursorScope: selectionScope,
queryString: queryString});
}
function subscribeSearchQueryState(a0, a1, a2, a3) { // fn#90572, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:4194, offset: 0x0203ebf4, size: 116 bytes, params: 5, frame: 17
const value = a3;
const env0_0 = a0;
const env0_1 = a1;
const env0_2 = a2;
const env0_3 = a1(SearchQueryStore.getManager(a0));
if (value && env0_3 != null) {
a2(env0_3, undefined);
}
SearchQueryStore.addChangeListener(subscribeSearchQueryStateCallback);
return function() {
return SearchQueryStore.removeChangeListener(subscribeSearchQueryStateCallback);
};
function subscribeSearchQueryStateCallback() { // fn#90573, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:4304, owner: subscribeSearchQueryState.callback, offset: 0x0203ec68, size: 99 bytes, params: 1, frame: 15
const value = environment.__proto__;
const moduleValue = require(SearchQueryStore.getManager(env0_0));
if (env0_3 == null) {
importDefault(moduleValue, env0_3);
} else if (!(importDefault(628) /* metro dependency 628: shallowEqual */)(env0_3, moduleValue)) {
importDefault(moduleValue, env0_3);
}
}
}
function fetchNextMessages(a0, a1, a2) { // fn#90575, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:4918, offset: 0x0203ece6, size: 505 bytes, params: 4, frame: 25
var r1;
var r0;
var r3;
var cursor;
var totalCount;
var messages;
const SearchResultExactCountEnabled = (UserSettingsModule).SearchResultExactCountEnabled;
var defaultImport;
var fetchTabMessages;
var object;
var cursor2;
var value22;
const env0_0 = a0;
const queryString = SearchQueryStore.getQueryString(a0);
const searchTabFetchId = (SearchUtilsModule).getSearchTabFetchId(a0, a1,
queryString);
const initialFetchLimit = getInitialFetchLimit(a1);
const searchTabFetchId2 = (SearchUtilsModule).getSearchTabFetchId(a0, a1,
queryString);
if (SearchMessageStore.getIsInitialFetchComplete(searchTabFetchId2)) {
cursor = SearchMessageStore.getCursor(searchTabFetchId2);
totalCount = SearchMessageStore.getTotalCount(searchTabFetchId2);
messages = SearchMessageStore.getMessages(searchTabFetchId2);
if (SearchResultExactCountEnabled.getSetting()) {
r1 = cursor != null && totalCount != null;
r1 = r1 && messages != null;
r1 = r1 && messages.length < totalCount;
r0 = r1;
} else if (totalCount == null) {
r0 = cursor != null;
} else if (totalCount < initialFetchLimit) {
r1 = cursor != null && totalCount != null;
r1 = r1 && messages != null;
r1 = r1 && messages.length < totalCount;
r0 = r1;
} else {
r0 = cursor != null;
}
r3 = r0;
} else {
r3 = true;
}
const isFetching = SearchMessageStore.getIsFetching(searchTabFetchId);
r0 = r3 ? !SearchMessageStore.getIsInitialFetchComplete(searchTabFetchId) : !r3;
r0 = !r0 ? isFetching : r0;
if (r0) {
r0 = !r0;
} else {
defaultImport = importDefault(9682) /* metro dependency 9682: SearchActionCreators */;
fetchTabMessages = defaultImport.fetchTabMessages;
object = {searchContext: a0};
object.searchTabs = [a1];
object.searchQueryString = queryString;
object.getLimit = getNextFetchLimit;
object.getId = getId_90576;
object.onFetchStart = onFetchMessagesStart;
object.onFetchSuccess = a2;
cursor2 = SearchMessageStore.getCursor(searchTabFetchId);
value22 = null;
object.pagination = {cursor: value22 != cursor2 ? cursor2 : value22};
object.trackExactTotalHits = SearchResultExactCountEnabled.getSetting();
object.searchMode = SearchModes.NEWEST;
r0 = Reflect.apply(fetchTabMessages, defaultImport, [object]);
}
return r0;
function fetchNextMessagesGetId(a0) { // fn#90576, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:5542, owner: fetchNextMessages.getId, offset: 0x0203eb27, size: 54 bytes, params: 2, frame: 15
const value = environment.__proto__;
return (SearchUtilsModule).getSearchTabFetchId(env0_0, a0, env0_1);
}
}
function subscribeTextInputValue(a0, a1, a2) { // fn#90578, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:6162, offset: 0x0203ef42, size: 44 bytes, params: 4, frame: 17
const env0_0 = a1;
return subscribeSearchQueryState(a0, function(a0) {
return {textInputValue: a0.getTextInputValue(), textInputChangedFromInput: a0.getTextValueChangedFromInput()};
}, _fun90580, a2);
function _fun90580({textInputValue, textInputChangedFromInput}, a1) { // fn#90580, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:6343, offset: 0x0203ef93, size: 53 bytes, params: 3, frame: 17
const textInputValue = a1?.textInputValue;
require(textInputValue, textInputValue, textInputChangedFromInput);
}
}
function getMedia(a0, a1) { // fn#90581, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:6544, offset: 0x0203efc8, size: 87 bytes, params: 3, frame: 14
const env0_0 = (require(9675) /* metro dependency 9675: SearchUtils */).getGuildIdFromSearchContext(a0) ?? undefined;
a1.forEach(_fun90582);
return [];
function _fun90582(a0) { // fn#90582, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:6657, offset: 0x0203f01f, size: 403 bytes, params: 2, frame: 23
var r7;
var forEach;
var value6;
var binding;
var push;
var COMPONENT;
var id;
var channel_id;
var author;
var sources;
var unfurledMediaItem;
var value7;
var AUDIO;
const env0_0 = a0;
let env0_1 = 0;
const contentMessage = a0.getContentMessage();
const attachments = contentMessage.attachments;
reducibleJoin2: while (true) {
if (attachments == null) {
break reducibleJoin2;
}
forEach = attachments.forEach;
Reflect.apply(forEach, attachments, [_fun90583]);
break reducibleJoin2;
}
const embeds = contentMessage.embeds;
reducibleJoin4: while (true) {
if (embeds == null) {
break reducibleJoin4;
}
forEach = embeds.forEach;
Reflect.apply(forEach, embeds, [_fun90584]);
break reducibleJoin4;
}
const _createForOfIteratorHelperLoose_90550Binding = _createForOfIteratorHelperLoose_90550;
const value4 = _createForOfIteratorHelperLoose_90550Binding(MediaSourceUtilModule.extractMediaFromMessageComponents(a0,
contentMessage, env0_0));
const value5 = value4();
let done = value5.done;
if (!done) {
r7 = value5;
reducibleLoop5: while (true) {
value6 = r7.value;
binding = env0_1;
push = binding.push;
COMPONENT = SearchMediaTypes.COMPONENT;
id = a0.id;
channel_id = a0.channel_id;
author = a0.author;
sources = value6.sources;
unfurledMediaItem = value6.unfurledMediaItem;
Reflect.apply(push, binding, [{type: COMPONENT, messageId: id, channelId: channel_id, author: author,
mediaIndex: env0_1, sources: sources, unfurledMediaItem: unfurledMediaItem}]);
binding = env0_1;
env0_1 = typeof binding === 'bigint' ? binding + 1n : +binding + 1;
value7 = value4();
done = value7.done;
if (done) {
break reducibleLoop5;
}
r7 = value7;
continue reducibleLoop5;
}
}
const hasFlag = FlagUtilsModule.hasFlag;
const flags = contentMessage.flags;
const IS_VOICE_MESSAGE = MessageFlags.IS_VOICE_MESSAGE;
reducibleJoin8: while (true) {
if (Reflect.apply(hasFlag, FlagUtilsModule, [flags, IS_VOICE_MESSAGE])) {
binding = env0_1;
push = binding.push;
AUDIO = SearchMediaTypes.AUDIO;
id = a0.id;
channel_id = a0.channel_id;
author = a0.author;
Reflect.apply(push, binding, [{type: AUDIO, messageId: id, channelId: channel_id, author: author,
mediaIndex: env0_1}]);
binding = env0_1;
env0_1 = typeof binding === 'bigint' ? binding + 1n : +binding + 1;
break reducibleJoin8;
}
break reducibleJoin8;
}
function _fun90583(a0, a1) { // fn#90583, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:6733, offset: 0x0203f1b2, size: 261 bytes, params: 3, frame: 21
var moduleValue2;
var moduleValue3;
var moduleValue4;
var extractMediaFromAttachment;
var binding;
var value3;
var value4;
var push;
var binding2;
const mediaSourceUtilModule = require(9546) /* metro dependency 9546: MediaSourceUtil */;
if (!mediaSourceUtilModule.isThumbnailAttachment(a0)) {
moduleValue2 = mediaSourceUtilModule;
if (moduleValue2.isValidImageAttachment(a0)) {
moduleValue4 = require(9546) /* metro dependency 9546: MediaSourceUtil */;
extractMediaFromAttachment = moduleValue4.extractMediaFromAttachment;
binding = env0_0;
value3 = environment.__proto__;
value4 = Reflect.apply(extractMediaFromAttachment, moduleValue4, [a0, binding, a1, env1_0]);
if (value4 != null) {
binding = env1_1;
push = binding.push;
binding2 = env0_0;
Reflect.apply(push, binding, [{type: SearchMediaTypes.ATTACHMENT, attachment: a0,
messageId: binding2.id,
channelId: binding2.channel_id, author: binding2.author, mediaIndex: env0_1, sources: value4}]);
binding = env0_1;
env0_1 = typeof binding === 'bigint' ? binding + 1n : +binding + 1;
}
} else {
moduleValue3 = require(9546) /* metro dependency 9546: MediaSourceUtil */;
if (moduleValue3.isValidVideoAttachment(a0)) {
moduleValue4 = require(9546) /* metro dependency 9546: MediaSourceUtil */;
extractMediaFromAttachment = moduleValue4.extractMediaFromAttachment;
binding = env0_0;
value3 = environment.__proto__;
value4 = Reflect.apply(extractMediaFromAttachment, moduleValue4, [a0, binding, a1, env1_0]);
if (value4 != null) {
binding = env1_1;
push = binding.push;
binding2 = env0_0;
Reflect.apply(push, binding, [{type: SearchMediaTypes.ATTACHMENT, attachment: a0,
messageId: binding2.id,
channelId: binding2.channel_id, author: binding2.author, mediaIndex: env0_1, sources: value4}]);
binding = env0_1;
env0_1 = typeof binding === 'bigint' ? binding + 1n : +binding + 1;
}
}
}
}
}
function _fun90584(a0, a1) { // fn#90584, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:7073, offset: 0x0203f2b7, size: 231 bytes, params: 3, frame: 23
var moduleValue2;
var moduleValue3;
var extractMediaFromEmbed;
var binding;
var binding2;
var value3;
var value4;
var push;
var binding3;
const mediaSourceUtilModule = require(9546) /* metro dependency 9546: MediaSourceUtil */;
if (mediaSourceUtilModule.isValidImageEmbed(a0)) {
moduleValue3 = mediaSourceUtilModule;
extractMediaFromEmbed = moduleValue3.extractMediaFromEmbed;
binding = env0_0;
binding2 = env0_2;
value3 = environment.__proto__;
value4 = Reflect.apply(extractMediaFromEmbed, moduleValue3, [a0, binding, binding2, a1, env1_0]);
if (value4 != null) {
binding = env1_1;
push = binding.push;
binding3 = env0_0;
Reflect.apply(push, binding, [{type: SearchMediaTypes.EMBED, embed: a0, messageId: binding3.id,
channelId: binding3.channel_id, author: binding3.author, mediaIndex: env0_1, sources: value4}]);
binding = env0_1;
env0_1 = typeof binding === 'bigint' ? binding + 1n : +binding + 1;
}
} else {
moduleValue2 = require(9546) /* metro dependency 9546: MediaSourceUtil */;
if (moduleValue2.isValidVideoEmbed(a0)) {
moduleValue3 = require(9546) /* metro dependency 9546: MediaSourceUtil */;
extractMediaFromEmbed = moduleValue3.extractMediaFromEmbed;
binding = env0_0;
binding2 = env0_2;
value3 = environment.__proto__;
value4 = Reflect.apply(extractMediaFromEmbed, moduleValue3, [a0, binding, binding2, a1, env1_0]);
if (value4 != null) {
binding = env1_1;
push = binding.push;
binding3 = env0_0;
Reflect.apply(push, binding, [{type: SearchMediaTypes.EMBED, embed: a0, messageId: binding3.id,
channelId: binding3.channel_id, author: binding3.author, mediaIndex: env0_1, sources: value4}]);
binding = env0_1;
env0_1 = typeof binding === 'bigint' ? binding + 1n : +binding + 1;
}
}
}
}
}
}
function getFiles(a0) { // fn#90585, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:7760, offset: 0x0203f39e, size: 62 bytes, params: 2, frame: 12
const env0_0 = a0;
const attachments = a0.getContentMessage().attachments;
if (attachments != null) {
attachments.forEach(_fun90586);
}
return [];
function _fun90586(a0, a1) { // fn#90586, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:7859, offset: 0x0203f3dc, size: 355 bytes, params: 3, frame: 20
var moduleValue2;
var moduleValue3;
var hasFlag2;
var binding;
var push;
var object;
var binding2;
var binding3;
var binding4;
if (MediaSourceUtilModule.isValidImageAttachment(a0)) {
binding = env0_1;
push = binding.push;
binding4 = env0_0;
Reflect.apply(push, binding, [{type: SearchFileTypes.MEDIA_ATTACHMENT, messageId: binding4.id,
channelId: binding4.channel_id, author: binding4.author, fileIndex: a1, attachment: a0}]);
} else {
moduleValue2 = MediaSourceUtilModule;
if (moduleValue2.isValidVideoAttachment(a0)) {
binding = env0_1;
push = binding.push;
binding4 = env0_0;
Reflect.apply(push, binding, [{type: SearchFileTypes.MEDIA_ATTACHMENT, messageId: binding4.id,
channelId: binding4.channel_id, author: binding4.author, fileIndex: a1, attachment: a0}]);
} else {
moduleValue3 = require(1391) /* metro dependency 1391: FlagUtils */;
hasFlag2 = moduleValue3.hasFlag(env0_2.flags, MessageFlags.IS_VOICE_MESSAGE);
binding = env0_1;
push = binding.push;
object = {};
if (hasFlag2) {
object.type = SearchFileTypes.AUDIO;
binding3 = env0_0;
object.messageId = binding3.id;
object.channelId = binding3.channel_id;
object.author = binding3.author;
object.fileIndex = a1;
object.attachment = a0;
Reflect.apply(push, binding, [object]);
} else {
object.type = SearchFileTypes.ATTACHMENT;
binding2 = env0_0;
object.messageId = binding2.id;
object.channelId = binding2.channel_id;
object.author = binding2.author;
object.fileIndex = a1;
object.attachment = a0;
Reflect.apply(push, binding, [object]);
}
}
}
}
}
function getLinks(a0, a1) { // fn#90587, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:8323, offset: 0x0203f53f, size: 190 bytes, params: 3, frame: 16
const env0_0 = a1;
const env0_1 = (require(9675) /* metro dependency 9675: SearchUtils */).getGuildIdFromSearchContext(a0) ?? undefined;
const items2 = [];
const embeds = a1.getContentMessage().embeds;
if (embeds != null) {
embeds.forEach(_fun90588);
}
if (items2.length === 0) {
items2.push({type: SearchLinkTypes.TEXT, messageId: a1.id, channelId: a1.channel_id, author: a1.author,
linkIndex: 0});
}
return items2;
function _fun90588(a0, a1) { // fn#90588, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:8486, offset: 0x0203f5fd, size: 228 bytes, params: 3, frame: 22
var moduleValue2;
var moduleValue3;
var extractMediaFromEmbed;
var binding;
var value3;
const mediaSourceUtilModule = require(9546) /* metro dependency 9546: MediaSourceUtil */;
if (mediaSourceUtilModule.isValidImageEmbed(a0)) {
moduleValue3 = mediaSourceUtilModule;
extractMediaFromEmbed = moduleValue3.extractMediaFromEmbed;
binding = env0_3;
value3 = Reflect.apply(extractMediaFromEmbed, moduleValue3, [a0, require, binding, a1, env0_1]);
if (value3 != null) {
binding = env0_2;
binding.push({type: SearchLinkTypes.EMBED, messageId: require.id, channelId: require.channel_id,
author: require.author, linkIndex: env0_4, sources: value3, embed: a0});
binding = env0_4;
env0_4 = typeof binding === 'bigint' ? binding + 1n : +binding + 1;
}
} else {
moduleValue2 = require(9546) /* metro dependency 9546: MediaSourceUtil */;
if (moduleValue2.isValidVideoEmbed(a0)) {
moduleValue3 = require(9546) /* metro dependency 9546: MediaSourceUtil */;
extractMediaFromEmbed = moduleValue3.extractMediaFromEmbed;
binding = env0_3;
value3 = Reflect.apply(extractMediaFromEmbed, moduleValue3, [a0, require, binding, a1, env0_1]);
if (value3 != null) {
binding = env0_2;
binding.push({type: SearchLinkTypes.EMBED, messageId: require.id, channelId: require.channel_id,
author: require.author, linkIndex: env0_4, sources: value3, embed: a0});
binding = env0_4;
env0_4 = typeof binding === 'bigint' ? binding + 1n : +binding + 1;
}
}
}
}
}
}
function _fun90579(a0) { // fn#90579, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12008:6238, offset: 0x0203ef6e, size: 37 bytes, params: 2, frame: 10
const object = {};
object.textInputValue = a0.getTextInputValue();
object.textInputChangedFromInput = a0.getTextValueChangedFromInput();
return object;
}
global.__d(_fun90549, 11822, [4792, 9674, 9615, 11823, 661, 9675, 9546, 1391, 6996, 477, 1848, 4056, 1471, 8765,
697, 3829, 9673, 11828, 9682, 22, 628,
2]) /* metro module 11822, dependencies: [4792, 9674, 9615, 11823, 661, 9675, 9546, 1391, 6996, 477, 1848, 4056, 1471, 8765, 697, 3829, 9673, 11828, 9682, 22, 628, 2] */;