decord/source/modules/emojis/hooks/useEmojiAndSource.tsx

113 lines
3.6 KiB
TypeScript
Raw Normal View History

2026-07-25 08:10:48 +00:00
// Module ID: 9348
2026-07-27 11:26:19 +00:00
// Function ID: 73021
2026-07-20 16:05:17 +00:00
// Name: useEmojiAndSource
2026-07-25 08:10:48 +00:00
// Dependencies: [5, 57, 31, 1838, 4992, 5514, 653, 3775, 624, 2]
2026-07-20 16:05:17 +00:00
// Exports: useEmojiAndSource
2026-07-25 08:10:48 +00:00
// Module 9348 (useEmojiAndSource)
2026-07-23 10:11:24 +00:00
import closure_2 from "_callSuper";
import _slicedToArray from "_slicedToArray";
import result from "result";
import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose";
import _isNativeReflectConstruct from "_isNativeReflectConstruct";
import _callSuper from "_callSuper";
import { GuildFeatures } from "ME";
let closure_7;
let closure_8;
let closure_9;
const require = arg1;
({ ExpressionSourceGuildRecord: closure_7, EmojiSourceDataTypes: closure_8, getEmojiSourceData: closure_9 } = _callSuper);
const result = require("result").fileFinishedImporting("modules/emojis/hooks/useEmojiAndSource.tsx");
2026-07-20 16:05:17 +00:00
export const useEmojiAndSource = function useEmojiAndSource(emojiId) {
2026-07-23 10:11:24 +00:00
let c3;
let c5;
let c6;
2026-07-20 16:05:17 +00:00
let tmp12;
let tmp14;
let tmp7;
emojiId = emojiId.emojiId;
const refreshPositionKey = emojiId.refreshPositionKey;
2026-07-23 10:11:24 +00:00
let c2;
2026-07-20 16:05:17 +00:00
let callback;
let React;
2026-07-23 10:11:24 +00:00
c5 = undefined;
c6 = undefined;
2026-07-20 16:05:17 +00:00
let closure_7;
2026-07-23 10:11:24 +00:00
const items = [c6, c5];
const emoji = emojiId(refreshPositionKey[8]).useStateFromStoresObject(items, () => {
let obj = c6;
2026-07-20 16:05:17 +00:00
let customEmojiById = null;
if (null != emojiId) {
customEmojiById = obj.getCustomEmojiById(tmp);
}
let type;
if (null != customEmojiById) {
type = customEmojiById.type;
}
if (type === emojiId(refreshPositionKey[7]).EmojiTypes.GUILD) {
obj = { emoji: customEmojiById };
let guildId;
if (null != customEmojiById) {
guildId = customEmojiById.guildId;
}
2026-07-23 10:11:24 +00:00
obj.joinedEmojiSourceGuildRecord = c5.getGuild(guildId);
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
obj = { emoji: null, joinedEmojiSourceGuildRecord: null };
2026-07-20 16:05:17 +00:00
}
return obj;
});
const joinedEmojiSourceGuildRecord = emoji.joinedEmojiSourceGuildRecord;
const hasJoinedEmojiSourceGuild = null != joinedEmojiSourceGuildRecord;
let hasItem = null != joinedEmojiSourceGuildRecord;
if (hasItem) {
const features = joinedEmojiSourceGuildRecord.features;
hasItem = features.has(GuildFeatures.DISCOVERABLE);
}
let tmp5 = !hasJoinedEmojiSourceGuild;
if (hasJoinedEmojiSourceGuild) {
tmp5 = hasItem;
}
if (tmp5) {
tmp5 = null != emojiId;
}
2026-07-23 10:11:24 +00:00
c2 = tmp5;
let obj = emojiId(refreshPositionKey[8]);
[tmp7, c3] = callback(React.useState(tmp5), 2);
2026-07-20 16:05:17 +00:00
const sourceType = callback(React.useState(null), 2);
React = sourceType[1];
let fromGuildRecord = null;
if (null != joinedEmojiSourceGuildRecord) {
fromGuildRecord = closure_7.createFromGuildRecord(joinedEmojiSourceGuildRecord);
}
const tmp6 = callback(React.useState(tmp5), 2);
2026-07-23 10:11:24 +00:00
[tmp12, c5] = callback(React.useState(fromGuildRecord), 2);
2026-07-20 16:05:17 +00:00
const tmp11 = callback(React.useState(fromGuildRecord), 2);
2026-07-23 10:11:24 +00:00
[tmp14, c6] = callback(React.useState(null), 2);
2026-07-20 16:05:17 +00:00
closure_7 = React.useRef(refreshPositionKey);
const effect = React.useEffect(() => {
closure_7.current = refreshPositionKey;
});
const items1 = [emojiId, tmp5];
const effect1 = React.useEffect(() => {
function _fetch() {
// CreateGeneratorClosureLongIndex (0x67)
const obj = callback(tmp);
return obj(...arguments);
}
if (null != closure_7.current) {
closure_7.current();
}
2026-07-23 10:11:24 +00:00
if (c2) {
(function fetch() {
2026-07-20 16:05:17 +00:00
return _fetch(...arguments);
2026-07-23 10:11:24 +00:00
})();
2026-07-20 16:05:17 +00:00
} else if (null != closure_7.current) {
closure_7.current();
}
return tmp6;
}, items1);
return { expressionSourceGuild, expressionSourceApplication, sourceType: sourceType[0], joinedEmojiSourceGuildRecord, hasJoinedEmojiSourceGuild, emoji: emoji.emoji, isFetching };
};