mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-04-01 23:31:04 +00:00
fix: demand pubsub subclass instead of pubsub instance (#922)
Changes the `Libp2pModules.pubsub` property to be a class that maybe extends `PubsubBaseProtocol` instead of an instance of that class.
This commit is contained in:
parent
cc1f4af879
commit
086b0ec0df
@ -107,7 +107,7 @@ const { updateSelfPeerRecord } = require('./record/utils')
|
|||||||
* @property {PeerRoutingModule[]} [peerRouting]
|
* @property {PeerRoutingModule[]} [peerRouting]
|
||||||
* @property {ContentRoutingModule[]} [contentRouting]
|
* @property {ContentRoutingModule[]} [contentRouting]
|
||||||
* @property {Object} [dht]
|
* @property {Object} [dht]
|
||||||
* @property {Pubsub} [pubsub]
|
* @property {{new(...args: any[]): Pubsub}} [pubsub]
|
||||||
* @property {Protector} [connProtector]
|
* @property {Protector} [connProtector]
|
||||||
*
|
*
|
||||||
* @typedef {Object} Libp2pOptions
|
* @typedef {Object} Libp2pOptions
|
||||||
|
@ -7,12 +7,13 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {import("libp2p-interfaces/src/pubsub")} PubsubRouter
|
* @param {{new(...args: any[]): PubsubRouter}} PubsubRouter
|
||||||
* @param {import('.')} libp2p
|
* @param {import('.')} libp2p
|
||||||
* @param {{ enabled: boolean; } & import(".").PubsubLocalOptions & import("libp2p-interfaces/src/pubsub").PubsubOptions} options
|
* @param {{ enabled: boolean; } & import(".").PubsubLocalOptions & import("libp2p-interfaces/src/pubsub").PubsubOptions} options
|
||||||
*/
|
*/
|
||||||
function pubsubAdapter (PubsubRouter, libp2p, options) {
|
function pubsubAdapter (PubsubRouter, libp2p, options) {
|
||||||
// @ts-ignore Pubsub constructor type not defined
|
/** @type {PubsubRouter & { _subscribeAdapter: PubsubRouter['subscribe'], _unsubscribeAdapter: PubsubRouter['unsubscribe'] }} */
|
||||||
|
// @ts-ignore we set the extra _subscribeAdapter and _unsubscribeAdapter properties afterwards
|
||||||
const pubsub = new PubsubRouter(libp2p, options)
|
const pubsub = new PubsubRouter(libp2p, options)
|
||||||
pubsub._subscribeAdapter = pubsub.subscribe
|
pubsub._subscribeAdapter = pubsub.subscribe
|
||||||
pubsub._unsubscribeAdapter = pubsub.unsubscribe
|
pubsub._unsubscribeAdapter = pubsub.unsubscribe
|
||||||
|
Loading…
x
Reference in New Issue
Block a user