eventemitter2.d.ts 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. export type eventNS = string[];
  2. export interface ConstructorOptions {
  3. /**
  4. * @default false
  5. * @description set this to `true` to use wildcards.
  6. */
  7. wildcard?: boolean,
  8. /**
  9. * @default '.'
  10. * @description the delimiter used to segment namespaces.
  11. */
  12. delimiter?: string,
  13. /**
  14. * @default true
  15. * @description set this to `true` if you want to emit the newListener events.
  16. */
  17. newListener?: boolean,
  18. /**
  19. * @default 10
  20. * @description the maximum amount of listeners that can be assigned to an event.
  21. */
  22. maxListeners?: number
  23. /**
  24. * @default false
  25. * @description show event name in memory leak message when more than maximum amount of listeners is assigned, default false
  26. */
  27. verboseMemoryLeak?: boolean;
  28. }
  29. export interface Listener {
  30. (...values: any[]): void;
  31. }
  32. export interface EventAndListener {
  33. (event: string | string[], ...values: any[]): void;
  34. }
  35. export declare class EventEmitter2 {
  36. constructor(options?: ConstructorOptions)
  37. emit(event: string | string[], ...values: any[]): boolean;
  38. emitAsync(event: string | string[], ...values: any[]): Promise<any[]>;
  39. addListener(event: string, listener: Listener): this;
  40. on(event: string | string[], listener: Listener): this;
  41. prependListener(event: string | string[], listener: Listener): this;
  42. once(event: string | string[], listener: Listener): this;
  43. prependOnceListener(event: string | string[], listener: Listener): this;
  44. many(event: string | string[], timesToListen: number, listener: Listener): this;
  45. prependMany(event: string | string[], timesToListen: number, listener: Listener): this;
  46. onAny(listener: EventAndListener): this;
  47. prependAny(listener: EventAndListener): this;
  48. offAny(listener: Listener): this;
  49. removeListener(event: string | string[], listener: Listener): this;
  50. off(event: string, listener: Listener): this;
  51. removeAllListeners(event?: string | eventNS): this;
  52. setMaxListeners(n: number): void;
  53. eventNames(): string[];
  54. listeners(event: string | string[]): Listener[] // TODO: not in documentation by Willian
  55. listenersAny(): Listener[] // TODO: not in documentation by Willian
  56. }