diff --git a/types/peer-info/index.d.ts b/types/peer-info/index.d.ts new file mode 100644 index 0000000..3e05e1a --- /dev/null +++ b/types/peer-info/index.d.ts @@ -0,0 +1,45 @@ +// Type definitions for peer-info 0.14.1 +// Project: https://github.com/libp2p/js-peer-info +// Definitions by: Jaco Greeff +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// +/// + +declare namespace PeerInfo { + type CreateCb = (error: Error | null, peerId?: PeerInfo) => any; + + type CreateOptions = { + bits: number + }; + + type MultiaddrSet = { + readonly size: number; + + add(addr: import("multiaddr") | string): void; + addSafe(add: import("multiaddr") | string): void; + delete(addr: import("multiaddr")): void; + forEach(cb: (addr: import("multiaddr"), index: number) => any): void; + has(addr: import("multiaddr")): boolean; + replace(addr: import("multiaddr"), other: import("multiaddr")): void; + toArray(): import("multiaddr")[]; + }; +} + +declare class PeerInfo { + constructor(id?: import("peer-id")); + + static create(optsOrCb: PeerInfo.CreateOptions | PeerInfo.CreateCb, cb?: PeerInfo.CreateCb): void; + static isPeerInfo(info: any): info is PeerInfo; + + readonly id: import("peer-id"); + readonly multiaddrs: PeerInfo.MultiaddrSet; + + connect(addr: import("multiaddr")): void; + disconnect(): void; + isConnected(): boolean; +} + +declare module 'peer-info' { + export default PeerInfo; +} diff --git a/types/peer-info/peer-info-tests.ts b/types/peer-info/peer-info-tests.ts new file mode 100644 index 0000000..e69de29 diff --git a/types/peer-info/tsconfig.json b/types/peer-info/tsconfig.json new file mode 100644 index 0000000..932e246 --- /dev/null +++ b/types/peer-info/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": ["../"], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": ["index.d.ts", "bn.js-tests.ts"] +} diff --git a/types/peer-info/tslint.json b/types/peer-info/tslint.json new file mode 100644 index 0000000..3db14f8 --- /dev/null +++ b/types/peer-info/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }