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

1268 lines
60 KiB
TypeScript

/* Metro module 4599; source: modules/markup/MarkupReactRules.native.tsx; dependencies: [31, 27, 4502, 1379, 1867, 661, 1386, 482, 33, 4600, 4573, 4501, 697, 4601, 4246, 4008, 5080, 8743, 4647, 1244, 6797, 3856, 6819, 1305, 1471, 8872, 3853, 9875, 9862, 8778, 4000, 4080, 11381, 1962, 21, 3829, 566, 5475, 11366, 12373, 8769, 4598, 10986, 10988, 12374, 12376, 4056, 477, 6647, 12378, 10990, 2] */
function _fun38981(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#38981, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:6, offset: 0x010d3614, size: 996 bytes, params: 8, frame: 24
var object2;
const env0_0 = require;
const closure = MarkupText;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
const env0_4 = value.PixelRatio;
const env0_5 = value.Pressable;
const env0_6 = value.View;
const env0_7 = value.Text;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */;
const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */;
value = require(661) /* metro dependency 661: Constants */;
const EMOJI_CHAT_SIZE = value.EMOJI_CHAT_SIZE;
const env0_11 = value.GuildFeatures;
value = require(1386) /* metro dependency 1386: ChannelConstants */;
const env0_12 = value.StaticChannelRoute;
const env0_13 = value.StaticChannelId;
const Fonts = (require(482) /* metro dependency 482: Constants */).Fonts;
value = require(33) /* metro dependency 33 */;
const env0_14 = value.jsx;
const env0_15 = value.jsxs;
const RegExp = global.RegExp;
const ANSI_CONTROL_SEQUENCE_RE = (require(4600) /* metro dependency 4600: HighlightJsAnsiLanguage */).ANSI_CONTROL_SEQUENCE_RE;
let regExp = new RegExp(ANSI_CONTROL_SEQUENCE_RE, 'g');
object2 = {};
object2.emoji = {width: EMOJI_CHAT_SIZE, height: EMOJI_CHAT_SIZE, resizeMode: 'contain'};
object2.guildIcon = {'paddingEnd': 2, 'paddingBottom': 1};
object2.list = {paddingTop: 16};
object2.listItem = {paddingTop: 4};
let CODE_BOLD = Fonts.CODE_BOLD;
object2.bullet = {fontFamily: CODE_BOLD};
let PRIMARY_BOLD = Fonts.PRIMARY_BOLD;
object2.strong = {fontFamily: PRIMARY_BOLD};
regExp = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = regExp.createStyles;
object2 = {};
const object3 = {};
PRIMARY_BOLD = Fonts.PRIMARY_BOLD;
object3.fontFamily = PRIMARY_BOLD;
const TEXT_LINK = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_LINK;
object3.color = TEXT_LINK;
object2.link = object3;
const MENTION_BACKGROUND = (importDefault(697) /* metro dependency 697: native */).colors.MENTION_BACKGROUND;
object2.channelMention = {'backgroundColor': null, 'borderRadius': 3, 'paddingHorizontal': 2,
'alignItems': 'center', backgroundColor: MENTION_BACKGROUND};
const MENTION_FOREGROUND = (importDefault(697) /* metro dependency 697: native */).colors.MENTION_FOREGROUND;
object2.channelMentionText = {color: MENTION_FOREGROUND};
const object4 = {};
const BRAND_500 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.BRAND_500;
object4.color = BRAND_500;
const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
object4.backgroundColor = BORDER_SUBTLE;
object2.mention = object4;
const object5 = {};
CODE_BOLD = Fonts.CODE_BOLD;
object5.fontFamily = CODE_BOLD;
let TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_DEFAULT;
object5.color = TEXT_DEFAULT;
let BACKGROUND_CODE = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_CODE;
object5.backgroundColor = BACKGROUND_CODE;
object2.inlineCode = object5;
const object6 = {};
CODE_BOLD = Fonts.CODE_BOLD;
object6.fontFamily = CODE_BOLD;
TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_DEFAULT;
object6.color = TEXT_DEFAULT;
BACKGROUND_CODE = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_CODE;
object6.backgroundColor = BACKGROUND_CODE;
object2.codeBlock = object6;
const BACKGROUND_MOD_NORMAL = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_NORMAL;
object2.blockQuote = {'borderLeftWidth': 2, 'borderLeftColor': null, 'paddingLeft': 4,
borderLeftColor: BACKGROUND_MOD_NORMAL};
const env0_18 = Reflect.apply(createStyles, regExp, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/markup/MarkupReactRules.native.tsx');
exports.default = createRules_39003;
exports.MarkupText = closure;
exports.plainMentionRenderer = plainMentionRenderer;
exports.plainSpoilerRenderer = function(a0) {
return typeof a0.content !== 'string' ? '███' : a0.content.replace(RegExp('[^\\n]', 'g'), '█');
};
}
function MarkupText(a0) { // fn#38982, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:591, offset: 0x010d39f8, size: 141 bytes, params: 2, frame: 19
const children = a0.children;
let color = a0.color;
color = color === undefined ? 'text-default' : color;
let variant = a0.variant;
variant = variant === undefined ? 'text-sm/medium' : variant;
const object2 = {'children': 0, 'color': 0, 'variant': 0};
silentSetPrototypeOf(object2, null, undefined);
const value = copyDataProperties({}, a0, object2, undefined);
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<Text
variant={variant}
color={color}
{...value}
>
{children}
</Text>
);
}
function MarkupLink({state, node, output, styles}) { // fn#38983, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:1611, offset: 0x010d3a85, size: 233 bytes, params: 2, frame: 23
const styles2 = useStyles();
const r11 = state.linkVariant ?? 'text-sm/medium';
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const object3 = {variant: r11, accessibilityRole: 'link'};
let link = styles.link;
link = !link ? styles2.link : link;
object3.style = link;
object3.onPress = onPress_38985;
object3.onLongPress = onLongPress_38988;
const markupRulesUtilsModule = require(8778) /* metro dependency 8778: MarkupRulesUtils */;
const smartOutput = markupRulesUtilsModule.smartOutput;
const object4 = {};
copyDataProperties(object4, state, undefined);
object4['inLink'] = true;
return (
<Text {...object3} key={state.key}>
{Reflect.apply(smartOutput, markupRulesUtilsModule, [node, output, object4])}
</Text>
);
}
function MarkupMention({roleStyle, state, node, output, styles}) { // fn#38989, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:2314, offset: 0x010d3cf8, size: 376 bytes, params: 2, frame: 24
var r10;
var object2;
const styles2 = useStyles();
let mention = styles.mention;
mention = !mention ? styles2.mention : mention;
const colorString = node.colorString;
if (colorString && roleStyle === 'username') {
object2 = {color: colorString};
object2.backgroundColor = styles.mention?.backgroundColor ?? (require(4000) /* metro dependency 4000: ColorUtils */).hexWithOpacity(colorString,
0.1);
r10 = object2;
} else {
r10 = mention;
}
const r11 = state.noStyleAndInteraction ? 'text' : 'button';
const r5 = state.noStyleAndInteraction ? undefined : _fun38990;
const textColor = state?.textColor;
const items2 = [roleStyle === 'dot' && ((RoleDot) => <RoleDot color={colorString} colors={null} size="small" />)((require(1305) /* metro dependency 1305: native */).RoleDot)];
const markupRulesUtilsModule = require(8778) /* metro dependency 8778: MarkupRulesUtils */;
items2[1] = markupRulesUtilsModule.smartOutput(node, output, state);
return (
<MarkupText
accessibilityRole={r11}
style={r10}
color={textColor}
onPress={r5}
key={state.key}
>
{items2}
</MarkupText>
);
}
function MarkupBlockQuote({styles, state, node, output}) { // fn#38991, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:3501, offset: 0x010d40d7, size: 140 bytes, params: 2, frame: 21
const styles2 = useStyles();
let blockQuote = styles.blockQuote;
blockQuote = !blockQuote ? styles2.blockQuote : blockQuote;
return (
<MarkupText
style={blockQuote}
color={state?.textColor}
key={state.key}
>
{(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(node, output, state)}
</MarkupText>
);
}
function MarkupInlineCode({styles, state, node, output}) { // fn#38992, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:3705, offset: 0x010d4163, size: 222 bytes, params: 2, frame: 22
const styles2 = useStyles();
const r10 = !state.noStyleAndInteraction && !state.inLink;
const r11 = r10 ? 'button' : 'text';
const object2 = {};
let inlineCode = styles.inlineCode;
inlineCode = !inlineCode ? styles2.inlineCode : inlineCode;
copyDataProperties(object2, inlineCode, undefined);
if (state.inLink) {
delete object2.color;
}
return (
<MarkupText
accessibilityRole={r11}
style={object2}
color={state?.textColor}
onPress={r10 ? _fun38993 : undefined}
key={state.key}
>
{(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(node, output, state)}
</MarkupText>
);
}
function MarkupCodeBlock({styles, state, node, output}) { // fn#38994, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:4169, offset: 0x010d4296, size: 156 bytes, params: 2, frame: 21
const styles2 = useStyles();
let codeBlock = styles.codeBlock;
codeBlock = !codeBlock ? styles2.codeBlock : codeBlock;
const textColor = state?.textColor;
let value = require(8778) /* metro dependency 8778: MarkupRulesUtils */;
value = value.smartOutput(node, output, state);
return (
<MarkupText
style={codeBlock}
color={textColor}
key={state.key}
>
{value}
{'\n'}
</MarkupText>
);
}
function MarkupCustomEmoji({styles, state, node}) { // fn#38995, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:4377, offset: 0x010d4332, size: 256 bytes, params: 2, frame: 22
var emoji;
var r0;
var FastImage;
var value;
const AnimateEmoji = (require(3829) /* metro dependency 3829: UserSettings */).AnimateEmoji;
const value3 = AnimateEmoji.useSetting();
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
if (node.src) {
FastImage = importDefault(5475) /* metro dependency 5475: FastImage */;
emoji = styles.emoji;
emoji = !emoji ? env0_17.emoji : emoji;
value = !useReducedMotion;
value = <FastImage style={emoji} source={{uri: node.src}} enableAnimation={useReducedMotion ? value : value3} key={state.key} />;
r0 = value;
} else {
r0 = <MarkupText color={state?.textColor} key={state.key}>{node.alt}</MarkupText>;
}
return r0;
}
function MarkupChannelMention({state, node, output, styles, variants}) { // fn#38997, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:4699, offset: 0x010d4441, size: 557 bytes, params: 2, frame: 31
var object2;
var r11;
var r8;
var ThemedIcon;
var fontScale;
var value;
const styles2 = useStyles();
let noStyleAndInteraction = state.noStyleAndInteraction;
const r10 = noStyleAndInteraction ? 'text' : 'button';
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
let channelMentionText = variants.channelMentionText;
let r0 = channelMentionText ?? 'text-xs/medium';
channelMentionText = styles2.channelMentionText;
const items2 = [node.inContent != null ? output(node.inContent, state) : null];
if (node.inContent != null) {
ThemedIcon = (require(1305) /* metro dependency 1305: native */).ThemedIcon;
var themedIconProps = {themedColor: (importDefault(697) /* metro dependency 697: native */).colors.MENTION_FOREGROUND};
fontScale = PixelRatio.getFontScale();
themedIconProps.style = fontScale < 1.25 ? {'width': 8, 'height': 8} : fontScale < 2 ? {'width': 12,
'height': 12} : {'width': 16, 'height': 16};
themedIconProps.source = importDefault(11366) /* metro dependency 11366 */;
themedIconProps.size = (require(1305) /* metro dependency 1305: native */).Icon.Sizes.CUSTOM;
r11 = <ThemedIcon {...themedIconProps} />;
} else {
r11 = null;
}
items2[1] = r11;
const markupRulesUtilsModule = require(8778) /* metro dependency 8778: MarkupRulesUtils */;
items2[2] = markupRulesUtilsModule.smartOutput(node, output, state);
const text = <Text variant={r0} style={channelMentionText} key={state.key}>{items2}</Text>;
if (state.disablePressableChannelMention) {
r0 = text;
} else {
object2 = {accessibilityRole: r10};
r8 = styles.channel || styles2.channelMention;
object2.style = r8;
noStyleAndInteraction = state.noStyleAndInteraction;
value = 'auto';
r8 = noStyleAndInteraction ? 'none' : value;
object2.pointerEvents = r8;
object2.onPress = onPress_38998;
value = <Pressable {...object2} key={state.key}>{text}</Pressable>;
r0 = value;
}
return r0;
}
function MarkupAttachmentLink({state, node, output, styles, variants}) { // fn#38999, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:5814, offset: 0x010d4799, size: 385 bytes, params: 2, frame: 29
var object2;
var r8;
var value;
const styles2 = useStyles();
let noStyleAndInteraction = state.noStyleAndInteraction;
const r10 = noStyleAndInteraction ? 'text' : 'button';
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
let channelMentionText = variants.channelMentionText;
let r0 = channelMentionText ?? 'text-xs/medium';
channelMentionText = styles2.channelMentionText;
const ThemedIcon = (require(1305) /* metro dependency 1305: native */).ThemedIcon;
const MENTION_FOREGROUND = (importDefault(697) /* metro dependency 697: native */).colors.MENTION_FOREGROUND;
const items2 = [<ThemedIcon themedColor={MENTION_FOREGROUND} source={importDefault(12373) /* metro dependency 12373 */} size={getIconSize_39002()} />];
const markupRulesUtilsModule = require(8778) /* metro dependency 8778: MarkupRulesUtils */;
items2[1] = markupRulesUtilsModule.smartOutput(node, output, state);
const text = <Text variant={r0} style={channelMentionText} key={state.key}>{items2}</Text>;
if (state.disablePressableChannelMention) {
r0 = text;
} else {
object2 = {accessibilityRole: r10};
r8 = styles.channel || styles2.channelMention;
object2.style = r8;
noStyleAndInteraction = state.noStyleAndInteraction;
value = 'auto';
r8 = noStyleAndInteraction ? 'none' : value;
object2.pointerEvents = r8;
object2.onPress = onPress_39000;
value = <Pressable {...object2} key={state.key}>{text}</Pressable>;
r0 = value;
}
return r0;
}
function MarkupCommandMention({state, node, output, styles}) { // fn#39001, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:6470, offset: 0x010d4969, size: 112 bytes, params: 2, frame: 20
const styles2 = useStyles();
const markupReactCommandRule = importDefault(8769) /* metro dependency 8769: MarkupReactCommandRule */;
let mention = styles.mention;
mention = !mention ? styles2.mention : mention;
return ((Component) => <Component node={node} output={output} state={state} style={mention} key={state.key} />)(markupReactCommandRule);
}
function getIconSize_39002() { // fn#39002, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:1471, offset: 0x010d49d9, size: 161 bytes, params: 1, frame: 13
const Icon = (require(1305) /* metro dependency 1305: native */).Icon;
const fontScale = PixelRatio.getFontScale();
return fontScale < 1 ? Icon.Sizes.EXTRA_SMALL_10 : fontScale < 1.25 ? Icon.Sizes.EXTRA_SMALL : Icon.Sizes.SMALL;
}
function createRules_39003() { // fn#39003, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:6711, offset: 0x010d4a7a, size: 2112 bytes, params: 1, frame: 23
let value = a0;
let value2 = a1;
const r2 = value !== undefined ? value : {};
let env0_1 = value2 !== undefined ? value2 : {};
value = (() => {
var value = a0;
var env0_0 = value !== undefined ? value : {};
return _fun39005;
})(r2);
const value3 = (() => {
var value = a0;
var value2 = a1;
var env0_0 = value !== undefined ? value : {};
var env0_1 = value2 !== undefined ? value2 : 'username';
return _fun39007;
})(r2, a2);
const object2 = {};
const AST_KEY = (require(4598) /* metro dependency 4598: MarkupTypes */).AST_KEY;
const TEXT = AST_KEY.TEXT;
object2[TEXT] = {react: react_39008};
const STRIKETHROUGH = AST_KEY.STRIKETHROUGH;
const object11 = {};
const DEFAULT_RULES = (require(10986) /* metro dependency 10986: MarkupTypesDefaultRules */).DEFAULT_RULES;
const STRIKETHROUGH2 = AST_KEY.STRIKETHROUGH;
copyDataProperties(object11, DEFAULT_RULES[STRIKETHROUGH2], undefined);
object11['react'] = createRules_39003React_39009;
object2[STRIKETHROUGH] = object11;
const UNDERLINE = AST_KEY.UNDERLINE;
const object14 = {};
const UNDERLINE2 = AST_KEY.UNDERLINE;
copyDataProperties(object14, DEFAULT_RULES[UNDERLINE2], DEFAULT_RULES);
object14['react'] = createRules_39003React_39010;
object2[UNDERLINE] = object14;
const ITALICS = AST_KEY.ITALICS;
const object15 = {};
const ITALICS2 = AST_KEY.ITALICS;
copyDataProperties(object15, DEFAULT_RULES[ITALICS2], DEFAULT_RULES);
object15['react'] = createRules_39003React_39011;
object2[ITALICS] = object15;
const STRONG = AST_KEY.STRONG;
const object16 = {};
const STRONG2 = AST_KEY.STRONG;
copyDataProperties(object16, DEFAULT_RULES[STRONG2], DEFAULT_RULES);
object16['react'] = createRules_39003React_39012;
object2[STRONG] = object16;
const LINK = AST_KEY.LINK;
const object17 = {};
const LINK2 = AST_KEY.LINK;
copyDataProperties(object17, DEFAULT_RULES[LINK2], DEFAULT_RULES);
object17['react'] = value;
object2[LINK] = object17;
const URL = AST_KEY.URL;
const object23 = {};
const URL2 = AST_KEY.URL;
copyDataProperties(object23, DEFAULT_RULES[URL2], DEFAULT_RULES);
object23['react'] = value;
object2[URL] = object23;
const AUTOLINK = AST_KEY.AUTOLINK;
const object24 = {};
const AUTOLINK2 = AST_KEY.AUTOLINK;
copyDataProperties(object24, DEFAULT_RULES[AUTOLINK2], DEFAULT_RULES);
object24['react'] = value;
object2[AUTOLINK] = object24;
const LINE_BREAK = AST_KEY.LINE_BREAK;
const object25 = {};
const DEFAULT_RULES2 = (require(10986) /* metro dependency 10986: MarkupTypesDefaultRules */).DEFAULT_RULES;
const LINE_BREAK2 = AST_KEY.LINE_BREAK;
copyDataProperties(object25, DEFAULT_RULES2[LINE_BREAK2], DEFAULT_RULES);
object25['react'] = createRules_39003React_39013;
object2[LINE_BREAK] = object25;
const HIGHLIGHT = AST_KEY.HIGHLIGHT;
object2[HIGHLIGHT] = {react: react_39014};
const BLOCK_QUOTE = AST_KEY.BLOCK_QUOTE;
const object27 = {};
const DEFAULT_RULES3 = (require(10986) /* metro dependency 10986: MarkupTypesDefaultRules */).DEFAULT_RULES;
const BLOCK_QUOTE2 = AST_KEY.BLOCK_QUOTE;
copyDataProperties(object27, DEFAULT_RULES3[BLOCK_QUOTE2], DEFAULT_RULES);
object27['react'] = createRules_39003React_39015;
object2[BLOCK_QUOTE] = object27;
const PARAGRAPH = AST_KEY.PARAGRAPH;
const object30 = {};
const DEFAULT_RULES4 = (require(10986) /* metro dependency 10986: MarkupTypesDefaultRules */).DEFAULT_RULES;
const PARAGRAPH2 = AST_KEY.PARAGRAPH;
copyDataProperties(object30, DEFAULT_RULES4[PARAGRAPH2], DEFAULT_RULES);
object30['order'] = 600;
object30['react'] = createRules_39003React_39016;
object2[PARAGRAPH] = object30;
const EMOJI = AST_KEY.EMOJI;
object2[EMOJI] = {react: react_39017};
const CUSTOM_EMOJI = AST_KEY.CUSTOM_EMOJI;
object2[CUSTOM_EMOJI] = {react: react_39018};
const SPOILER = AST_KEY.SPOILER;
object2[SPOILER] = {react: react_39019};
const STATIC_ROUTE_LINK = AST_KEY.STATIC_ROUTE_LINK;
object2[STATIC_ROUTE_LINK] = {react: react_39020};
const INLINE_CODE = AST_KEY.INLINE_CODE;
const object31 = {};
const DEFAULT_RULES5 = (require(10986) /* metro dependency 10986: MarkupTypesDefaultRules */).DEFAULT_RULES;
const INLINE_CODE2 = AST_KEY.INLINE_CODE;
copyDataProperties(object31, DEFAULT_RULES5[INLINE_CODE2], DEFAULT_RULES);
object31['react'] = createRules_39003React_39022;
object2[INLINE_CODE] = object31;
const CODE_BLOCK = AST_KEY.CODE_BLOCK;
const object32 = {};
const DEFAULT_RULES6 = (require(10986) /* metro dependency 10986: MarkupTypesDefaultRules */).DEFAULT_RULES;
const CODE_BLOCK2 = AST_KEY.CODE_BLOCK;
copyDataProperties(object32, DEFAULT_RULES6[CODE_BLOCK2], DEFAULT_RULES);
object32['parse'] = createRules_39003Parse;
object32['react'] = createRules_39003React_39024;
object2[CODE_BLOCK] = object32;
const MENTION = AST_KEY.MENTION;
const object33 = {};
const DEFAULT_RULES7 = (require(10986) /* metro dependency 10986: MarkupTypesDefaultRules */).DEFAULT_RULES;
const MENTION2 = AST_KEY.MENTION;
copyDataProperties(object33, DEFAULT_RULES7[MENTION2], DEFAULT_RULES);
object33['react'] = value3;
object2[MENTION] = object33;
const CHANNEL_MENTION = AST_KEY.CHANNEL_MENTION;
const object34 = {};
const DEFAULT_RULES8 = (require(10986) /* metro dependency 10986: MarkupTypesDefaultRules */).DEFAULT_RULES;
const CHANNEL_MENTION2 = AST_KEY.CHANNEL_MENTION;
copyDataProperties(object34, DEFAULT_RULES8[CHANNEL_MENTION2], DEFAULT_RULES);
object34['react'] = createRules_39003React_39025;
object2[CHANNEL_MENTION] = object34;
const ATTACHMENT_LINK = AST_KEY.ATTACHMENT_LINK;
const object35 = {};
const DEFAULT_RULES9 = (require(10986) /* metro dependency 10986: MarkupTypesDefaultRules */).DEFAULT_RULES;
const ATTACHMENT_LINK2 = AST_KEY.ATTACHMENT_LINK;
copyDataProperties(object35, DEFAULT_RULES9[ATTACHMENT_LINK2], DEFAULT_RULES);
object35['react'] = createRules_39003React_39026;
object2[ATTACHMENT_LINK] = object35;
const SOUNDBOARD = AST_KEY.SOUNDBOARD;
object2[SOUNDBOARD] = {react: react_39027};
const GUILD = AST_KEY.GUILD;
object2[GUILD] = {react: react_39028};
const CHANNEL = AST_KEY.CHANNEL;
object2[CHANNEL] = {react: react_39029};
const COMMAND_MENTION = AST_KEY.COMMAND_MENTION;
const object36 = {};
const DEFAULT_RULES10 = (require(10986) /* metro dependency 10986: MarkupTypesDefaultRules */).DEFAULT_RULES;
const COMMAND_MENTION2 = AST_KEY.COMMAND_MENTION;
copyDataProperties(object36, DEFAULT_RULES10[COMMAND_MENTION2], DEFAULT_RULES);
object36['react'] = createRules_39003React_39030;
object2[COMMAND_MENTION] = object36;
const GAME_MENTION = AST_KEY.GAME_MENTION;
object2[GAME_MENTION] = {react: react_39031};
const TIMESTAMP = AST_KEY.TIMESTAMP;
const object37 = {};
const DEFAULT_RULES11 = (require(10986) /* metro dependency 10986: MarkupTypesDefaultRules */).DEFAULT_RULES;
const TIMESTAMP2 = AST_KEY.TIMESTAMP;
copyDataProperties(object37, DEFAULT_RULES11[TIMESTAMP2], DEFAULT_RULES);
object37['react'] = createRules_39003React_39032;
object2[TIMESTAMP] = object37;
const LIST = AST_KEY.LIST;
const object38 = {};
const DEFAULT_RULES12 = (require(10986) /* metro dependency 10986: MarkupTypesDefaultRules */).DEFAULT_RULES;
const LIST2 = AST_KEY.LIST;
copyDataProperties(object38, DEFAULT_RULES12[LIST2], DEFAULT_RULES);
object38['react'] = createRules_39003React_39033;
object2[LIST] = object38;
const HEADING = AST_KEY.HEADING;
object2[HEADING] = {react: react_39036};
const SUBTEXT = AST_KEY.SUBTEXT;
object2[SUBTEXT] = {react: react_39037};
const SILENT_PREFIX = AST_KEY.SILENT_PREFIX;
object2[SILENT_PREFIX] = {react: react_39038};
return object2;
}
function plainMentionRenderer(a0, a1, a2) { // fn#39039, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:14234, offset: 0x010d651c, size: 72 bytes, params: 4, frame: 15
var r0;
var value;
if (typeof a0.content === 'string') {
r0 = a0.content;
} else {
value = require(8778) /* metro dependency 8778: MarkupRulesUtils */;
value = value.smartOutput(a0, a1, a2);
r0 = value;
}
return r0;
}
function getValidatedUrl() { // fn#38984, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:1695, owner: MarkupLink.getValidatedUrl, offset: 0x010d3b6e, size: 134 bytes, params: 1, frame: 15
var r0;
const target = node.target;
if (typeof target !== 'string') {
return null;
}
let value = environment.__proto__;
const value2 = (importDefault(1471) /* metro dependency 1471: URLUtils */).safeParseWithQuery(target);
const value3 = null;
if (value3 == value2) {
r0 = value3;
} else if (value3 == value2.protocol) {
r0 = value3;
} else if (value3 == value2.hostname) {
r0 = value3;
} else {
value = importDefault(1471) /* metro dependency 1471: URLUtils */;
value = value.format(value2);
r0 = value;
}
return r0;
}
function MarkupLinkOnPress(a0) { // fn#38985, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:1995, owner: MarkupLink.onPress, offset: 0x010d3bf4, size: 101 bytes, params: 2, frame: 14
var environment;
var value2;
var moduleValue;
const validatedUrl = getValidatedUrl();
if (validatedUrl != null) {
a0.stopPropagation();
value2 = environment.__proto__;
moduleValue = require(8872) /* metro dependency 8872: MaskedLinkUtils */;
moduleValue.handleClick({href: validatedUrl, onConfirm: onConfirm_38986, trusted: trusted_38987});
}
}
function MarkupLinkOnLongPress(a0) { // fn#38988, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:2170, owner: MarkupLink.onLongPress, offset: 0x010d3cb3, size: 69 bytes, params: 2, frame: 13
var value2;
const validatedUrl = getValidatedUrl();
if (validatedUrl != null) {
a0.stopPropagation();
value2 = environment.__proto__;
(importDefault(9862) /* metro dependency 9862: showLongPressURLActionSheet */)({urlString: validatedUrl});
}
}
function _fun38990() { // fn#38990, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:2653, offset: 0x010d3e70, size: 615 bytes, params: 1, frame: 25
var guildId;
var userId;
var defaultImport;
var show;
var object2;
const intl = require(dependencyMap[19]).intl;
const t = require(dependencyMap[19]).t;
var value2;
var defaultImport3;
var openLazy;
var value3;
var castGuildIdAsEveryoneGuildRoleId;
var value4;
var defaultImport4;
var value5;
var value;
if (node.roleId == null) {
if (node.roleName !== '@everyone') {
nodeBinding = node;
userId = nodeBinding.userId;
if (userId != null) {
value = environment.__proto__;
value = undefined;
importDefault(dependencyMap[17])({userId: userId, channelId: nodeBinding.channelId ?? value});
} else {
value = environment.__proto__;
defaultImport = importDefault(dependencyMap[18]);
show = defaultImport.show;
object2 = {};
object2.title = intl.string(t.r0DLNm);
object2.body = intl.string(t.Fqqbhg);
object2.confirmText = intl.string(t.BddRzS);
Reflect.apply(show, defaultImport, [object2]);
}
} else {
guildId = node.guildId;
if (guildId != null) {
value2 = environment.__proto__;
defaultImport3 = importDefault(dependencyMap[31]);
openLazy = defaultImport3.openLazy;
value3 = require(dependencyMap[33])(dependencyMap[32], dependencyMap.paths);
object2 = {};
nodeBinding = node;
guildId = nodeBinding.guildId;
object2.guildId = guildId;
value = importDefault(dependencyMap[34]);
castGuildIdAsEveryoneGuildRoleId = value.castGuildIdAsEveryoneGuildRoleId;
guildId = nodeBinding.guildId;
object2.roleId = Reflect.apply(castGuildIdAsEveryoneGuildRoleId, value, [guildId]);
object2.channelId = nodeBinding.channelId;
Reflect.apply(openLazy, defaultImport3, [value3, 'RoleMembersActionSheet', object2, 'stack']);
} else {
nodeBinding = node;
userId = nodeBinding.userId;
if (userId != null) {
value = environment.__proto__;
value = undefined;
importDefault(dependencyMap[17])({userId: userId, channelId: nodeBinding.channelId ?? value});
} else {
value = environment.__proto__;
defaultImport = importDefault(dependencyMap[18]);
show = defaultImport.show;
object2 = {};
object2.title = intl.string(t.r0DLNm);
object2.body = intl.string(t.Fqqbhg);
object2.confirmText = intl.string(t.BddRzS);
Reflect.apply(show, defaultImport, [object2]);
}
}
}
} else {
guildId = node.guildId;
if (guildId != null) {
value4 = environment.__proto__;
defaultImport4 = importDefault(dependencyMap[31]);
openLazy = defaultImport4.openLazy;
value5 = require(dependencyMap[33])(dependencyMap[32], dependencyMap.paths);
nodeBinding = node;
Reflect.apply(openLazy, defaultImport4, [value5, 'RoleMembersActionSheet', {guildId: nodeBinding.guildId,
roleId: nodeBinding.roleId, channelId: nodeBinding.channelId}, 'stack']);
} else if (node.roleName !== '@everyone') {
nodeBinding = node;
userId = nodeBinding.userId;
if (userId != null) {
value = environment.__proto__;
value = undefined;
importDefault(dependencyMap[17])({userId: userId, channelId: nodeBinding.channelId ?? value});
} else {
value = environment.__proto__;
defaultImport = importDefault(dependencyMap[18]);
show = defaultImport.show;
object2 = {};
object2.title = intl.string(t.r0DLNm);
object2.body = intl.string(t.Fqqbhg);
object2.confirmText = intl.string(t.BddRzS);
Reflect.apply(show, defaultImport, [object2]);
}
} else {
guildId = node.guildId;
if (guildId != null) {
value2 = environment.__proto__;
defaultImport3 = importDefault(dependencyMap[31]);
openLazy = defaultImport3.openLazy;
value3 = require(dependencyMap[33])(dependencyMap[32], dependencyMap.paths);
object2 = {};
nodeBinding = node;
guildId = nodeBinding.guildId;
object2.guildId = guildId;
value = importDefault(dependencyMap[34]);
castGuildIdAsEveryoneGuildRoleId = value.castGuildIdAsEveryoneGuildRoleId;
guildId = nodeBinding.guildId;
object2.roleId = Reflect.apply(castGuildIdAsEveryoneGuildRoleId, value, [guildId]);
object2.channelId = nodeBinding.channelId;
Reflect.apply(openLazy, defaultImport3, [value3, 'RoleMembersActionSheet', object2, 'stack']);
} else {
nodeBinding = node;
userId = nodeBinding.userId;
if (userId != null) {
value = environment.__proto__;
value = undefined;
importDefault(dependencyMap[17])({userId: userId, channelId: nodeBinding.channelId ?? value});
} else {
value = environment.__proto__;
defaultImport = importDefault(dependencyMap[18]);
show = defaultImport.show;
object2 = {};
object2.title = intl.string(t.r0DLNm);
object2.body = intl.string(t.Fqqbhg);
object2.confirmText = intl.string(t.BddRzS);
Reflect.apply(show, defaultImport, [object2]);
}
}
}
}
}
function _fun38993() { // fn#38993, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:3986, offset: 0x010d4241, size: 85 bytes, params: 1, frame: 14
var value;
const content = node.content;
if (typeof content === 'string') {
value = environment.__proto__;
value = require(6797) /* metro dependency 6797: ClipboardUtilsNative */;
value.copy(content);
value = require(3856) /* metro dependency 3856: ToastUtils */;
value.presentCopiedToClipboard();
}
}
function MarkupChannelMentionOnPress() { // fn#38998, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:5426, owner: MarkupChannelMention.onPress, offset: 0x010d466e, size: 299 bytes, params: 1, frame: 21
var r0;
var nodeBinding;
var channelId;
var messageId;
var shouldNavigateBack;
var shouldCloseModal;
var value3;
var channel;
var moduleValue;
var rootNavigationRef;
var value6;
var value;
const noStyleAndInteraction = state.noStyleAndInteraction;
const value2 = null;
if (noStyleAndInteraction) {
r0 = value2;
} else {
nodeBinding = node;
channelId = nodeBinding.channelId;
messageId = nodeBinding.messageId;
var {shouldNavigateBack, shouldCloseModal} = state;
value = undefined;
if (value2 != channelId) {
if (value2 != messageId) {
value6 = environment.__proto__;
(require(4601) /* metro dependency 4601: transitionToChannel */).transitionToMessage(channelId,
messageId);
r0 = value;
} else {
value3 = environment.__proto__;
channel = ChannelStore.getChannel(channelId);
if (value2 != channel) {
if (channel.isGuildVocal()) {
moduleValue = require(4246) /* metro dependency 4246: LinkUtils */;
if (moduleValue.canViewChannel(channel)) {
if (shouldNavigateBack) {
rootNavigationRef = (require(4008) /* metro dependency 4008: RootNavigationRefNative */).getRootNavigationRef();
if (value2 != rootNavigationRef) {
rootNavigationRef.goBack();
}
}
if (shouldCloseModal) {
(importDefault(5080) /* metro dependency 5080: ModalActionCreators */).pop();
}
}
}
}
(require(4601) /* metro dependency 4601: transitionToChannel */).transitionToChannel(channelId);
r0 = value;
}
} else {
r0 = value;
}
}
return r0;
}
function MarkupAttachmentLinkOnPress(a0) { // fn#39000, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:6364, owner: MarkupAttachmentLink.onPress, offset: 0x010d491a, size: 79 bytes, params: 2, frame: 12
var value2;
var defaultImport;
if (!state.noStyleAndInteraction) {
a0.stopPropagation();
value2 = environment.__proto__;
defaultImport = importDefault(3853) /* metro dependency 3853: Linking */;
defaultImport.openURL(node.attachmentLink);
}
}
function _fun39004() { // fn#39004, offset: 0x010d52ba, size: 24 bytes, params: 1, frame: 3
const value = a0;
const env0_0 = value !== undefined ? value : {};
return _fun39005;
}
function _fun39006() { // fn#39006, offset: 0x010d536b, size: 39 bytes, params: 1, frame: 5
const value = a0;
const value2 = a1;
const env0_0 = value !== undefined ? value : {};
const env0_1 = value2 !== undefined ? value2 : 'username';
return _fun39007;
}
function createRules_39003React(a0, a1, a2) { // fn#39008, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:7091, owner: createRules_39003.react, offset: 0x010d53db, size: 119 bytes, params: 4, frame: 19
var r0;
var value;
if (typeof a0.content === 'string') {
r0 = a0.content;
} else {
value = environment.__proto__;
var markupTextBindingProps = {color: a2?.textColor};
value = require(8778) /* metro dependency 8778: MarkupRulesUtils */;
value = <MarkupText {...markupTextBindingProps} key={a2.key}>{value.smartOutput(a0, a1, a2)}</MarkupText>;
r0 = value;
}
return r0;
}
function createRules_39003React_39009(a0, a1, a2) { // fn#39009, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:7328, owner: createRules_39003.react, offset: 0x010d5452, size: 123 bytes, params: 4, frame: 19
const value = environment.__proto__;
return (
<MarkupText
style={{textDecorationLine: 'line-through'}}
color={a2?.textColor}
variant={a2.textVariant}
key={a2.key}
>
{(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(a0, a1, a2)}
</MarkupText>
);
}
function createRules_39003React_39010(a0, a1, a2) { // fn#39010, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:7584, owner: createRules_39003.react, offset: 0x010d54cd, size: 121 bytes, params: 4, frame: 19
const value = environment.__proto__;
return (
<MarkupText
style={{textDecorationLine: 'underline'}}
color={a2?.textColor}
variant={a2.textVariant}
key={a2.key}
>
{(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(a0, a1, a2)}
</MarkupText>
);
}
function createRules_39003React_39011(a0, a1, a2) { // fn#39011, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:7827, owner: createRules_39003.react, offset: 0x010d5546, size: 159 bytes, params: 4, frame: 21
const value = environment.__proto__;
const em = env0_0.em;
const value3 = undefined;
return (
<MarkupText
style={{fontStyle: (em == null ? value3 : em.fontStyle) ?? 'italic'}}
color={a2 == null ? value3 : a2.textColor}
variant={a2.textVariant}
key={a2.key}
>
{(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(a0, a1, a2)}
</MarkupText>
);
}
function createRules_39003React_39012(a0, a1, a2) { // fn#39012, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:8128, owner: createRules_39003.react, offset: 0x010d55e5, size: 136 bytes, params: 4, frame: 19
const value = environment.__proto__;
let strong = env0_0.strong;
strong = !strong ? env1_17.strong : strong;
return (
<MarkupText
style={strong}
color={a2?.textColor}
variant={a2.textVariant}
key={a2.key}
>
{(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(a0, a1, a2)}
</MarkupText>
);
}
function createRules_39003React_39013(a0, a1, a2) { // fn#39013, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:8624, owner: createRules_39003.react, offset: 0x010d566d, size: 61 bytes, params: 4, frame: 17
const value = environment.__proto__;
return (
<MarkupText color={a2?.textColor} key={a2.key}>
{'\n'}
</MarkupText>
);
}
function createRules_39003React_39014(a0, a1, a2) { // fn#39014, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:8739, owner: createRules_39003.react, offset: 0x010d56aa, size: 96 bytes, params: 4, frame: 19
const value = environment.__proto__;
return (
<MarkupText color={a2?.textColor} key={a2.key}>
{(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(a0, a1, a2)}
</MarkupText>
);
}
function createRules_39003React_39015(a0, a1, a2) { // fn#39015, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:8935, owner: createRules_39003.react, offset: 0x010d570a, size: 64 bytes, params: 4, frame: 15
return (
<MarkupBlockQuote
styles={env0_0}
state={a2}
node={a0}
output={a1}
key={a2.key}
/>
);
}
function createRules_39003React_39017(a0, a1, a2) { // fn#39017, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:9240, owner: createRules_39003.react, offset: 0x010d574a, size: 53 bytes, params: 4, frame: 16
return (
<Text key={a2.key}>
{a0.surrogate || a0.content}
</Text>
);
}
function createRules_39003React_39018(a0, a1, a2) { // fn#39018, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:9334, owner: createRules_39003.react, offset: 0x010d577f, size: 56 bytes, params: 4, frame: 15
return (
<MarkupCustomEmoji
state={a2}
node={a0}
styles={env0_0}
key={a2.key}
/>
);
}
function createRules_39003React_39019(a0, a1, a2) { // fn#39019, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:9431, owner: createRules_39003.react, offset: 0x010d57b7, size: 116 bytes, params: 4, frame: 19
const value = environment.__proto__;
const Spoiler = importDefault(10988) /* metro dependency 10988: Spoiler */;
const binding = env0_0;
return (
<Spoiler
spoilerStyle={binding.spoiler}
spoilerRevealedStyle={binding.spoilerRevealed}
key={a2.key}
>
{(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(a0, a1, a2)}
</Spoiler>
);
}
function createRules_39003React_39020(a0, a1, a2) { // fn#39020, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:9598, owner: createRules_39003.react, offset: 0x010d582b, size: 404 bytes, params: 4, frame: 23
var environment;
var r10;
var SignPostIcon;
var object;
var items2;
const env0_0 = a0;
let value = environment.__proto__;
const value2 = undefined;
const markupRulesUtilsModule = require(8778) /* metro dependency 8778: MarkupRulesUtils */;
const isStaticRouteIconType = markupRulesUtilsModule.isStaticRouteIconType;
let channelId = a0.channelId;
if (Reflect.apply(isStaticRouteIconType, markupRulesUtilsModule, [channelId])) {
SignPostIcon = (require(12374) /* metro dependency 12374: SignPostIcon */).SignPostIcon;
channelId = a0.channelId;
r10 = StaticChannelId.GUILD_HOME === channelId || StaticChannelId.SERVER_GUIDE === channelId ? (require(12374) /* metro dependency 12374: SignPostIcon */).SignPostIcon : StaticChannelId.CHANNEL_BROWSER === channelId || StaticChannelId.CUSTOMIZE_COMMUNITY === channelId ? (require(12376) /* metro dependency 12376: ChannelListMagnifyingGlassIcon */).ChannelListMagnifyingGlassIcon : StaticChannelId.LINKED_ROLES !== channelId ? SignPostIcon : (require(4056) /* metro dependency 4056: LinkIcon */).LinkIcon;
var markupTextProps = {accessibilityRole: 'button', style: env0_0.staticRouteLink,
color: a2 == null ? value2 : a2.textColor, onPress: onPress_39021};
items2 = [((Component) => <Component style={env0_0.staticRouteLinkIcon} size="sm" />)(r10)];
value = markupRulesUtilsModule;
items2[1] = value.smartOutput(a0, a1, a2);
return (
<MarkupText {...markupTextProps} key={a2.key}>
{items2}
</MarkupText>
);
}
return null;
}
function createRules_39003React_39022(a0, a1, a2) { // fn#39022, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:10455, owner: createRules_39003.react, offset: 0x010d5a61, size: 64 bytes, params: 4, frame: 15
return (
<MarkupInlineCode
styles={env0_0}
state={a2}
node={a0}
output={a1}
key={a2.key}
/>
);
}
function createRules_39003Parse(a0, a1, a2) { // fn#39023, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:10612, owner: createRules_39003.parse, offset: 0x010d5aa1, size: 140 bytes, params: 4, frame: 16
const DEFAULT_RULES = (require(10986) /* metro dependency 10986: MarkupTypesDefaultRules */).DEFAULT_RULES;
const AST_KEY = (require(4598) /* metro dependency 4598: MarkupTypes */).AST_KEY;
const CODE_BLOCK = AST_KEY.CODE_BLOCK;
const value2 = DEFAULT_RULES[CODE_BLOCK].parse(a0, a1, a2);
if (value2.lang.toLowerCase() === 'ansi') {
value2.content = value2.content.replaceAll(env1_16, '');
}
return value2;
}
function createRules_39003React_39024(a0, a1, a2) { // fn#39024, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:10781, owner: createRules_39003.react, offset: 0x010d5b2d, size: 64 bytes, params: 4, frame: 15
return (
<MarkupCodeBlock
styles={env0_0}
state={a2}
node={a0}
output={a1}
key={a2.key}
/>
);
}
function createRules_39003React_39025(a0, a1, a2) { // fn#39025, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:11042, owner: createRules_39003.react, offset: 0x010d5b6d, size: 73 bytes, params: 4, frame: 16
return (
<MarkupChannelMention
styles={env0_0}
state={a2}
node={a0}
output={a1}
variants={env0_1}
key={a2.key}
/>
);
}
function createRules_39003React_39026(a0, a1, a2) { // fn#39026, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:11230, owner: createRules_39003.react, offset: 0x010d5bb6, size: 73 bytes, params: 4, frame: 16
return (
<MarkupAttachmentLink
styles={env0_0}
state={a2}
node={a0}
output={a1}
variants={env0_1}
key={a2.key}
/>
);
}
function createRules_39003React_39027(a0, a1, a2) { // fn#39027, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:11353, owner: createRules_39003.react, offset: 0x010d5bff, size: 120 bytes, params: 4, frame: 19
let value = environment.__proto__;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
value = require(8778) /* metro dependency 8778: MarkupRulesUtils */;
value = value.smartOutput(a0, a1, a2);
return (
<Text variant="text-md/bold" key={a2.key}>
{'<sound:'}
{value}
{'>'}
</Text>
);
}
function createRules_39003React_39028(a0, a1, a2) { // fn#39028, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:11490, owner: createRules_39003.react, offset: 0x010d5c77, size: 454 bytes, params: 4, frame: 23
var r8;
var GuildIcon;
var fontScale;
const value = environment.__proto__;
const value2 = undefined;
const r6 = (require(477) /* metro dependency 477: PlatformUtils */).isAndroid() ? 2 : PixelRatio.getFontScale() < 1.5 ? 1 : 0;
const icon = a0.icon;
const value7 = null;
if (value7 != icon) {
GuildIcon = importDefault(6819) /* metro dependency 6819: GuildIcon */;
var defaultImportProps = {style: {top: r6}, icon: a0.icon};
fontScale = PixelRatio.getFontScale();
defaultImportProps.size = fontScale < 1 ? (require(6819) /* metro dependency 6819: GuildIcon */).GuildIconSizes.XXXSMALL : fontScale < 1.25 ? (require(6819) /* metro dependency 6819: GuildIcon */).GuildIconSizes.XXSMALL_12 : (require(6819) /* metro dependency 6819: GuildIcon */).GuildIconSizes.XXSMALL;
r8 = <GuildIcon {...defaultImportProps} />;
} else {
r8 = value7;
}
return (
<MarkupText color={value7 == a2 ? value2 : a2.textColor} key={a2.key}>
<View style={env1_17.guildIcon}>
{r8}
</View>
<MarkupText color={value7 == a2 ? value2 : a2.textColor}>
{(require(8778) /* metro dependency 8778: MarkupRulesUtils */).smartOutput(a0, a1, a2)}
</MarkupText>
</MarkupText>
);
}
function createRules_39003React_39029(a0, a1, a2) { // fn#39029, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:11981, owner: createRules_39003.react, offset: 0x010d5e3d, size: 293 bytes, params: 4, frame: 24
const iconType = a0.iconType;
let value = 'text';
const r10 = iconType ?? value;
const r12 = value !== r10 ? 2 : 0;
value = environment.__proto__;
const value3 = undefined;
const ThemedIcon = (require(1305) /* metro dependency 1305: native */).ThemedIcon;
const MENTION_FOREGROUND = (importDefault(697) /* metro dependency 697: native */).colors.MENTION_FOREGROUND;
const themedIcon = <ThemedIcon themedColor={MENTION_FOREGROUND} source={(require(6647) /* metro dependency 6647: ChannelUtils */).getChannelMentionIcon(r10)} size={getIconSize_39002()} style={{top: 1}} />;
const textColor = a2 == null ? value3 : a2.textColor;
const items2 = [<View style={{paddingEnd: r12}}>{themedIcon}</View>];
value = require(8778) /* metro dependency 8778: MarkupRulesUtils */;
items2[1] = value.smartOutput(a0, a1, a2);
return (
<MarkupText color={textColor} key={a2.key}>
{items2}
</MarkupText>
);
}
function createRules_39003React_39030(a0, a1, a2) { // fn#39030, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:12441, owner: createRules_39003.react, offset: 0x010d5f62, size: 64 bytes, params: 4, frame: 15
return (
<MarkupCommandMention
styles={env0_0}
state={a2}
node={a0}
output={a1}
key={a2.key}
/>
);
}
function createRules_39003React_39031(a0, a1, a2) { // fn#39031, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:12555, owner: createRules_39003.react, offset: 0x010d5fa2, size: 60 bytes, params: 4, frame: 16
const value = environment.__proto__;
return ((Component) => <Component node={a0} state={a2} key={a2.key} />)(importDefault(12378) /* metro dependency 12378: MarkupReactGameMentionRule */);
}
function createRules_39003React_39032(a0, a1, a2) { // fn#39032, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:12690, owner: createRules_39003.react, offset: 0x010d5fde, size: 73 bytes, params: 4, frame: 15
const value = environment.__proto__;
return ((Component) => <Component node={a0} style={env0_0.timestamp} key={a2.key} />)(importDefault(10990) /* metro dependency 10990: TimestampNative */);
}
function createRules_39003React_39033(a0, a1, a2) { // fn#39033, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:12819, owner: createRules_39003.react, offset: 0x010d6027, size: 198 bytes, params: 4, frame: 17
const env0_0 = a0;
const env0_1 = a1;
const env0_2 = a2;
let level = a2.level;
level = level != null ? a2.level : 0;
let start = a0.start;
start = start != null ? a0.start : a2.start;
value = a0.items.map(_fun39034);
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<Text
style={env1_17.list}
variant="text-sm/medium"
key={'list-' + a2.key}
>
{value}
</Text>
);
}
function createRules_39003React_39036(a0, a1, a2) { // fn#39036, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:13623, owner: createRules_39003.react, offset: 0x010d63f0, size: 184 bytes, params: 4, frame: 19
const r6 = a0.level === 1 ? 'heading-xl/bold' : a0.level !== 2 ? 'heading-md/bold' : 'heading-lg/bold';
value = environment.__proto__;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const textProps = {variant: r6, color: a2.forceWhite ? 'white' : 'text-strong'};
value = require(8778) /* metro dependency 8778: MarkupRulesUtils */;
value = value.smartOutput(a0, a1, a2);
return (
<Text {...textProps} key={a2.key}>
{value}
{'\n'}
</Text>
);
}
function createRules_39003React_39037(a0, a1, a2) { // fn#39037, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:13883, owner: createRules_39003.react, offset: 0x010d64a8, size: 116 bytes, params: 4, frame: 19
let value = environment.__proto__;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
value = require(8778) /* metro dependency 8778: MarkupRulesUtils */;
value = value.smartOutput(a0, a1, a2);
return (
<Text
variant="text-sm/normal"
color="text-muted"
key={a2.key}
>
{value}
{'\n'}
</Text>
);
}
function onPressOnConfirm() { // fn#38986, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:2092, owner: MarkupLink.onPress.onConfirm, offset: 0x010d3c59, size: 45 bytes, params: 1, frame: 11
const value = environment.__proto__.__proto__;
return (importDefault(3853) /* metro dependency 3853: Linking */).openURL(env0_0);
}
function onPressTrusted() { // fn#38987, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:2124, owner: MarkupLink.onPress.trusted, offset: 0x010d3c86, size: 45 bytes, params: 1, frame: 11
let value = environment.__proto__.__proto__;
value = require(9875) /* metro dependency 9875: MarkupReactLinkUtils */;
return value.isLinkTrusted(node);
}
function _fun39005(a0, a1, a2) { // fn#39005, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:6760, offset: 0x010d52d2, size: 153 bytes, params: 4, frame: 21
var r0;
const noStyleAndInteraction = a2.noStyleAndInteraction;
let value = environment.__proto__.__proto__;
if (noStyleAndInteraction) {
var markupTextBindingProps = {color: a2?.textColor};
value = require(8778) /* metro dependency 8778: MarkupRulesUtils */;
value = <MarkupText {...markupTextBindingProps} key={a2.key}>{value.smartOutput(a0, a1, a2)}</MarkupText>;
r0 = value;
} else {
r0 = <MarkupLink state={a2} node={a0} output={a1} styles={env0_0} key={a2.key} />;
}
return r0;
}
function _fun39007(a0, a1, a2) { // fn#39007, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:6968, offset: 0x010d5392, size: 73 bytes, params: 4, frame: 16
return (
<MarkupMention
roleStyle={env0_1}
state={a2}
node={a0}
output={a1}
styles={env0_0}
key={a2.key}
/>
);
}
function reactOnPress() { // fn#39021, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:10038, owner: createRules_39003.react.onPress, offset: 0x010d59bf, size: 162 bytes, params: 1, frame: 16
var moduleValue;
const {guildId, channelId} = env0_0;
const guild = GuildStore.getGuild(guildId);
if (guildId != null && guild != null && guild.features.has(GuildFeatures.COMMUNITY)) {
if (!(channelId !== StaticChannelId.GUILD_HOME && channelId !== StaticChannelId.SERVER_GUIDE)) {
moduleValue = require(4601) /* metro dependency 4601: transitionToChannel */;
moduleValue.transitionToStaticChannelRoute(guildId, StaticChannelRoute.GUILD_HOME);
}
}
}
function _fun39034(a0, a1) { // fn#39034, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:12909, offset: 0x010d60ed, size: 639 bytes, params: 3, frame: 31
const env0_0 = a0;
const r7 = level !== 0 ? '⚬ ' : typeof env0_0.ordered !== 'boolean' ? (require(477) /* metro dependency 477: PlatformUtils */).isAndroid() ? '• ' : '● ' : env0_0.ordered && start != null ? '' + (start + a1) + '. ' : (require(477) /* metro dependency 477: PlatformUtils */).isAndroid() ? '• ' : '● ';
const object2 = {};
copyDataProperties(object2, importDefault, undefined);
const key = importDefault.key;
const value8 = '';
object2['key'] = value8 + key + '-' + a1;
object2['level'] = level + 1;
object2['start'] = start != null ? start + 1 : start;
const value12 = undefined;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const listItem = env2_17.listItem;
const markupText = <MarkupText style={env2_17.bullet} color={importDefault == null ? value12 : importDefault.textColor} key={'list-' + importDefault.key + '-item-' + a1 + '-bullet'}>{level > 0 ? ' '.repeat(level) : value8}{r7}</MarkupText>;
const Array = global.Array;
return (
<Text
style={listItem}
variant="text-sm/medium"
key={'list-' + importDefault.key + '-item-' + a1}
>
{markupText}
{Array.isArray(a0) ? a0.map(_fun39035) : require(a0, object2)}
{env0_0.items.length !== a1 + 1 ? ' ' : value8}
</Text>
);
}
function _fun39035(a0, a1) { // fn#39035, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4777:13321, offset: 0x010d636c, size: 132 bytes, params: 3, frame: 21
const value = a0.type === 'list';
const value4 = a1 + 1 === env0_0.length;
const Fragment = env3_3.Fragment;
const items2 = [value && '\n'];
items2[1] = require(a0, env0_1);
items2[2] = value4 && !value && '\n';
return (
<Fragment key={a1}>
{items2}
</Fragment>
);
}