volatile connection map

This commit is contained in:
Jan Prochazka
2024-08-05 14:03:48 +02:00
parent 97aa563fe7
commit f867cc5a1e
4 changed files with 46 additions and 17 deletions

View File

@@ -95,7 +95,9 @@ export async function subscribeCacheChange(reloadTrigger, cacheKey, reloadHandle
if (!subscriptionsByReloadTrigger[itemString]) {
subscriptionsByReloadTrigger[itemString] = [];
}
console.log('+++++++++++++ SUBSCRIBE', itemString);
subscriptionsByReloadTrigger[itemString].push(reloadHandler);
console.log('SUBSCRIBED', subscriptionsByReloadTrigger[itemString]);
}
}
@@ -108,6 +110,7 @@ export async function unsubscribeCacheChange(reloadTrigger, cacheKey, reloadHand
);
}
if (subscriptionsByReloadTrigger[itemString].length == 0) {
console.log('------------- UNSUBSCRIBE', itemString);
delete subscriptionsByReloadTrigger[itemString];
}
}
@@ -118,6 +121,7 @@ export function dispatchCacheChange(reloadTrigger) {
for (const item of getAsArray(reloadTrigger)) {
const itemString = stableStringify(transformApiArgsInv(item));
console.log('@@@@@@@@@@@@@@@@@@@@@@@@@ NOTIFYING ', itemString, subscriptionsByReloadTrigger[itemString]);
if (subscriptionsByReloadTrigger[itemString]) {
for (const handler of subscriptionsByReloadTrigger[itemString]) {
handler();