97 lines
2.3 KiB
JavaScript
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;
|
|
}
|
|
}
|
|
}
|