decord/source/modules/message_previews/native/MessagePreviewMarkup.tsx

92 lines
4.3 KiB
TypeScript
Raw Normal View History

// Module ID: 10148
// Function ID: 10149
// Name: MessagePreviewMarkup
// Dependencies: [5011, 5012, 10149, 4270, 4564, 7893, 1437, 2]
2026-07-29 08:29:29 +00:00
// Exports: getMessagePreviewASTParser, renderASTToReact, renderMessagePreviewMarkup
2026-07-23 10:11:24 +00:00
// Module 10148 (MessagePreviewMarkup)
import privDefault from "priv" /* 1437 */;
import _modDef4270 from "module_4270" /* 4270 */;
import MarkupUtilsDefault from "MarkupUtils" /* 4564 */;
import combineMarkupRulesDefault from "combineMarkupRules" /* 5011 */;
import MarkupRulesDefault from "MarkupRules" /* 5012 */;
import ChannelListLayoutTypes from "ChannelListLayoutTypes" /* 7893 */;
import MarkupMessagePreviewReactRulesDefault from "MarkupMessagePreviewReactRules" /* 10149 */;
2026-08-24 06:08:38 +00:00
require = fn;
2026-07-20 16:05:17 +00:00
function getOrParseMessagePreviewMarkupAST(arg0) {
2026-07-29 08:29:29 +00:00
({ content, layout, color, initialParserState, postProcessor, fontScale, maxFontSizeMultiplier } = arg0);
value = closure_3.get(content);
2026-07-20 16:05:17 +00:00
if (null != value) {
return value;
} else {
const items = [MarkupRulesDefault.RULES, MarkupMessagePreviewReactRulesDefault(layout, color, fontScale, maxFontSizeMultiplier)];
2026-08-24 06:08:38 +00:00
const tmp11Result = combineMarkupRulesDefault(items);
2026-07-20 16:05:17 +00:00
let startsWithResult = content.startsWith("```");
let tmp3;
if (!startsWithResult) {
const first = content.split("\n")[0];
startsWithResult = first.includes("||");
tmp3 = first;
}
if (startsWithResult) {
tmp3 = content;
}
const astParserForResultResult = MarkupUtilsDefault.astParserFor(tmp11Result)(tmp3, true, initialParserState, postProcessor);
2026-07-29 08:29:29 +00:00
const result = obj.set(content, astParserForResultResult);
return astParserForResultResult;
2026-07-20 16:05:17 +00:00
}
2026-08-24 06:08:38 +00:00
obj = closure_3;
2026-07-20 16:05:17 +00:00
}
2026-08-24 06:08:38 +00:00
const tmp2 = new privDefault({ max: 2000 });
let closure_3 = tmp2;
const size = fn(2);
let result = size.fileFinishedImporting("modules/message_previews/native/MessagePreviewMarkup.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export const renderASTToReact = function renderASTToReact(layout) {
({ tree, initialParserState, color, fontScale, maxFontSizeMultiplier } = layout);
const items = [MarkupRulesDefault.RULES, MarkupMessagePreviewReactRulesDefault(layout.layout, color, fontScale, maxFontSizeMultiplier)];
2026-08-24 06:08:38 +00:00
const tmpResult = combineMarkupRulesDefault(items);
const obj = _modDef4270;
return obj.reactFor(_modDef4270.ruleOutput(tmpResult, "react"))(tree, initialParserState);
2026-07-29 08:29:29 +00:00
};
export const getMessagePreviewASTParser = function getMessagePreviewASTParser(layout) {
({ color, fontScale, maxFontSizeMultiplier } = layout);
const items = [MarkupRulesDefault.RULES, MarkupMessagePreviewReactRulesDefault(layout.layout, color, fontScale, maxFontSizeMultiplier)];
2026-08-24 06:08:38 +00:00
const tmpResult = combineMarkupRulesDefault(items);
return MarkupUtilsDefault.astParserFor(tmpResult);
2026-07-29 08:29:29 +00:00
};
2026-07-20 16:05:17 +00:00
export const renderMessagePreviewMarkup = function renderMessagePreviewMarkup(fontScale) {
({ content, muted, layout } = fontScale);
({ guildId, channelId } = fontScale);
if (layout === undefined) {
2026-08-24 06:08:38 +00:00
layout = ChannelListLayoutTypes.ChannelListLayoutTypes.COMPACT;
2026-07-20 16:05:17 +00:00
}
({ color, disableAnimatedEmoji, postProcessor } = fontScale);
if (disableAnimatedEmoji === undefined) {
disableAnimatedEmoji = true;
}
2026-07-29 08:29:29 +00:00
let num = fontScale.fontScale;
if (num === undefined) {
num = 1;
2026-07-20 16:05:17 +00:00
}
const maxFontSizeMultiplier = fontScale.maxFontSizeMultiplier;
if ("" === content) {
return null;
} else {
const obj4 = { allowLinks: true, allowDevLinks: false, allowEmojiLinks: false, allowGameMentions: false, mentionChannels: [], soundboardSounds: [], formatInline: true, noStyleAndInteraction: true, allowHeading: true, allowList: true, disableAutoBlockNewlines: true, previewLinkTarget: false, disableAnimatedEmoji, unknownUserMentionPlaceholder: true, guildId, channelId, muted: null };
2026-07-29 08:29:29 +00:00
if (muted == null) {
muted = false;
}
obj4.muted = muted;
const obj = { content, layout, color, initialParserState: obj4, fontScale: num, maxFontSizeMultiplier, postProcessor };
2026-07-29 08:29:29 +00:00
const tmp4 = getOrParseMessagePreviewMarkupAST(obj);
const items = [MarkupRulesDefault.RULES, MarkupMessagePreviewReactRulesDefault(layout, color, num, maxFontSizeMultiplier)];
2026-08-24 06:08:38 +00:00
const tmp7Result = combineMarkupRulesDefault(items);
const obj2 = _modDef4270;
return obj2.reactFor(_modDef4270.ruleOutput(tmp7Result, "react"))(tmp4, obj4);
2026-07-20 16:05:17 +00:00
}
};
2026-07-29 08:29:29 +00:00
export const messagePreviewASTCache = tmp2;
2026-07-20 16:05:17 +00:00
export { getOrParseMessagePreviewMarkupAST };