Merge pull request #5681 from matrix-org/jryans/fix-object-diff

Fix object diffing when objects have different keys
pull/21833/head
J. Ryan Stinnett 2021-02-24 14:43:40 +00:00 committed by GitHub
commit 1b82a593f3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 1 additions and 0 deletions

View File

@ -89,6 +89,7 @@ export function objectHasDiff<O extends {}>(a: O, b: O): boolean {
if (a === b) return false; if (a === b) return false;
const aKeys = Object.keys(a); const aKeys = Object.keys(a);
const bKeys = Object.keys(b); const bKeys = Object.keys(b);
if (aKeys.length !== bKeys.length) return true;
const possibleChanges = arrayUnion(aKeys, bKeys); const possibleChanges = arrayUnion(aKeys, bKeys);
// if the amalgamation of both sets of keys has the a different length to the inputs then there must be a change // if the amalgamation of both sets of keys has the a different length to the inputs then there must be a change
if (possibleChanges.length !== aKeys.length) return true; if (possibleChanges.length !== aKeys.length) return true;