Skip to content
This repository was archived by the owner on Jul 21, 2023. It is now read-only.

Commit f6d7658

Browse files
authored
fix: dispatch peer event on adding new addresses as well as set (#74)
1 parent 3df533c commit f6d7658

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

src/address-book.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ export class PeerStoreAddressBook {
246246
const release = await this.store.lock.writeLock()
247247
log.trace('add got write lock')
248248

249-
let hasPeer
249+
let hasPeer = false
250250
let peer: Peer | undefined
251251
let updatedPeer
252252

@@ -291,7 +291,7 @@ export class PeerStoreAddressBook {
291291
}))
292292

293293
// Notify the existence of a new peer
294-
if (hasPeer === true) {
294+
if (!hasPeer) {
295295
this.dispatchEvent(new CustomEvent<PeerInfo>('peer', {
296296
detail: {
297297
id: peerId,

test/address-book.spec.ts

+26
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,32 @@ describe('addressBook', () => {
201201
await defer.promise
202202
})
203203

204+
it('emits peer event if new peer has addresses added', async () => {
205+
const defer = pDefer()
206+
207+
peerStore.addEventListener('peer', () => {
208+
defer.resolve()
209+
})
210+
211+
await ab.add(await createEd25519PeerId(), [
212+
multiaddr('/ip4/42.14.53.21/tcp/3981')
213+
])
214+
await defer.promise
215+
})
216+
217+
it('emits peer event if new peer has addresses set', async () => {
218+
const defer = pDefer()
219+
220+
peerStore.addEventListener('peer', () => {
221+
defer.resolve()
222+
})
223+
224+
await ab.set(await createEd25519PeerId(), [
225+
multiaddr('/ip4/42.14.53.21/tcp/3981')
226+
])
227+
await defer.promise
228+
})
229+
204230
it('adds the new content and emits change event', async () => {
205231
const defer = pDefer()
206232

0 commit comments

Comments
 (0)