47 lines
1.4 KiB
TypeScript
Raw Normal View History

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 {
type CreateCb = (error: Error | null, peerId?: PeerId) => any;
type CreateOptions = {
bits: number
};
2018-06-27 14:26:54 +02:00
type MultiaddrSet = {
readonly size: number;
2018-06-24 10:16:29 +02:00
2018-06-27 14:26:54 +02: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-06-21 13:40:56 +02:00
constructor (id?: PeerId);
2018-06-24 10:16:29 +02:00
static create (optsOrCb: PeerInfo.CreateOptions | PeerInfo.CreateCb, cb?: PeerInfo.CreateCb): PeerInfo;
2018-06-21 13:40:56 +02:00
static isPeerInfo (info: any): info is PeerInfo;
readonly id: PeerId;
2018-06-27 14:26:54 +02:00
readonly multiaddrs: PeerInfo.MultiaddrSet;
2018-06-21 13:40:56 +02:00
2018-06-27 14:26:54 +02:00
connect (addr: Multiaddr.Multiaddr): void;
2018-06-21 13:40:56 +02:00
disconnect (): void;
isConnected (): boolean;
}
2018-06-24 10:16:29 +02:00
declare module 'peer-info' {
export default PeerInfo;
2018-06-22 15:43:18 +02:00
}