Skip to content
This repository has been archived by the owner on Jun 26, 2023. It is now read-only.

Commit

Permalink
fix: event emitter types with local types
Browse files Browse the repository at this point in the history
  • Loading branch information
vasco-santos committed Apr 28, 2021
1 parent 27c3871 commit 209065f
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/content-routing/types.d.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
export = ContentRouting;

import PeerId from 'peer-id'
import Multiaddr from 'multiaddr'
import { Multiaddr } from 'multiaddr'
import CID from 'cids'

declare class ContentRouting {
Expand Down
2 changes: 1 addition & 1 deletion src/peer-routing/types.d.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
export = PeerRouting;

import PeerId from 'peer-id'
import Multiaddr from 'multiaddr'
import { Multiaddr } from 'multiaddr'

declare class PeerRouting {
constructor (options?: Object);
Expand Down
2 changes: 2 additions & 0 deletions src/pubsub/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
'use strict'

const debug = require('debug')
/** @typedef {import('../types').EventEmitterFactory} Events */
/** @type Events */
const EventEmitter = require('events')
const errcode = require('err-code')

Expand Down
2 changes: 2 additions & 0 deletions src/pubsub/peer-streams.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ const debug = require('debug')
const log = Object.assign(debug('libp2p-pubsub:peer-streams'), {
error: debug('libp2p-pubsub:peer-streams:err')
})
/** @typedef {import('../types').EventEmitterFactory} Events */
/** @type Events */
const EventEmitter = require('events')

const lp = require('it-length-prefixed')
Expand Down
2 changes: 1 addition & 1 deletion src/transport/types.d.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import BufferList from 'bl'
import events from 'events'
import Multiaddr from 'multiaddr'
import { Multiaddr } from 'multiaddr'
import Connection from '../connection/connection'
import { Sink } from '../stream-muxer/types'

Expand Down
23 changes: 21 additions & 2 deletions src/types.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
export type SelectFn = function (Uint8Array, Uint8Array[]): number
export type ValidateFn = function (Uint8Array, Uint8Array): Promise<void>
export type SelectFn = (key: Uint8Array, records: Uint8Array[]) => number
export type ValidateFn = (a: Uint8Array, b: Uint8Array) => Promise<void>

export type DhtSelectors = { [key: string]: SelectFn }
export type DhtValidators = { [key: string]: { func: ValidateFn } }

export interface EventEmitterFactory {
new(): EventEmitter;
}

export interface EventEmitter {
addListener(event: string | symbol, listener: (...args: any[]) => void): EventEmitter;
on(event: string | symbol, listener: (...args: any[]) => void): EventEmitter;
once(event: string | symbol, listener: (...args: any[]) => void): EventEmitter;
removeListener(event: string | symbol, listener: (...args: any[]) => void): EventEmitter;
off(event: string | symbol, listener: (...args: any[]) => void): EventEmitter;
removeAllListeners(event?: string | symbol): EventEmitter;
setMaxListeners(n: number): EventEmitter;
getMaxListeners(): number;
listeners(event: string | symbol): Function[]; // eslint-disable-line @typescript-eslint/ban-types
rawListeners(event: string | symbol): Function[]; // eslint-disable-line @typescript-eslint/ban-types
emit(event: string | symbol, ...args: any[]): boolean;
listenerCount(event: string | symbol): number;
}

0 comments on commit 209065f

Please sign in to comment.