mirror of
https://github.com/nbd-wtf/nostr-tools.git
synced 2025-12-09 00:28:51 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f7e3f8473 | ||
|
|
536dbcbffe | ||
|
|
ed52d2a8d4 | ||
|
|
faf8e62120 |
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nostr-tools",
|
"name": "nostr-tools",
|
||||||
"version": "0.23.1",
|
"version": "0.23.4",
|
||||||
"description": "Tools for making a Nostr client.",
|
"description": "Tools for making a Nostr client.",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|||||||
16
pool.js
16
pool.js
@@ -26,16 +26,15 @@ export function relayPool() {
|
|||||||
|
|
||||||
const activeSubscriptions = {}
|
const activeSubscriptions = {}
|
||||||
|
|
||||||
const sub = (
|
const sub = ({cb, filter, beforeSend}, id) => {
|
||||||
{cb, filter, beforeSend},
|
if (!id) id = Math.random().toString().slice(2)
|
||||||
id = Math.random().toString().slice(2)
|
|
||||||
) => {
|
|
||||||
const subControllers = Object.fromEntries(
|
const subControllers = Object.fromEntries(
|
||||||
Object.values(relays)
|
Object.values(relays)
|
||||||
.filter(({policy}) => policy.read)
|
.filter(({policy}) => policy.read)
|
||||||
.map(({relay}) => [
|
.map(({relay}) => [
|
||||||
relay.url,
|
relay.url,
|
||||||
relay.sub({filter, cb: event => cb(event, relay.url), beforeSend}, id)
|
relay.sub({cb: event => cb(event, relay.url), filter, beforeSend}, id)
|
||||||
])
|
])
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -54,12 +53,15 @@ export function relayPool() {
|
|||||||
}) => {
|
}) => {
|
||||||
Object.entries(subControllers).map(([relayURL, sub]) => [
|
Object.entries(subControllers).map(([relayURL, sub]) => [
|
||||||
relayURL,
|
relayURL,
|
||||||
sub.sub({cb, filter, beforeSend}, id)
|
sub.sub({cb: event => cb(event, relayURL), filter, beforeSend}, id)
|
||||||
])
|
])
|
||||||
return activeSubscriptions[id]
|
return activeSubscriptions[id]
|
||||||
}
|
}
|
||||||
const addRelay = relay => {
|
const addRelay = relay => {
|
||||||
subControllers[relay.url] = relay.sub({cb, filter}, id)
|
subControllers[relay.url] = relay.sub(
|
||||||
|
{cb: event => cb(event, relay.url), filter, beforeSend},
|
||||||
|
id
|
||||||
|
)
|
||||||
return activeSubscriptions[id]
|
return activeSubscriptions[id]
|
||||||
}
|
}
|
||||||
const removeRelay = relayURL => {
|
const removeRelay = relayURL => {
|
||||||
|
|||||||
Reference in New Issue
Block a user