diff --git a/blakejs/blakejs-tests.ts b/blakejs/blakejs-tests.ts index 493cb20..2dec460 100644 --- a/blakejs/blakejs-tests.ts +++ b/blakejs/blakejs-tests.ts @@ -1,4 +1,4 @@ -import blake = require('blakejs'); +import blake from 'blakejs'; blake.blake2bHex(new Uint8Array([1, 2, 3, 4, 5])); blake.blake2sHex(Buffer.from([1, 2, 3, 4, 5])); diff --git a/blakejs/index.d.ts b/blakejs/index.d.ts index b3cd7d0..e0bf7bd 100644 --- a/blakejs/index.d.ts +++ b/blakejs/index.d.ts @@ -14,7 +14,7 @@ type BlakeJsContext = { outlen: number }; -interface blakejs { +interface BlakeJs { blake2b: (data: Buffer | Uint8Array | string, key?: Uint8Array | null, outlen?: number) => Uint8Array, blake2bFinal: (context: BlakeJsContext) => Uint8Array, blake2bHex: (data: Buffer | Uint8Array | string, key?: Uint8Array | null, outlen?: number) => string, @@ -27,5 +27,7 @@ interface blakejs { blake2sUpdate: (context: BlakeJsContext, data: Buffer | Uint8Array | string) => void } -export = blakejs; +const blakejs: BlakeJs; + +export default blakejs; } diff --git a/bn.js/bn.js-tests.ts b/bn.js/bn.js-tests.ts index b0cbfcd..ce4f2f9 100644 --- a/bn.js/bn.js-tests.ts +++ b/bn.js/bn.js-tests.ts @@ -1,4 +1,4 @@ -import BN = require('bn.js'); +import BN from 'bn.js'; let bn = new BN(42); bn = bn.add(bn); diff --git a/interface-connection/index.d.ts b/interface-connection/index.d.ts index a4c16e3..be846bc 100644 --- a/interface-connection/index.d.ts +++ b/interface-connection/index.d.ts @@ -3,10 +3,13 @@ // Definitions by: Jaco Greeff // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import PeerInfo = require('peer-info'); +// @ts-ignore +import PeerInfo from 'peer-info'; -declare interface Connection { +declare module 'interface-connection' { +interface Connection { getPeerInfo (cb: (error: Error | null, peerInfo?: PeerInfo) => any): void; } export = Connection; +} diff --git a/interface-transport/index.d.ts b/interface-transport/index.d.ts index 0567dc8..86062c0 100644 --- a/interface-transport/index.d.ts +++ b/interface-transport/index.d.ts @@ -3,7 +3,9 @@ // Definitions by: Jaco Greeff // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -declare interface Transport { +declare module 'interface-transport' { +interface Transport { } export = Transport; +} diff --git a/keccak/index.d.ts b/keccak/index.d.ts index ea85c2f..019f3db 100644 --- a/keccak/index.d.ts +++ b/keccak/index.d.ts @@ -16,7 +16,7 @@ interface KeccakHasher { type KeccakTypes = 'keccak224' | 'keccak256' | 'keccak384' | 'keccak512' | 'sha3-224' | 'sha3-256' | 'sha3-384' | 'sha3-512' | 'shake128' | 'shake256'; -type keccak = (type: KeccakTypes) => KeccakHasher; +const keccak: (type: KeccakTypes) => KeccakHasher; -export = keccak; +export default keccak; } diff --git a/keccak/keccak-tests.ts b/keccak/keccak-tests.ts index 18e222d..a3e7b2c 100644 --- a/keccak/keccak-tests.ts +++ b/keccak/keccak-tests.ts @@ -1,4 +1,4 @@ -import createKeccak = require('keccak'); +import createKeccak from 'keccak'; const context = createKeccak('keccak256'); diff --git a/libp2p-kad-dht/index.d.ts b/libp2p-kad-dht/index.d.ts index 1a87e64..dea4dd6 100644 --- a/libp2p-kad-dht/index.d.ts +++ b/libp2p-kad-dht/index.d.ts @@ -3,7 +3,11 @@ // Definitions by: Jaco Greeff // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -declare class LibP2pKadDht { +declare module 'libp2p-kad-dht' { +export class LibP2pKadDht { } -export = LibP2pKadDht; +const DHT: typeof LibP2pKadDht; + +export default DHT; +} diff --git a/libp2p-mdns/index.d.ts b/libp2p-mdns/index.d.ts index 43466f3..ae7a59b 100644 --- a/libp2p-mdns/index.d.ts +++ b/libp2p-mdns/index.d.ts @@ -3,8 +3,10 @@ // Definitions by: Jaco Greeff // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import PeerInfo = require('peer-info'); +// @ts-ignore +import PeerInfo from 'peer-info'; +declare module 'libp2p-mdns' { type Options = { broadcast?: boolean, interval?: number, @@ -15,10 +17,13 @@ type Options = { type Events = 'peer'; -declare class LibP2pMdns { +export class LibP2pMdns { constructor (options: Options); on (event: Events, cb: (peerInfo: PeerInfo) => any): void; } -export = LibP2pMdns; +const Mdns: typeof LibP2pMdns; + +export default Mdns; +} diff --git a/libp2p-mplex/index.d.ts b/libp2p-mplex/index.d.ts index 67e45ec..6b96ba4 100644 --- a/libp2p-mplex/index.d.ts +++ b/libp2p-mplex/index.d.ts @@ -3,9 +3,10 @@ // Definitions by: Jaco Greeff // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +declare module 'libp2p-mplex' { type Muxer = {}; -declare type LibP2pMplex = { +export type LibP2pMplex = { (conn: any, isListener: boolean): Muxer; dialer (conn: any): Muxer; @@ -14,4 +15,7 @@ declare type LibP2pMplex = { muticodec: string; } -export = LibP2pMplex; +const mplex: LibP2pMplex; + +export default mplex; +} diff --git a/libp2p-railing/index.d.ts b/libp2p-railing/index.d.ts index 43d8ad6..9056f08 100644 --- a/libp2p-railing/index.d.ts +++ b/libp2p-railing/index.d.ts @@ -3,9 +3,12 @@ // Definitions by: Jaco Greeff // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import MultiAddr = require('multiaddr'); -import PeerInfo = require('peer-info'); +// @ts-ignore +import MultiAddr from 'multiaddr'; +// @ts-ignore +import PeerInfo from 'peer-info'; +declare module 'libp2p-railing' { type Options = { list: Array, interval?: number @@ -13,10 +16,11 @@ type Options = { type Events = 'peer'; -declare class LibP2pRailing { +export class LibP2pRailing { constructor (options: Options); on (event: Events, cb: (peerInfo: PeerInfo) => any): void; } export = LibP2pRailing; +} diff --git a/libp2p-secio/index.d.ts b/libp2p-secio/index.d.ts index fa05df4..b79d810 100644 --- a/libp2p-secio/index.d.ts +++ b/libp2p-secio/index.d.ts @@ -3,12 +3,17 @@ // Definitions by: Jaco Greeff // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import PeerId = require('peer-id'); +// @ts-ignore +import PeerId from 'peer-id'; -declare type LibP2pSecio = { +declare module 'libp2p-secio' { +export type LibP2pSecio = { tag: '/secio/1.0.0', encrypt (localId: PeerId, conn: any, remoteId: PeerId, callback: () => any): void } -export = LibP2pSecio; +const secio: LibP2pSecio; + +export default secio; +} diff --git a/libp2p-spdy/index.d.ts b/libp2p-spdy/index.d.ts index 570015a..4f2289a 100644 --- a/libp2p-spdy/index.d.ts +++ b/libp2p-spdy/index.d.ts @@ -3,9 +3,10 @@ // Definitions by: Jaco Greeff // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +declare module 'libp2p-spdy' { type Muxer = {}; -declare type LibP2pSpdy = { +export type LibP2pSpdy = { (conn: any, isListener: boolean): Muxer; dialer (conn: any): Muxer; @@ -14,4 +15,7 @@ declare type LibP2pSpdy = { muticodec: string; } -export = LibP2pSpdy; +const spdy: LibP2pSpdy; + +export default spdy; +} diff --git a/libp2p-spdy/libp2p-spdy-tests.ts b/libp2p-spdy/libp2p-spdy-tests.ts index e69de29..6663f4d 100644 --- a/libp2p-spdy/libp2p-spdy-tests.ts +++ b/libp2p-spdy/libp2p-spdy-tests.ts @@ -0,0 +1 @@ +import spdy from 'libp2p-spdy'; diff --git a/libp2p-tcp/index.d.ts b/libp2p-tcp/index.d.ts index 0a7df9d..b4ab398 100644 --- a/libp2p-tcp/index.d.ts +++ b/libp2p-tcp/index.d.ts @@ -3,9 +3,12 @@ // Definitions by: Jaco Greeff // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import Transport = require('interface-transport'); +// @ts-ignore +import Transport from 'interface-transport'; -declare class LibP2pTcp implements Transport { +declare module 'libp2p-tcp' { +export class LibP2pTcp implements Transport { } export = LibP2pTcp; +} diff --git a/libp2p-webrtc-direct/index.d.ts b/libp2p-webrtc-direct/index.d.ts index 5077f4c..d31b1d9 100644 --- a/libp2p-webrtc-direct/index.d.ts +++ b/libp2p-webrtc-direct/index.d.ts @@ -3,9 +3,12 @@ // Definitions by: Jaco Greeff // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import Transport = require('interface-transport'); +// @ts-ignore +import Transport from 'interface-transport'; -declare class LibP2pWebRtcDirect implements Transport { +declare module 'libp2p-webrtc-direct' { +export class LibP2pWebRtcDirect implements Transport { } export = LibP2pWebRtcDirect; +} diff --git a/libp2p-webrtc-star/index.d.ts b/libp2p-webrtc-star/index.d.ts index f90dae9..be95640 100644 --- a/libp2p-webrtc-star/index.d.ts +++ b/libp2p-webrtc-star/index.d.ts @@ -3,9 +3,12 @@ // Definitions by: Jaco Greeff // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import Transport = require('interface-transport'); +// @ts-ignore +import Transport from 'interface-transport'; -declare class LibP2pWebRtcStar implements Transport { +declare module 'libp2p-webrtc-star' { +export class LibP2pWebRtcStar implements Transport { } export = LibP2pWebRtcStar; +} diff --git a/libp2p-websockets/index.d.ts b/libp2p-websockets/index.d.ts index 7cfcfa1..69f8c61 100644 --- a/libp2p-websockets/index.d.ts +++ b/libp2p-websockets/index.d.ts @@ -3,9 +3,12 @@ // Definitions by: Jaco Greeff // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import Transport = require('interface-transport'); +// @ts-ignore +import Transport from 'interface-transport'; -declare class LibP2pWebsockets implements Transport { +declare module 'libp2p-websockets' { +export class LibP2pWebsockets implements Transport { } export = LibP2pWebsockets; +} diff --git a/libp2p/index.d.ts b/libp2p/index.d.ts index bb8dc22..b2a837f 100644 --- a/libp2p/index.d.ts +++ b/libp2p/index.d.ts @@ -3,17 +3,28 @@ // Definitions by: Jaco Greeff // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import Connection = require('interface-connection'); -import Transport = require('interface-transport'); -import Libp2pKadDHT = require('libp2p-kad-dht'); -import LibP2pMdns = require('libp2p-mdns'); -import LibP2pMplex = require('libp2p-mplex'); -import LibP2pRailing = require('libp2p-railing'); -import LibP2pSecio = require('libp2p-secio'); -import LibP2pSpdy = require('libp2p-spdy'); -import PeerBook = require('peer-book'); -import PeerInfo = require('peer-info'); +// @ts-ignore +import Connection from 'interface-connection'; +// @ts-ignore +import Transport from 'interface-transport'; +// @ts-ignore +import { Libp2pKadDHT } from 'libp2p-kad-dht'; +// @ts-ignore +import LibP2pMdns from 'libp2p-mdns'; +// @ts-ignore +import { LibP2pMplex } from 'libp2p-mplex'; +// @ts-ignore +import LibP2pRailing from 'libp2p-railing'; +// @ts-ignore +import { LibP2pSecio } from 'libp2p-secio'; +// @ts-ignore +import { LibP2pSpdy } from 'libp2p-spdy'; +// @ts-ignore +import PeerBook from 'peer-book'; +// @ts-ignore +import PeerInfo from 'peer-info'; +declare module 'libp2p' { type CreateOptions = { DHT: typeof Libp2pKadDHT, connection: { @@ -26,7 +37,7 @@ type CreateOptions = { type Events = 'peer:connect' | 'peer:disconnect' | 'peer:discovery' | 'start' | 'stop'; -declare class LibP2p { +export class LibP2p { constructor (peerInfo: PeerInfo, PeerBook: PeerBook, options: CreateOptions); dial (peerInfo: PeerInfo, cb: (error: Error | null) => any): void; @@ -38,4 +49,5 @@ declare class LibP2p { stop (cb: (error: Error | null) => any): void; } -export = LibP2p; +export default LibP2p; +} diff --git a/multiaddr/index.d.ts b/multiaddr/index.d.ts index b9b9116..f882ff3 100644 --- a/multiaddr/index.d.ts +++ b/multiaddr/index.d.ts @@ -5,8 +5,10 @@ /// -import PeerId = require('peer-id'); +// @ts-ignore +import PeerId from 'peer-id'; +declare module 'multiaddr' { type Address = { family: string, host: string, @@ -27,7 +29,7 @@ type Tuple = [ number, Buffer ]; type TupleString = [ number, string ]; -declare class MultiAddr { +class MultiAddr { constructor (addr: MultiAddr | Buffer | string); static isMultiAddr (addr: any): addr is MultiAddr; @@ -51,3 +53,4 @@ declare class MultiAddr { } export = MultiAddr; +} diff --git a/package.json b/package.json index 36f09e2..948e5df 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "license": "ISC", "scripts": { "build": "./build.sh", - "check": "echo \"No 'yarn run check' available\"", + "check": "tsc --noEmit", "test": "echo \"No 'yarn run test' available\"" }, "devDependencies": { diff --git a/peer-book/index.d.ts b/peer-book/index.d.ts index 30ab90d..7053d53 100644 --- a/peer-book/index.d.ts +++ b/peer-book/index.d.ts @@ -3,10 +3,13 @@ // Definitions by: Jaco Greeff // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import PeerId = require('peer-id'); -import PeerInfo = require('peer-info'); +// @ts-ignore +import PeerId from 'peer-id'; +// @ts-ignore +import PeerInfo from 'peer-info'; -declare class PeerBook { +declare module 'peer-book' { +class PeerBook { constructor (); get (peer: PeerId | PeerInfo | string): PeerInfo; @@ -19,3 +22,4 @@ declare class PeerBook { } export = PeerBook; +} diff --git a/peer-id/index.d.ts b/peer-id/index.d.ts index 60ab1ef..6c5e730 100644 --- a/peer-id/index.d.ts +++ b/peer-id/index.d.ts @@ -5,6 +5,7 @@ /// +declare module 'peer-id' { type CreateCb = (error: Error | null, peerId?: PeerId) => any; type CreateOptions = { @@ -17,7 +18,7 @@ type JSON = { privKey: string }; -declare class PeerId { +class PeerId { constructor (id: Buffer, privKey?: any, pubKey?: any); static create (optsOrCb: CreateOptions | CreateCb, cb?: CreateCb): PeerId; @@ -36,3 +37,4 @@ declare class PeerId { } export = PeerId; +} diff --git a/peer-info/index.d.ts b/peer-info/index.d.ts index 9c0f8b9..6e38002 100644 --- a/peer-info/index.d.ts +++ b/peer-info/index.d.ts @@ -5,9 +5,12 @@ /// -import MultiAddr = require('multiaddr'); -import PeerId = require('peer-id'); +// @ts-ignore +import MultiAddr from 'multiaddr'; +// @ts-ignore +import PeerId from 'peer-id'; +declare module 'peer-info' { type CreateCb = (error: Error | null, peerId?: PeerId) => any; type CreateOptions = { @@ -32,7 +35,7 @@ type MultiAddrSet = { toArray (): MultiAddr[]; }; -declare class PeerInfo { +class PeerInfo { constructor (id?: PeerId); static create (optsOrCb: CreateOptions | CreateCb, cb?: CreateCb): PeerInfo; @@ -46,3 +49,4 @@ declare class PeerInfo { } export = PeerInfo; +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..46c8571 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/@polkadot/dev/config/tsconfig" +} diff --git a/tweetnacl/index.d.ts b/tweetnacl/index.d.ts index c25fe3f..fa61964 100644 --- a/tweetnacl/index.d.ts +++ b/tweetnacl/index.d.ts @@ -56,5 +56,7 @@ type TweetNacl = { sign: Sign }; -export = TweetNacl; +const tweetnacl: TweetNacl; + +export default tweetnacl; } diff --git a/tweetnacl/tweetnacl-tests.ts b/tweetnacl/tweetnacl-tests.ts index e69de29..96fbb7f 100644 --- a/tweetnacl/tweetnacl-tests.ts +++ b/tweetnacl/tweetnacl-tests.ts @@ -0,0 +1,3 @@ +import nacl from 'tweetnacl'; + +nacl.randomBytes(24);