fix: event emitter types with local types (#80)

This commit is contained in:
Vasco Santos 2021-01-20 10:15:40 +01:00 committed by GitHub
parent ceb91c672e
commit ca520775eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 2 deletions

View File

@ -1,7 +1,9 @@
'use strict' 'use strict'
const debug = require('debug') const debug = require('debug')
const { EventEmitter } = require('events') /** @typedef {import('../types').EventEmitterFactory} Events */
/** @type Events */
const EventEmitter = require('events')
const errcode = require('err-code') const errcode = require('err-code')
const { pipe } = require('it-pipe') const { pipe } = require('it-pipe')

View File

@ -1,6 +1,8 @@
'use strict' 'use strict'
const { EventEmitter } = require('events') /** @typedef {import('../types').EventEmitterFactory} Events */
/** @type Events */
const EventEmitter = require('events')
const lp = require('it-length-prefixed') const lp = require('it-length-prefixed')

18
src/types.ts Normal file
View File

@ -0,0 +1,18 @@
export interface EventEmitterFactory {
new(): EventEmitter;
}
export interface EventEmitter {
addListener(event: string | symbol, listener: (...args: any[]) => void);
on(event: string | symbol, listener: (...args: any[]) => void);
once(event: string | symbol, listener: (...args: any[]) => void);
removeListener(event: string | symbol, listener: (...args: any[]) => void);
off(event: string | symbol, listener: (...args: any[]) => void);
removeAllListeners(event?: string | symbol);
setMaxListeners(n: number);
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;
}