From dbe832c1f83ce1eab928610e0c2da3f9babb9abc Mon Sep 17 00:00:00 2001 From: "fryorcraken.eth" Date: Wed, 21 Sep 2022 15:48:37 +1000 Subject: [PATCH] feat: allow filter callback to process any type of message --- src/lib/waku_filter/index.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib/waku_filter/index.ts b/src/lib/waku_filter/index.ts index 003642a480..ff36b086fc 100644 --- a/src/lib/waku_filter/index.ts +++ b/src/lib/waku_filter/index.ts @@ -49,7 +49,9 @@ export type FilterSubscriptionOpts = { peerId?: PeerId; }; -export type FilterCallback = (msg: Message) => void | Promise; +export type FilterCallback = ( + msg: T +) => void | Promise; export type UnsubscribeFunction = () => Promise; @@ -62,7 +64,7 @@ export type UnsubscribeFunction = () => Promise; */ export class WakuFilter { pubSubTopic: string; - private subscriptions: Map; + private subscriptions: Map>; private decoders: Map< string, // content topic Set> @@ -85,7 +87,7 @@ export class WakuFilter { */ async subscribe( decoders: Decoder[], - callback: FilterCallback, + callback: FilterCallback, opts?: FilterSubscriptionOpts ): Promise { const topic = opts?.pubsubTopic ?? this.pubSubTopic; @@ -209,7 +211,7 @@ export class WakuFilter { } } - private addCallback(requestId: string, callback: FilterCallback): void { + private addCallback(requestId: string, callback: FilterCallback): void { this.subscriptions.set(requestId, callback); }