in firestore-counter/functions/lib/aggregator.js [79:97]
static mergeRecursive(from, to, subtract) {
for (let key in from) {
if (typeof from[key] === "number") {
if (key in to && typeof to[key] === "number") {
to[key] += subtract ? -from[key] : from[key];
}
else {
// Create a new node if doesn't exist or override if not a number.
to[key] = subtract ? -from[key] : from[key];
}
}
else if (typeof from[key] === "object") {
if (key in to === false || typeof to[key] !== "object") {
to[key] = {};
}
NumericUpdate.mergeRecursive(from[key], to[key], subtract);
}
}
}