From c14cc25977b33947a059933078036213486c4412 Mon Sep 17 00:00:00 2001 From: David Tsay Date: Wed, 16 Mar 2022 10:27:01 -0700 Subject: [PATCH] clean up observers --- src/api/objects/InMemorySearchProvider.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/api/objects/InMemorySearchProvider.js b/src/api/objects/InMemorySearchProvider.js index 44ce359fec..df67c03ae9 100644 --- a/src/api/objects/InMemorySearchProvider.js +++ b/src/api/objects/InMemorySearchProvider.js @@ -69,13 +69,8 @@ class InMemorySearchProvider { this.worker.port.close(); } - Object.entries(this.indexedIds).forEach(([keyString, unobserve]) => { - if (typeof unobserve === 'function') { - unobserve(); - } - - delete this.indexedIds[keyString]; - }); + this.destroyObservers(this.indexedIds); + this.destroyObservers(this.indexedCompositions); }); } @@ -375,6 +370,16 @@ class InMemorySearchProvider { }; this.onWorkerMessage(eventToReturn); } + + destroyObservers(observers) { + Object.entries(observers).forEach(([keyString, unobserve]) => { + if (typeof unobserve === 'function') { + unobserve(); + } + + delete observers[keyString]; + }); + } } export default InMemorySearchProvider;