@libp2p/interface
Version:
The interface implemented by a libp2p node
35 lines • 1.04 kB
TypeScript
import type { TypedEventTarget } from './event-target.js';
import type { PeerInfo } from './peer-info.js';
/**
* Any object that implements this Symbol as a property should return a
* PeerDiscovery instance as the property value, similar to how
* `Symbol.Iterable` can be used to return an `Iterable` from an `Iterator`.
*
* @example
*
* ```TypeScript
* import { peerDiscovery, PeerDiscovery } from '@libp2p/peer-discovery'
*
* class MyPeerDiscoverer implements PeerDiscovery {
* get [peerDiscovery] () {
* return this
* }
*
* // ...other methods
* }
* ```
*/
export declare const peerDiscoverySymbol: unique symbol;
/**
* Implementers of this interface can provide a PeerDiscovery implementation to
* interested callers.
*/
export interface PeerDiscoveryProvider {
[peerDiscoverySymbol]: PeerDiscovery;
}
export interface PeerDiscoveryEvents {
'peer': CustomEvent<PeerInfo>;
}
export interface PeerDiscovery extends TypedEventTarget<PeerDiscoveryEvents> {
}
//# sourceMappingURL=peer-discovery.d.ts.map