Files
discord-decomp/_bundle/Module1010.js
T
2026-11-01 12:12:55 +02:00

124 lines
3.0 KiB
JavaScript

// Metro module 1010 (f1011).
export function utf8ToBytes(a0, a1) {
let r14, r44, r45, r58, r59;
let r39 = a1 ? a1 : Infinity;
const length = a0.length;
const r35 = [];
const r34 = 0 < length;
let r6 = 0;
let r36 = null;
if (r34) {
do {
L33: {
L18: {
const r42 = a0.charCodeAt(r6);
r14 = r6;
const r46 = r36;
const r43 = r39;
if (r42 > 55295 && r42 < 57344) {
if (r46) {
if (r42 < 56320) {
const r100 = r43 - 3;
r58 = r42;
r59 = r100;
if (!(-1 < r100)) {
break L33;
}
r35.push(239, 191, 189);
r58 = r42;
r59 = r100;
break L33;
}
r45 = 65536 + (r46 - 55296 << 10 | r42 - 56320);
r44 = r43;
break L18;
}
if (r42 > 56319) {
const r62 = r43 - 3;
r58 = r46;
r59 = r62;
if (!(-1 < r59)) {
break L33;
}
r35.push(239, 191, 189);
r58 = r46;
r59 = r62;
break L33;
}
const r57 = r14 + 1;
r58 = r42;
r59 = r43;
if (r57 !== length) {
break L33;
}
const r60 = r43 - 3;
r58 = r46;
r59 = r60;
if (!(-1 < r59)) {
break L33;
}
r35.push(239, 191, 189);
r58 = r46;
r59 = r60;
break L33;
}
let r41 = r46;
let r54 = r43;
if (r46) {
const r0 = r43 - 3;
r41 = r0 > -1;
r54 = r0;
}
r45 = r42;
r44 = r54;
if (r41) {
r35.push(239, 191, 189);
r45 = r42;
r44 = r54;
}
}
if (r45 < 128) {
const r97 = r44 - 1;
if (r97 < 0) {
break;
}
r35.push(r45);
r58 = null;
r59 = r97;
} else if (r45 < 2048) {
const r90 = r44 - 2;
if (r90 < 0) {
break;
}
r35.push(r45 >> 6 | 192, 63 & r45 | 128);
r58 = null;
r59 = r90;
} else if (r45 < 65536) {
const r80 = r44 - 3;
if (r80 < 0) {
break;
}
r35.push(r45 >> 12 | 224, r45 >> 6 & 63 | 128, 63 & r45 | 128);
r58 = null;
r59 = r80;
} else {
if (!(r45 < 1114112)) {
throw new Error("Invalid code point");
}
const r72 = r44 - 4;
if (r72 < 0) {
break;
}
r35.push(r45 >> 18 | 240, r45 >> 12 & 63 | 128, r45 >> 6 & 63 | 128, 63 & r45 | 128);
r58 = null;
r59 = r72;
}
}
r6 = r14 + 1;
r36 = r58;
r39 = r59;
} while (r6 < length);
}
return r35;
}