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

101 lines
4.7 KiB
TypeScript

/* Metro module 6644; source: modules/markup/MarkupListRule.tsx; dependencies: [3855, 44, 2] */
function _fun52563(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#52563, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6822:6, offset: 0x013307db, size: 356 bytes, params: 8, frame: 20
var object2;
var RegExp;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = RegExp('\\n{2,}$', '');
const env0_3 = RegExp('(?:^|\\n)( *)$', '');
RegExp = global.RegExp;
let value = '(%INDENT_CAPTURE_PATTERN%)((?:[*-]|\\d+\\.)) +'.replace('%INDENT_CAPTURE_PATTERN%', ' *');
value = '^' + value;
let regExp = new RegExp(value);
const env0_5 = RegExp(' *\\n$', '');
RegExp = global.RegExp;
regExp = new RegExp('^( *)((?:[*-]|\\d+\\.)) [\\s\\S]+?(?:\\n(?! )(?!\\1(?:[*-]|\\d+\\.) )|$)');
const env0_7 = RegExp('^[ \\t\\v\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]+$', '');
object2 = {};
copyDataProperties(object2, (importDefault(3855) /* metro dependency 3855 */).defaultRules.list, undefined);
object2['requiredFirstCharacters'] = ' *-0123456789'.split('');
object2['match'] = match_52564;
object2['parse'] = parse_52565;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/markup/MarkupListRule.tsx');
exports.default = object2;
}
function match_52564(a0, a1) { // fn#52564, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6822:497, offset: 0x0133093f, size: 136 bytes, params: 3, frame: 15
var prevCapture;
var value;
var value4;
if (a1.allowList) {
if (a1._listLevel >= 11) {
return null;
}
prevCapture = a1.prevCapture;
value = null;
value4 = env0_3.exec(value == prevCapture ? '' : a1.prevCapture[0]);
return value == value4 || env0_7.test(value4[0]) ? value : env0_6.exec(a0);
}
return null;
}
function parse_52565(a0, a1, a2) { // fn#52565, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6822:674, offset: 0x013309c7, size: 404 bytes, params: 4, frame: 29
const env0_0 = a1;
const env0_1 = a2;
const property = a0[2];
let length = property.length;
const value = length > 1;
const r2 = value ? global.Math.min(1000000000, global.Math.max(1, Number(property))) : undefined;
const value5 = 0;
const value7 = a0[value5].replace(env0_2, '\n');
const value8 = env0_4.exec(value7);
length = value8 != null ? value8[value5].length : value5;
const length2 = value8 != null ? value8[1].length : value5;
const value11 = '(%INDENT_CAPTURE_PATTERN%)((?:[*-]|\\d+\\.)) +[^\\n]*(?:\\n(?!%INDENT_CAPTURE_PATTERN%(?:[*-]|\\d+\\.) )[^\\n]*)*(\n|$)'.replaceAll('%INDENT_CAPTURE_PATTERN%',
' {' + length2 + ',' + (length2 + 1) + '}');
let RegExp = global.RegExp;
const regExp = new RegExp(value11, 'gm');
RegExp = global.RegExp;
const value18 = value7.match(new RegExp('^ {1,' + length + '}', 'gm'));
(importDefault(44) /* metro dependency 44 */)(value18 != null, 'markup list items can not be parsed.');
const object2 = {ordered: value, start: r2};
object2.items = value18.map(_fun52566);
return object2;
}
function _fun52566(a0, a1) { // fn#52566, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6822:1181, offset: 0x01330b5b, size: 293 bytes, params: 3, frame: 23
var environment;
const replace = a0.replace;
let value = environment.__proto__;
const value4 = Reflect.apply(replace, a0, [env1_4, '']).replace(env0_2, '');
let r7 = value4.indexOf('\n\n') !== -1 || a1 === env0_3.length - 1 && env0_4;
const inline = importDefault.inline;
const _list = importDefault._list;
const _listLevel = importDefault._listLevel;
importDefault._list = true;
const value8 = _listLevel != null;
importDefault._listLevel = (value8 ? _listLevel : 0) + 1;
if (r7) {
importDefault.inline = false;
r7 = value4.replace(env1_5, '\n\n');
} else {
importDefault.inline = true;
r7 = value4.replace(env1_5, '');
}
const object2 = {};
copyDataProperties(object2, importDefault, value8);
object2['allowHeading'] = false;
value = require(r7, object2);
value = value.map(function(a0) {
if (a0.type === 'text' && a0.content != null) {
a0.content = a0.content.replace(RegExp('\\n+\\s*$', ''), '');
}
return a0;
});
importDefault.inline = inline;
importDefault._list = _list;
importDefault._listLevel = _listLevel;
return value;
}