Add util to derive repository store, modify tracker to track relays by id

This commit is contained in:
Jon Staab
2024-10-10 13:10:50 -07:00
parent b8f4b29bb1
commit b5809b6f72
5 changed files with 50 additions and 23 deletions
+12 -1
View File
@@ -7,6 +7,17 @@ import {custom} from "@welshman/store"
export const repository = new Repository<TrustedEvent>()
export const repositoryStore = custom(setter => {
const onUpdate = () => setter(repository)
onUpdate()
repository.on('update', onUpdate)
return () => repository.off('update', onUpdate)
}, {
set: (other: Repository) => repository.load(other.dump()),
})
export const relay = new Relay(repository)
export const tracker = new Tracker()
@@ -19,7 +30,7 @@ export const trackerStore = custom(setter => {
return () => tracker.off('update', onUpdate)
}, {
set: (other: Tracker) => tracker.load(other.data),
set: (other: Tracker) => tracker.load(other.relaysById),
})
export type PartialSubscribeRequest = Partial<SubscribeRequestWithHandlers> & {filters: Filter[]}