diff options
author | Corey Hulen <corey@hulen.com> | 2016-02-09 08:35:25 -0800 |
---|---|---|
committer | Corey Hulen <corey@hulen.com> | 2016-02-09 08:35:25 -0800 |
commit | 7ba50278d380733a8e85c8c057a3b5e5c1477ba2 (patch) | |
tree | 349bbfa0b0fd5893401b4567bad35f2750b9f138 /web/react/utils/utils.jsx | |
parent | a4cce1023cae299a808875c00d6427003145da7d (diff) | |
parent | be716c3b668c4b5de385befc0e6ed5ca2116beb6 (diff) | |
download | chat-7ba50278d380733a8e85c8c057a3b5e5c1477ba2.tar.gz chat-7ba50278d380733a8e85c8c057a3b5e5c1477ba2.tar.bz2 chat-7ba50278d380733a8e85c8c057a3b5e5c1477ba2.zip |
Merge pull request #2099 from hmhealey/plt1883
PLT-1883 Update search result components when we receive channels
Diffstat (limited to 'web/react/utils/utils.jsx')
-rw-r--r-- | web/react/utils/utils.jsx | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/web/react/utils/utils.jsx b/web/react/utils/utils.jsx index c2487f290..e2a5b9620 100644 --- a/web/react/utils/utils.jsx +++ b/web/react/utils/utils.jsx @@ -392,6 +392,10 @@ export function areObjectsEqual(x, y) { return x.toString() === y.toString(); } + if (x instanceof Map && y instanceof Map) { + return areMapsEqual(x, y); + } + // At last checking prototypes as good a we can if (!(x instanceof Object && y instanceof Object)) { return false; @@ -456,6 +460,24 @@ export function areObjectsEqual(x, y) { return true; } +export function areMapsEqual(a, b) { + if (a.size !== b.size) { + return false; + } + + for (const [key, value] of a) { + if (!b.has(key)) { + return false; + } + + if (!areObjectsEqual(value, b.get(key))) { + return false; + } + } + + return true; +} + export function replaceHtmlEntities(text) { var tagsToReplace = { '&': '&', |