From 02cacd444636dc5486098c67e0a37c64d7051f9b Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Sun, 12 Dec 2021 06:47:49 -0300 Subject: [PATCH] return sub object from .sub() and other methods. --- package.json | 2 +- pool.js | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 1ab2ab8..04ac75f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nostr-tools", - "version": "0.7.2", + "version": "0.8.0", "description": "Tools for making a Nostr client.", "repository": { "type": "git", diff --git a/pool.js b/pool.js index e9baf24..6bbec10 100644 --- a/pool.js +++ b/pool.js @@ -29,19 +29,23 @@ export function relayPool(globalPrivateKey) { const activeFilters = filter activeSubscriptions[id] = { - sub: ({cb = activeCallback, filter = activeFilters}) => + sub: ({cb = activeCallback, filter = activeFilters}) => { Object.entries(subControllers).map(([relayURL, sub]) => [ relayURL, sub.sub({cb, filter}, id) - ]), + ]) + return activeSubscriptions[id] + }, addRelay: relay => { subControllers[relay.url] = relay.sub({cb, filter}) + return activeSubscriptions[id] }, removeRelay: relayURL => { if (relayURL in subControllers) { subControllers[relayURL].unsub() if (Object.keys(subControllers).length === 0) unsub() } + return activeSubscriptions[id] }, unsub: () => { Object.values(subControllers).forEach(sub => sub.unsub())