Open
Description
basically, each diff type can have an additional flag, areSame
, which is set true if the objects are the same.
This functionality can be achieved with this:
const result = detailedDiff(oldItem, newItem);
const areSame = Object.values(result).reduce((acc, cur) => {
return acc && Object.values(cur).length === 0
}, true);
Activity
anko commentedon Nov 30, 2019
Simpler workaround:
I like this idea. The internals could determine this basically for free (just updating a variable in a loop that already exists). Externally, it's more expensive to call
Object.values
andObject.keys
like this on large objects.Going further: Rather than a boolean
areSame
, make it an integertotal
that is 0 if the objects are the same, and +1 for every change, of any type. It's as cheap to calculate (update a variable in a loop that already exists), but gives more information.