fix derivative bug

This commit is contained in:
Shams mosowi
2021-03-18 17:13:55 +10:00
parent 53af8b0677
commit c6141db9fc

View File

@@ -7,7 +7,7 @@ const shouldEvaluateReducer = (listeners, before, after) =>
if (acc) return true;
else
return (
JSON.stringify(before[currField]) !== JSON.stringify(after[currField])
JSON.stringify(before?.[currField]) !== JSON.stringify(after[currField])
);
}, false);
@@ -23,14 +23,16 @@ const derivative = (
utilFns: any;
}) => any;
}[]
) => async (change: functions.Change<functions.firestore.DocumentSnapshot>) => {
) => async (
change: functions.Change<functions.firestore.DocumentSnapshot>,
) => {
try {
const beforeData = change.before?.data();
const afterData = change.after?.data();
const ref = change.after ? change.after.ref : change.before.ref;
const update = await functionConfig.reduce(
async (accUpdates: any, currDerivative) => {
const shouldEval = shouldEvaluateReducer(
const shouldEval = (!beforeData && afterData) || shouldEvaluateReducer(
currDerivative.listenerFields,
beforeData,
afterData