Skip to main content
Module

x/harmony/deps.ts>EventEmitter

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

Constructors

new
EventEmitter(maxListenersPerEvent?: number)

Type Parameters

E extends Record<string, unknown[]>

Methods

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): Promise<this>

Removes the listener from eventName. If no listener is passed, all listeners will be removed from eventName, this includes async listeners. If no eventName is passed, all listeners will be removed from the EventEmitter, including the async iterator for the class

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. If no listener is passed, it returns a Promise that will resolve once eventName is emitted.

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