334 lines
8.6 KiB
JavaScript
334 lines
8.6 KiB
JavaScript
// Metro module 7770 (f7771).
|
|
function $mk79295($env) {
|
|
return (a0) => {
|
|
let r12 = $env[0];
|
|
if (r12 === void 0) {
|
|
r12 = [];
|
|
}
|
|
let env26039;
|
|
const r7 = $env.$parent;
|
|
const r4 = env26039 = {
|
|
$parent: r7
|
|
};
|
|
env26039[0] = r12;
|
|
if (Array.isArray(a0)) {
|
|
a0.forEach($mk79295(r4));
|
|
} else if (typeof a0.content === "string") {
|
|
r12.push(a0.content);
|
|
} else if (a0.content != null) {
|
|
let env26040;
|
|
const content = a0.content;
|
|
const r17 = env26040 = {
|
|
$parent: r7
|
|
};
|
|
env26040[0] = void 0;
|
|
let r10 = r12;
|
|
if (r10 === void 0) {
|
|
r10 = [];
|
|
}
|
|
env26040[0] = r10;
|
|
if (Array.isArray(content)) {
|
|
content.forEach($mk79295(r17));
|
|
} else if (typeof content.content === "string") {
|
|
r10.push(content.content);
|
|
} else if (content.content != null) {
|
|
(0, r7[0])(content.content, r10);
|
|
}
|
|
}
|
|
return r12;
|
|
};
|
|
}
|
|
function $mk79298($env) {
|
|
return (a0) => {
|
|
const r4 = $env;
|
|
const r1 = r4[2];
|
|
const r5 = r1 !== 0 ? r4[0][r1 - 1].endIndex : 0;
|
|
r4[2] = r4[2] + 1;
|
|
const type = a0.type;
|
|
if (type !== "spoiler" && type !== "u" && type !== "s" && type !== "strong") {
|
|
if (type !== "em" && type !== "customEmoji" && type !== "emoji" && type !== "inlineCode") {
|
|
if (type === "text") {
|
|
a0.startIndex = r4[1] + r5;
|
|
a0.endIndex = a0.startIndex + a0.content.length;
|
|
return a0;
|
|
}
|
|
let env26041;
|
|
a0.startIndex = r4[1] + r5;
|
|
const { content, startIndex } = a0;
|
|
const r27 = env26041 = {
|
|
$parent: $env.$parent
|
|
};
|
|
env26041[0] = content;
|
|
env26041[1] = startIndex;
|
|
env26041[2] = 0;
|
|
const r30 = content.map($mk79298(r27));
|
|
a0.endIndex = r30[r30.length - 1].endIndex;
|
|
return a0;
|
|
}
|
|
let env26042;
|
|
a0.startIndex = r4[1] + r5;
|
|
const content2 = a0.content;
|
|
const r45 = a0.startIndex + 1;
|
|
const r47 = env26042 = {
|
|
$parent: $env.$parent
|
|
};
|
|
env26042[0] = content2;
|
|
env26042[1] = r45;
|
|
env26042[2] = 0;
|
|
const r50 = content2.map($mk79298(r47));
|
|
a0.endIndex = r50[r50.length - 1].endIndex + 1;
|
|
return a0;
|
|
}
|
|
let env26043;
|
|
a0.startIndex = r4[1] + r5;
|
|
const content3 = a0.content;
|
|
const r61 = a0.startIndex + 2;
|
|
const r63 = env26043 = {
|
|
$parent: $env.$parent
|
|
};
|
|
env26043[0] = content3;
|
|
env26043[1] = r61;
|
|
env26043[2] = 0;
|
|
const r66 = content3.map($mk79298(r63));
|
|
a0.endIndex = r66[r66.length - 1].endIndex + 2;
|
|
return a0;
|
|
};
|
|
}
|
|
let c4893_1, c4893_2, c4893_3, walkAst, flattenAst, constrainAst;
|
|
let env4893 = {};
|
|
const collectAst = function collectAst(a0, r2 = []) {
|
|
let env16018;
|
|
const r3 = env16018 = {
|
|
$parent: env4893
|
|
};
|
|
env16018[0] = r2;
|
|
if (Array.isArray(a0)) {
|
|
a0.forEach($mk79295(r3));
|
|
} else if (typeof a0.content === "string") {
|
|
r2.push(a0.content);
|
|
} else if (a0.content != null) {
|
|
collectAst(a0.content, r2);
|
|
}
|
|
return r2;
|
|
};
|
|
c4893_1 = {};
|
|
c4893_2 = void 0;
|
|
export class MarkupParserNodeTypeError extends Error {
|
|
constructor(a0) {
|
|
const set = new Set();
|
|
const r8 = [a0];
|
|
while (r8.length > 0) {
|
|
const r10 = r8.pop();
|
|
if (r10 !== void 0) {
|
|
if (Array.isArray(r10)) {
|
|
r8.push.apply(r8, [...r10]);
|
|
} else {
|
|
set.add(r10.type);
|
|
if ("content" in r10 && Array.isArray(r10.content)) {
|
|
r8.push.apply(r8, [...r10.content]);
|
|
}
|
|
if ("items" in r10 && Array.isArray(r10.items)) {
|
|
r8.push.apply(r8, [...r10.items]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
const nodeTypes = Array.from(set);
|
|
const message = c4893_2.getMessage(nodeTypes);
|
|
super(message);
|
|
this.nodeTypes = nodeTypes;
|
|
}
|
|
static getMessage(a0) {
|
|
return `MarkupParserNodeTypeError: Unknown AST node type in "${a0.join(", ")}" caused rendering failure`;
|
|
}
|
|
}
|
|
c4893_2 = MarkupParserNodeTypeError;
|
|
c4893_3 = MarkupParserNodeTypeError;
|
|
export const NUM_MAX_AST_NODES = 200;
|
|
walkAst = function walkAst(a0, a1) {
|
|
if (Array.isArray(a0)) {
|
|
for (const item of a0) {
|
|
walkAst(item, a1);
|
|
}
|
|
} else {
|
|
a1(a0, null);
|
|
if (Array.isArray(a0.content)) {
|
|
walkAst(a0.content, a1);
|
|
}
|
|
if (a0.type === "list") {
|
|
walkAst(a0.items, a1);
|
|
}
|
|
}
|
|
};
|
|
export { walkAst };
|
|
export function astToString(a0) {
|
|
let env16019;
|
|
const r3 = env16019 = {
|
|
$parent: env4893
|
|
};
|
|
const r5 = [];
|
|
env16019[0] = r5;
|
|
if (Array.isArray(a0)) {
|
|
a0.forEach($mk79295(r3));
|
|
} else if (typeof a0.content === "string") {
|
|
r5.push(a0.content);
|
|
} else if (a0.content != null) {
|
|
let env16020;
|
|
const content = a0.content;
|
|
const r14 = env16020 = {
|
|
$parent: env4893
|
|
};
|
|
env16020[0] = void 0;
|
|
env16020[0] = r5;
|
|
if (Array.isArray(content)) {
|
|
content.forEach($mk79295(r14));
|
|
} else if (typeof content.content === "string") {
|
|
r5.push(content.content);
|
|
} else if (content.content != null) {
|
|
collectAst(content.content, r5);
|
|
}
|
|
}
|
|
return r5.join("");
|
|
}
|
|
flattenAst = function flattenAst(a0, a1) {
|
|
let length3;
|
|
let r15 = arguments[2];
|
|
if (r15 === void 0) {
|
|
r15 = null;
|
|
}
|
|
if (Array.isArray(a1)) {
|
|
const length = a1.length;
|
|
const r38 = [];
|
|
const r39 = 0 < length;
|
|
let r1 = 0;
|
|
if (r39) {
|
|
do {
|
|
const r41 = flattenAst(a0, a1[r1], r15);
|
|
const isArray = Array.isArray(r41);
|
|
const r3 = r1;
|
|
if (isArray) {
|
|
const length2 = r41.length;
|
|
const r47 = 0 < length2;
|
|
let r0 = 0;
|
|
if (r47) {
|
|
do {
|
|
r38.push(r41[r0]);
|
|
r0 = r0 + 1;
|
|
} while (r0 < length2);
|
|
}
|
|
} else {
|
|
r38.push(r41);
|
|
}
|
|
r1 = r3 + 1;
|
|
} while (r1 < length);
|
|
}
|
|
if (!a0.isSlate) {
|
|
const r52 = 0 < r38.length;
|
|
let r55 = 0;
|
|
let r56 = null;
|
|
if (r52) {
|
|
do {
|
|
const r57 = r38[r55];
|
|
const r58 = r55;
|
|
const r59 = r56;
|
|
let r60 = r58;
|
|
let r61 = r57;
|
|
if (r59 != null) {
|
|
const type = r59.type;
|
|
r60 = r58;
|
|
r61 = r57;
|
|
if (type === "text") {
|
|
const type2 = r59.type;
|
|
const type3 = r57.type;
|
|
r60 = r58;
|
|
r61 = r57;
|
|
if (type2 === type3) {
|
|
const content = r59.content;
|
|
r60 = r58;
|
|
r61 = r57;
|
|
if (typeof content === "string") {
|
|
const content2 = r57.content;
|
|
r60 = r58;
|
|
r61 = r57;
|
|
if (typeof content2 === "string") {
|
|
r59.content = r59.content + r57.content;
|
|
r38.splice(r58, 1);
|
|
r60 = r58 - 1;
|
|
r61 = r59;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
r55 = r60 + 1;
|
|
length3 = r38.length;
|
|
r56 = r61;
|
|
} while (r55 < length3);
|
|
}
|
|
}
|
|
return r38;
|
|
}
|
|
if (a1.content != null) {
|
|
a1.content = flattenAst(a0, a1.content, a1);
|
|
}
|
|
if (a1.type === "inlineCode") {
|
|
delete a1["validationChildContent"];
|
|
}
|
|
if (a1.type === "list") {
|
|
a1.items = a1.items.map((item) => Array.isArray(item) ? flattenAst(a0, item, null) : item);
|
|
}
|
|
return r15 != null ? a1.type === r15.type ? a1.content : a1 : a1;
|
|
};
|
|
export { flattenAst };
|
|
constrainAst = function constrainAst(a0, r7 = {
|
|
limit: 200,
|
|
hasBailedAst: false
|
|
}) {
|
|
let c16022_0 = r7;
|
|
if (Array.isArray(a0)) {
|
|
const length = a0.length;
|
|
let r0 = 0;
|
|
while (r0 < length) {
|
|
const ast = constrainAst(a0[r0], r7).ast;
|
|
const length2 = r0;
|
|
if (ast === c4893_1) {
|
|
r7.hasBailedAst = true;
|
|
a0.length = length2;
|
|
break;
|
|
}
|
|
a0[length2] = ast;
|
|
r0 = length2 + 1;
|
|
}
|
|
} else if (a0.type !== "text") {
|
|
r7.limit = r7.limit - 1;
|
|
if (r7.limit <= 0) {
|
|
r7.hasBailedAst = true;
|
|
return {
|
|
ast: c4893_1,
|
|
hasBailedAst: true
|
|
};
|
|
}
|
|
if (Array.isArray(a0.content)) {
|
|
a0.content = constrainAst(a0.content, r7).ast;
|
|
}
|
|
if (a0.type === "list") {
|
|
a0.items = a0.items.map((item) => constrainAst(item, c16022_0).ast);
|
|
}
|
|
}
|
|
return {
|
|
ast: a0,
|
|
hasBailedAst: r7.hasBailedAst
|
|
};
|
|
};
|
|
export { constrainAst };
|
|
export function getIndexedAST(a0, a1) {
|
|
let env16023;
|
|
const r1 = env16023 = {
|
|
$parent: env4893
|
|
};
|
|
env16023[0] = a0;
|
|
env16023[1] = a1;
|
|
env16023[2] = 0;
|
|
return a0.map($mk79298(r1));
|
|
}
|