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

97 lines
2.3 KiB
JavaScript

// Metro module 1331 (f1332).
export function reflectionMergePartial(a0, a1, a2) {
let r48, r51;
loop1: for (const r44 of a0.fields) {
const r45 = r44;
const localName = r44.localName;
if (r44.oneof) {
const r54 = a2[r45.oneof];
if ((r54 == null ? void 0 : r54.oneofKind) == null) {
continue;
}
const r61 = r54[localName];
r51 = r61;
const r63 = a1[r45.oneof];
r48 = r63;
r63.oneofKind = r54.oneofKind;
if (r61 == null) {
delete r48[localName];
continue;
}
} else {
r48 = a1;
const r50 = a2[localName];
r51 = r50;
if (r50 == null) {
continue;
}
}
if (r45.repeat) {
r48[localName].length = r51.length;
}
const kind = r45.kind;
if (kind !== "scalar" && kind !== "enum") {
if (kind !== "message") {
if (kind !== "map") {
continue;
}
const kind2 = r45.V.kind;
if (kind2 !== "scalar" && kind2 !== "enum") {
if (kind2 !== "message") {
continue;
}
const r80 = r45.V.T();
for (const item of Object.keys(r51)) {
r48[localName][item] = r80.create(r51[item]);
}
continue;
}
Object.assign(r48[localName], r51);
continue;
}
const r105 = r45.T();
if (!r45.repeat) {
if (r48[localName] === void 0) {
r48[localName] = r105.create(r51);
continue;
}
r105.mergePartial(r48[localName], r51);
continue;
}
let r123 = 0;
if (!(0 < r51.length)) {
continue;
}
while (true) {
const r128 = r48[localName];
const r129 = r123;
const r132 = r51;
r128[r129] = r105.create(r132[r129]);
const r135 = r129 + 1;
r123 = r135;
if (!(r135 < r132.length)) {
continue loop1;
}
}
}
if (r45.repeat) {
let r142 = 0;
if (0 < r51.length) {
while (true) {
const r147 = r48[localName];
const r148 = r142;
const r149 = r51;
r147[r148] = r149[r148];
const r151 = r148 + 1;
r142 = r151;
if (!(r151 < r149.length)) {
continue loop1;
}
}
}
} else {
r48[localName] = r51;
}
}
}