Skip to main content
Module

x/eventemitter/mod.ts>EventEmitter

A typed event-emitter.
Latest
class EventEmitter
import { EventEmitter } from "https://deno.land/x/eventemitter@1.2.4/mod.ts";

The event emitter.

Type Parameters

optional
E extends EventsType = { }

Properties

private
_events_: Map<keyof E, Set<Listener>>

This is where the events and listeners are stored.

Methods

clone(cloneListeners?): EventEmitter<E>

Clone this event emitter.

emit<K extends keyof E>(event: K, ...args: Parameters<E[K]>): Promise<this>

Emit a typed event and wait for each typed listener to return.

emitSync<K extends keyof E>(event: K, ...args: Parameters<E[K]>): this

Emit a typed event without waiting for each listener to return.

off<K extends keyof E>(event: K, listener: E[K]): this

Remove a specific listener in the event emitter on a specific typed event.

off<K extends keyof E>(event: K): this

Remove all listeners on a specific typed event.

off(): this

Remove all events from the event listener.

on<K extends keyof E>(event: K, listener: E[K]): this

Listen for a typed event.

once<K extends keyof E>(event: K, listener: E[K]): this

Listen for a typed event once.

pull<K extends keyof E>(event: K, timeout?: number): Promise<Parameters<E[K]>>

Wait for a typed event to be emitted and return the arguments.

queue<K extends keyof E>(event: K, ...args: Parameters<E[K]>): this

The same as emitSync, but wait for each typed listener to return before calling the next typed listener.