402 lines
12 KiB
TypeScript
402 lines
12 KiB
TypeScript
// Metro module 7877 (f7878).
|
|
import { MessageEmbedTypes, MessageTypes } from "../../Constants";
|
|
import { isEmbedInline } from "../../utils/EmbedUtils";
|
|
import { isBuildOverrideLink } from "../build_overrides/BuildOverrideUtils";
|
|
import { isExperimentEmbedURL } from "../experiments/ExperimentEmbedUtils";
|
|
import { parseGameServerShareCode } from "../coded_links/findCodedLinks";
|
|
function $mk79369() {
|
|
return (a0) => {
|
|
let r0 = a0.type !== "emoji" && a0.type !== "customEmoji";
|
|
if (r0) {
|
|
const content = a0.content;
|
|
r0 = typeof content === "string" ? a0.content.trim() !== "" : typeof content !== "string";
|
|
}
|
|
return r0;
|
|
};
|
|
}
|
|
function $mk79370($env) {
|
|
return (a0) => {
|
|
const r1 = a0.type !== "emoji" && a0.type !== "customEmoji";
|
|
const r8 = $env;
|
|
if (!r1) {
|
|
r8[0] = r8[0] + 1;
|
|
}
|
|
if (r8[0] > 30) {
|
|
return false;
|
|
}
|
|
};
|
|
}
|
|
function $mk79371() {
|
|
return (a0) => {
|
|
a0.jumboable = true;
|
|
};
|
|
}
|
|
function $mk79372($env) {
|
|
return (a0) => {
|
|
let r18, r22, r28;
|
|
let env26047;
|
|
const r12 = $env.$parent;
|
|
const r14 = $env[0];
|
|
const r5 = env26047 = {
|
|
$parent: r12
|
|
};
|
|
env26047[0] = r14;
|
|
if (a0 instanceof Array) {
|
|
r18 = a0.some($mk79372(r5));
|
|
} else {
|
|
r18 = r14(a0);
|
|
if (r18 == null) {
|
|
if (a0.content instanceof Array) {
|
|
let env26048;
|
|
const content = a0.content;
|
|
const r25 = env26048 = {
|
|
$parent: r12
|
|
};
|
|
env26048[0] = r14;
|
|
if (content instanceof Array) {
|
|
r28 = content.some($mk79372(r25));
|
|
} else {
|
|
r28 = r14(content);
|
|
if (r28 == null) {
|
|
r28 = content.content instanceof Array ? (0, r12[7])(content.content, r14) : content.items instanceof Array && content.items.some($mk79373(r25));
|
|
}
|
|
}
|
|
r22 = r28;
|
|
} else {
|
|
r22 = a0.items instanceof Array && a0.items.some($mk79373(r5));
|
|
}
|
|
r18 = r22;
|
|
}
|
|
}
|
|
return r18;
|
|
};
|
|
}
|
|
function $mk79373($env) {
|
|
return (a0) => {
|
|
let r18, r22, r28;
|
|
let env26049;
|
|
const r12 = $env.$parent;
|
|
const r14 = $env[0];
|
|
const r5 = env26049 = {
|
|
$parent: r12
|
|
};
|
|
env26049[0] = r14;
|
|
if (a0 instanceof Array) {
|
|
r18 = a0.some($mk79372(r5));
|
|
} else {
|
|
r18 = r14(a0);
|
|
if (r18 == null) {
|
|
if (a0.content instanceof Array) {
|
|
let env26050;
|
|
const content = a0.content;
|
|
const r25 = env26050 = {
|
|
$parent: r12
|
|
};
|
|
env26050[0] = r14;
|
|
if (content instanceof Array) {
|
|
r28 = content.some($mk79372(r25));
|
|
} else {
|
|
r28 = r14(content);
|
|
if (r28 == null) {
|
|
r28 = content.content instanceof Array ? (0, r12[7])(content.content, r14) : content.items instanceof Array && content.items.some($mk79373(r25));
|
|
}
|
|
}
|
|
r22 = r28;
|
|
} else {
|
|
r22 = a0.items instanceof Array && a0.items.some($mk79373(r5));
|
|
}
|
|
r18 = r22;
|
|
}
|
|
}
|
|
return r18;
|
|
};
|
|
}
|
|
function $mk79377() {
|
|
return (a0) => a0.type !== "link";
|
|
}
|
|
function $mk79378($env) {
|
|
return (a0) => {
|
|
const type = a0.type;
|
|
const r0 = a0.target != null;
|
|
let r7 = null;
|
|
if (r0) {
|
|
const r5 = $env.$parent;
|
|
r7 = (0, r5[0])(r5[2][4]).parseQuestsEmbedCode(a0.target);
|
|
}
|
|
return !(type === "link" && r7 != null && !$env[0]);
|
|
};
|
|
}
|
|
function $mk79379($env) {
|
|
return (a0) => {
|
|
const r1 = $env;
|
|
if (r1[5].has(a0.type) && a0.content != null) {
|
|
const isArray = Array.isArray(a0.content);
|
|
const content = a0.content;
|
|
if (isArray) {
|
|
content.forEach($mk79379(r1));
|
|
} else if (typeof content === "string") {
|
|
a0.content = a0.content.replace(/\n/g, " ");
|
|
} else {
|
|
(0, r1[1])(r1[2][5]).captureMessage(`AST node type:${a0.type} with content typeof ${typeof a0.content}. Keys ${Object.keys(a0)}`);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
let containsMatchingNode, c4975_4, c4975_5;
|
|
let $mk79374 = function() {
|
|
return (a0) => {
|
|
let r20, r27, r33;
|
|
const type = a0.type;
|
|
let r4 = null;
|
|
if (type === "spoiler") {
|
|
let env26051;
|
|
const r15 = (a0) => a0.type === "link" || a0.type === "attachmentLink" || null;
|
|
const r17 = env26051 = {
|
|
$parent: env4975
|
|
};
|
|
env26051[0] = r15;
|
|
if (a0 instanceof Array) {
|
|
r20 = a0.some($mk79372(r17));
|
|
} else {
|
|
r20 = a0.type === "link" || a0.type === "attachmentLink" || null;
|
|
if (r20 == null) {
|
|
if (a0.content instanceof Array) {
|
|
let env26052;
|
|
const content = a0.content;
|
|
const r30 = env26052 = {
|
|
$parent: env4975
|
|
};
|
|
env26052[0] = r15;
|
|
if (content instanceof Array) {
|
|
r33 = content.some($mk79372(r30));
|
|
} else {
|
|
r33 = r15(content);
|
|
if (r33 == null) {
|
|
r33 = content.content instanceof Array ? containsMatchingNode(content.content, r15) : content.items instanceof Array && content.items.some($mk79373(r30));
|
|
}
|
|
}
|
|
r27 = r33;
|
|
} else {
|
|
r27 = a0.items instanceof Array && a0.items.some($mk79373(r17));
|
|
}
|
|
r20 = r27;
|
|
}
|
|
}
|
|
r4 = r20;
|
|
}
|
|
return r4;
|
|
};
|
|
}, $mk79375 = function() {
|
|
return (a0) => a0.type !== "link" || !isBuildOverrideLink(a0.target);
|
|
}, $mk79376 = function() {
|
|
return (a0) => a0.type !== "link" || !isExperimentEmbedURL(a0.target);
|
|
};
|
|
let env4975 = {};
|
|
export function checkSpoilerEmbeds(a0, a1) {
|
|
let r21, r28, r32, r38, r57, r64, r72;
|
|
if (a1) {
|
|
let env16067;
|
|
const r51 = $mk79374();
|
|
const r52 = env16067 = {
|
|
$parent: env4975
|
|
};
|
|
env16067[0] = r51;
|
|
if (a0 instanceof Array) {
|
|
r57 = a0.some($mk79372(r52));
|
|
} else {
|
|
r57 = r51(a0);
|
|
if (r57 == null) {
|
|
if (a0.content instanceof Array) {
|
|
let env16068;
|
|
const content3 = a0.content;
|
|
const r69 = env16068 = {
|
|
$parent: env4975
|
|
};
|
|
env16068[0] = r51;
|
|
if (content3 instanceof Array) {
|
|
r72 = content3.some($mk79372(r69));
|
|
} else {
|
|
r72 = r51(content3);
|
|
if (r72 == null) {
|
|
r72 = content3.content instanceof Array ? containsMatchingNode(content3.content, r51) : content3.items instanceof Array && content3.items.some($mk79373(r69));
|
|
}
|
|
}
|
|
r64 = r72;
|
|
} else {
|
|
r64 = a0.items instanceof Array && a0.items.some($mk79373(r52));
|
|
}
|
|
r57 = r64;
|
|
}
|
|
}
|
|
r21 = r57;
|
|
} else {
|
|
r21 = a0[0].type === "paragraph" && a0[0].content instanceof Array;
|
|
if (r21) {
|
|
let env16065;
|
|
const content = a0[0].content;
|
|
const r17 = $mk79374();
|
|
const r26 = env16065 = {
|
|
$parent: env4975
|
|
};
|
|
env16065[0] = r17;
|
|
if (content instanceof Array) {
|
|
r28 = content.some($mk79372(r26));
|
|
} else {
|
|
r28 = r17(content);
|
|
if (r28 == null) {
|
|
if (content.content instanceof Array) {
|
|
let env16066;
|
|
const content2 = content.content;
|
|
const r35 = env16066 = {
|
|
$parent: env4975
|
|
};
|
|
env16066[0] = r17;
|
|
if (content2 instanceof Array) {
|
|
r38 = content2.some($mk79372(r35));
|
|
} else {
|
|
r38 = r17(content2);
|
|
if (r38 == null) {
|
|
r38 = content2.content instanceof Array ? containsMatchingNode(content2.content, r17) : content2.items instanceof Array && content2.items.some($mk79373(r35));
|
|
}
|
|
}
|
|
r32 = r38;
|
|
} else {
|
|
r32 = content.items instanceof Array && content.items.some($mk79373(r26));
|
|
}
|
|
r28 = r32;
|
|
}
|
|
}
|
|
r21 = r28;
|
|
}
|
|
}
|
|
return r21;
|
|
}
|
|
containsMatchingNode = function containsMatchingNode(a0, a1) {
|
|
let env16069;
|
|
const r2 = env16069 = {
|
|
$parent: env4975
|
|
};
|
|
env16069[0] = a1;
|
|
if (a0 instanceof Array) {
|
|
return a0.some($mk79372(r2));
|
|
}
|
|
let r11 = a1(a0);
|
|
if (r11 == null) {
|
|
r11 = a0.content instanceof Array ? containsMatchingNode(a0.content, a1) : a0.items instanceof Array && a0.items.some($mk79373(r2));
|
|
}
|
|
return r11;
|
|
};
|
|
c4975_4 = new Set([MessageEmbedTypes.IMAGE, MessageEmbedTypes.GIFV]);
|
|
c4975_5 = new Set(["strong", "em", "u", "text", "inlineCode", "s", "spoiler"]);
|
|
export function checkForSimpleEmbedMessage(a0, a1) {
|
|
if (a0.length === 1 && a1.length === 1) {
|
|
const r10 = a0[0];
|
|
const r6 = a1[0];
|
|
return r10.type !== "link" ? r10.type === "attachmentLink" ? c4975_4.has(r6.type) ? isEmbedInline(r6) ? [] : a0 : a0 : a0 : c4975_4.has(r6.type) ? isEmbedInline(r6) ? [] : a0 : a0;
|
|
}
|
|
return a0;
|
|
}
|
|
export function removeBuildOverrideLinks(a0) {
|
|
return a0.filter($mk79375());
|
|
}
|
|
export function removeExperimentLinks(a0) {
|
|
return a0.filter($mk79376());
|
|
}
|
|
export function removeQuestsEmbedLinks(a0) {
|
|
let env16070;
|
|
const r1 = env16070 = {
|
|
$parent: env4975
|
|
};
|
|
env16070[0] = a0.some($mk79377());
|
|
return a0.filter($mk79378(r1));
|
|
}
|
|
export function removeGameServerShareLinks(a0) {
|
|
return a0.filter((item) => {
|
|
const type = item.type;
|
|
const r1 = item.target != null && parseGameServerShareCode(item.target) != null;
|
|
return !(type === "link" && r1);
|
|
});
|
|
}
|
|
export function convertNewlinesInContent(a0) {
|
|
a0.forEach.call(a0, $mk79379(env4975));
|
|
return a0;
|
|
}
|
|
export function runMessageMarkupPostProcessors(a0) {
|
|
const { ast, inline, hasBailedAst, message } = a0;
|
|
let contentMessage = a0.contentMessage;
|
|
const { messageContent, hideSimpleEmbedContent, formatInline, toAST } = a0;
|
|
let r20 = Array.isArray(ast) ? ast : [ast];
|
|
if (hasBailedAst) {
|
|
r20 = [{
|
|
type: "text",
|
|
content: messageContent,
|
|
originalMatch: {
|
|
index: 0,
|
|
0: messageContent
|
|
}
|
|
}];
|
|
}
|
|
const r25 = env4975;
|
|
let r26 = r20;
|
|
if (hideSimpleEmbedContent) {
|
|
const embeds = (contentMessage == null ? message : contentMessage).embeds;
|
|
const length = r20.length;
|
|
let r30 = r20;
|
|
if (length === 1) {
|
|
const length2 = embeds.length;
|
|
r30 = r20;
|
|
if (length2 === 1) {
|
|
const r32 = r20[0];
|
|
const r16 = embeds[0];
|
|
r30 = r32.type !== "link" ? r32.type === "attachmentLink" ? c4975_4.has(r16.type) ? isEmbedInline(r16) ? [] : r20 : r20 : r20 : c4975_4.has(r16.type) ? isEmbedInline(r16) ? [] : r20 : r20;
|
|
}
|
|
}
|
|
r26 = r30;
|
|
}
|
|
if (!(formatInline || message.type === MessageTypes.MEDIA_MENTION_MESSAGE)) {
|
|
if (inline) {
|
|
if (!r26.some($mk79369())) {
|
|
let env16072;
|
|
const r78 = env16072 = {};
|
|
env16072[0] = 0;
|
|
r26.forEach($mk79370(r78));
|
|
if (!(env16072[0] > 30)) {
|
|
r26.forEach($mk79371());
|
|
}
|
|
}
|
|
} else if (r26[0].type === "paragraph" && r26[0].content instanceof Array) {
|
|
let env16071;
|
|
const r58 = r26[0];
|
|
const content = r26[0].content;
|
|
const r61 = env16071 = {};
|
|
env16071[0] = void 0;
|
|
if (!content.some($mk79369())) {
|
|
env16071[0] = 0;
|
|
content.forEach($mk79370(r61));
|
|
if (!(env16071[0] > 30)) {
|
|
content.forEach($mk79371());
|
|
}
|
|
}
|
|
r58.content = content;
|
|
}
|
|
}
|
|
const r88 = toAST ? r26.filter($mk79375()).filter($mk79376()) : r26;
|
|
let env16073;
|
|
const r94 = env16073 = {
|
|
$parent: env4975
|
|
};
|
|
env16073[0] = r88.some($mk79377());
|
|
const ast2 = r88.filter($mk79378(r94));
|
|
if (contentMessage == null) {
|
|
contentMessage = message;
|
|
}
|
|
const hasSpoilerEmbeds = contentMessage.embeds.length > 0 ? checkSpoilerEmbeds(ast2, inline) : false;
|
|
if (formatInline) {
|
|
ast2.forEach($mk79379(r25));
|
|
}
|
|
return {
|
|
ast: ast2,
|
|
hasSpoilerEmbeds
|
|
};
|
|
}
|