From c5042735b3817fb7c214075eb9fa9a6a3f18f885 Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Thu, 21 Jun 2018 13:40:56 +0200 Subject: [PATCH] Add PeerInfo --- peer-id/index.d.ts | 2 +- peer-info/index.d.ts | 48 ++++++++++++++++++++++++++++++++++++ peer-info/peer-info-tests.ts | 0 peer-info/tsconfig.json | 16 ++++++++++++ peer-info/tslint.json | 1 + 5 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 peer-info/index.d.ts create mode 100644 peer-info/peer-info-tests.ts create mode 100644 peer-info/tsconfig.json create mode 100644 peer-info/tslint.json diff --git a/peer-id/index.d.ts b/peer-id/index.d.ts index 60ab1ef..4e26402 100644 --- a/peer-id/index.d.ts +++ b/peer-id/index.d.ts @@ -35,4 +35,4 @@ declare class PeerId { toJSON (): JSON; } -export = PeerId; +export default PeerId; diff --git a/peer-info/index.d.ts b/peer-info/index.d.ts new file mode 100644 index 0000000..56e3ab4 --- /dev/null +++ b/peer-info/index.d.ts @@ -0,0 +1,48 @@ +// Type definitions for peer-id 0.10.7 +// Project: https://github.com/libp2p/js-peer-id +// Definitions by: Jaco Greeff +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +import MultiAddr from 'multiaddr'; +import PeerId from 'peer-id'; + +type CreateCb = (error: Error | null, peerId?: PeerId) => any; + +type CreateOptions = { + bits: number +}; + +type JSON = { + id: string, + pubKey: string, + privKey: string +}; + +type MultiAddrSet = { + size: number; + + add (addr: MultiAddr): void; + addSafe (add: MultiAddr): void; + delete (addr: MultiAddr): void; + forEach (cb: (addr: MultiAddr, index: number) => any): void; + has (addr: MultiAddr): boolean; + replace (addr: MultiAddr, other: MultiAddr): void; + toArray (): MultiAddr[]; +}; + +declare class PeerInfo { + constructor (id?: PeerId); + + static create (optsOrCb: CreateOptions | CreateCb, cb?: CreateCb): PeerInfo; + static isPeerInfo (info: any): info is PeerInfo; + + multiaddrs: MultiAddrSet; + + connect (addr: MultiAddr): void; + disconnect (): void; + isConnected (): boolean; +} + +export default PeerInfo; diff --git a/peer-info/peer-info-tests.ts b/peer-info/peer-info-tests.ts new file mode 100644 index 0000000..e69de29 diff --git a/peer-info/tsconfig.json b/peer-info/tsconfig.json new file mode 100644 index 0000000..932e246 --- /dev/null +++ b/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/peer-info/tslint.json b/peer-info/tslint.json new file mode 100644 index 0000000..3db14f8 --- /dev/null +++ b/peer-info/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }