Skip to main content
Module

x/harmony/deps.ts>EventEmitter

An easy to use Discord API Library for Deno.
Go to Latest
class EventEmitter
import { EventEmitter } from "https://deno.land/x/harmony@v2.6.0/deps.ts";

Constructors

new
EventEmitter(maxListenersPerEvent?: number)

Type Parameters

E extends Record<string, unknown[]>

Methods

close<K extends keyof E>(eventName?: K): Promise<void>

Closes async iterators, allowing them to finish and removes listeners. If no eventName is specified, all iterators will be closed, including the iterator for the class.

emit<K extends keyof E>(eventName: K, ...args: E[K]): Promise<void>

Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

off<K extends keyof E>(eventName?: K, listener?: (...args: E[K]) => void): this

Removes the listener from eventName. If no listener is passed, all listeners will be removed from eventName. If no eventName is passed, all listeners will be removed from the EventEmitter.

on<K extends keyof E>(eventName: K, listener: (...args: E[K]) => void): this

Appends the listener to the listeners array of the corresponding eventName. No checks are made if the listener was already added, so adding multiple listeners will result in the listener being called multiple times. If no listener is passed, it returns an asyncIterator which will fire every time eventName is emitted.

on<K extends keyof E>(eventName: K): AsyncIterableIterator<E[K]>
once<K extends keyof E>(eventName: K, listener: (...args: E[K]) => void): this

Adds a one-time listener function for the event named eventName. The next time eventName is emitted, listener is called and then removed.

[Symbol.asyncIterator]<K extends keyof E>(): AsyncIterableIterator<[V in K]: Entry<E, V>[K]>