2018-06-21 13:43:06 +02:00
|
|
|
// Type definitions for peer-info 0.14.1
|
|
|
|
// Project: https://github.com/libp2p/js-peer-info
|
2018-06-21 13:40:56 +02:00
|
|
|
// Definitions by: Jaco Greeff <https://github.com/jacogr>
|
|
|
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
|
|
|
|
|
|
/// <reference types="node"/>
|
2018-06-24 10:46:14 +02:00
|
|
|
/// <reference types="multiaddr"/>
|
|
|
|
/// <reference types="peer-id"/>
|
2018-06-24 10:16:29 +02:00
|
|
|
|
|
|
|
declare namespace PeerInfo {
|
2018-09-17 12:11:28 -04:00
|
|
|
type CreateCb = (error: Error | null, peerId?: PeerInfo) => any;
|
2018-06-24 10:16:29 +02:00
|
|
|
|
|
|
|
type CreateOptions = {
|
|
|
|
bits: number
|
|
|
|
};
|
|
|
|
|
2018-06-27 14:26:54 +02:00
|
|
|
type MultiaddrSet = {
|
2018-06-25 17:01:36 +02:00
|
|
|
readonly size: number;
|
2018-06-24 10:16:29 +02:00
|
|
|
|
2018-09-17 12:11:28 -04:00
|
|
|
add(addr: Multiaddr.Multiaddr | string): void;
|
|
|
|
addSafe(add: Multiaddr.Multiaddr | string): void;
|
|
|
|
delete(addr: Multiaddr.Multiaddr): void;
|
|
|
|
forEach(cb: (addr: Multiaddr.Multiaddr, index: number) => any): void;
|
|
|
|
has(addr: Multiaddr.Multiaddr): boolean;
|
|
|
|
replace(addr: Multiaddr.Multiaddr, other: Multiaddr.Multiaddr): void;
|
|
|
|
toArray(): Multiaddr.Multiaddr[];
|
2018-06-24 10:16:29 +02:00
|
|
|
};
|
|
|
|
}
|
2018-06-21 13:40:56 +02:00
|
|
|
|
2018-06-24 10:16:29 +02:00
|
|
|
declare class PeerInfo {
|
2018-09-17 12:11:28 -04:00
|
|
|
constructor(id?: PeerId);
|
2018-06-21 13:40:56 +02:00
|
|
|
|
2018-09-17 12:11:28 -04:00
|
|
|
static create(optsOrCb: PeerInfo.CreateOptions | PeerInfo.CreateCb, cb?: PeerInfo.CreateCb): void;
|
|
|
|
static isPeerInfo(info: any): info is PeerInfo;
|
2018-06-21 13:40:56 +02:00
|
|
|
|
2018-06-25 17:01:36 +02:00
|
|
|
readonly id: PeerId;
|
2018-06-27 14:26:54 +02:00
|
|
|
readonly multiaddrs: PeerInfo.MultiaddrSet;
|
2018-06-21 13:40:56 +02:00
|
|
|
|
2018-09-17 12:11:28 -04:00
|
|
|
connect(addr: Multiaddr.Multiaddr): void;
|
|
|
|
disconnect(): void;
|
|
|
|
isConnected(): boolean;
|
2018-06-21 13:40:56 +02:00
|
|
|
}
|
|
|
|
|
2018-06-24 10:16:29 +02:00
|
|
|
declare module 'peer-info' {
|
2018-09-17 12:11:28 -04:00
|
|
|
export default PeerInfo;
|
2018-06-22 15:43:18 +02:00
|
|
|
}
|