From af1e97fafe806438d86341ef8124d7932613bdf3 Mon Sep 17 00:00:00 2001 From: Franck Royer Date: Wed, 16 Jun 2021 14:26:05 +1000 Subject: [PATCH] Use Set to facilitate removal of observers --- src/lib/waku_relay/index.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib/waku_relay/index.ts b/src/lib/waku_relay/index.ts index c846b7f85e..c4aa69e9a8 100644 --- a/src/lib/waku_relay/index.ts +++ b/src/lib/waku_relay/index.ts @@ -65,7 +65,7 @@ export class WakuRelay extends Gossipsub implements Pubsub { * Observers under key "" are always called. */ public observers: { - [contentTopic: string]: Array<(message: WakuMessage) => void>; + [contentTopic: string]: Set<(message: WakuMessage) => void>; }; constructor( @@ -131,15 +131,15 @@ export class WakuRelay extends Gossipsub implements Pubsub { ): void { if (contentTopics.length === 0) { if (!this.observers['']) { - this.observers[''] = []; + this.observers[''] = new Set(); } - this.observers[''].push(callback); + this.observers[''].add(callback); } else { contentTopics.forEach((contentTopic) => { if (!this.observers[contentTopic]) { - this.observers[contentTopic] = []; + this.observers[contentTopic] = new Set(); } - this.observers[contentTopic].push(callback); + this.observers[contentTopic].add(callback); }); } }