mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-04-25 10:32:14 +00:00
59 lines
1.7 KiB
TypeScript
59 lines
1.7 KiB
TypeScript
export type PeerId = import('peer-id');
|
|
export type Multiaddr = import('multiaddr').Multiaddr;
|
|
/**
|
|
* @typedef {import('peer-id')} PeerId
|
|
* @typedef {import('multiaddr').Multiaddr} Multiaddr
|
|
*/
|
|
/**
|
|
* Store the multiaddrs from every peer in the passed peer store
|
|
*
|
|
* @param {AsyncIterable<{ id: PeerId, multiaddrs: Multiaddr[] }>} source
|
|
* @param {import('../peer-store')} peerStore
|
|
*/
|
|
export function storeAddresses(source: AsyncIterable<{
|
|
id: PeerId;
|
|
multiaddrs: Multiaddr[];
|
|
}>, peerStore: import('../peer-store')): AsyncIterable<{
|
|
id: PeerId;
|
|
multiaddrs: Multiaddr[];
|
|
}>;
|
|
/**
|
|
* Filter peers by unique peer id
|
|
*
|
|
* @param {AsyncIterable<{ id: PeerId, multiaddrs: Multiaddr[] }>} source
|
|
*/
|
|
export function uniquePeers(source: AsyncIterable<{
|
|
id: PeerId;
|
|
multiaddrs: Multiaddr[];
|
|
}>): AsyncGenerator<{
|
|
id: PeerId;
|
|
multiaddrs: Multiaddr[];
|
|
}, void, unknown>;
|
|
/**
|
|
* Require at least `min` peers to be yielded from `source`
|
|
*
|
|
* @param {AsyncIterable<{ id: PeerId, multiaddrs: Multiaddr[] }>} source
|
|
* @param {number} min
|
|
*/
|
|
export function requirePeers(source: AsyncIterable<{
|
|
id: PeerId;
|
|
multiaddrs: Multiaddr[];
|
|
}>, min?: number): AsyncGenerator<{
|
|
id: PeerId;
|
|
multiaddrs: Multiaddr[];
|
|
}, void, unknown>;
|
|
/**
|
|
* If `max` is passed, only take that number of peers from the source
|
|
* otherwise take all the peers
|
|
*
|
|
* @param {AsyncIterable<{ id: PeerId, multiaddrs: Multiaddr[] }>} source
|
|
* @param {number} [max]
|
|
*/
|
|
export function maybeLimitSource(source: AsyncIterable<{
|
|
id: PeerId;
|
|
multiaddrs: Multiaddr[];
|
|
}>, max?: number | undefined): AsyncIterable<{
|
|
id: PeerId;
|
|
multiaddrs: Multiaddr[];
|
|
}>;
|
|
//# sourceMappingURL=utils.d.ts.map
|