In Listing 5.16. The reconciliation flow in action, it says:
if(havePathInCommon(previousToCurrent, previousToNext)) {
return _.merge(current, previousToNext);
}
throw "Conflicting concurrent mutations.";
should that be !havePathInCommon()?
Yes!
Also, typo here:
and this line: "If thereโs a context switch between checking whether the system has changed in the SystemConsistency class and the updating of the state in SystemData class, a mutation might override the changes of a previous mutation."
I think SystemData should be SystemState
You are right!