Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback
Go to Latest
class EventEmitter
import { EventEmitter } from "https://deno.land/x/frugal@0.5.0/packages/core/watch/EventEmitter.ts";

Event emitter class, able to dispatch an typed event to some listeners

Constructors

new
EventEmitter(listeners: [K in keyof EVENT_MAP & string]: Listener<EVENT_MAP[K]>[])

Type Parameters

EVENT_MAP extends Record<string, Event>

Methods

addEventListener<EVENT extends keyof EVENT_MAP & string>(
event: EVENT,
listener: Listener<EVENT_MAP[EVENT]>,
config?: ListenerConfig,
): () => void

Add a listener to a specific event. Returns a cleanup function to remove the listener

dispatch<EVENT extends EVENT_MAP[keyof EVENT_MAP & string]>(event: EVENT)

Dispatch the given event to all listener for this event

removeEventListener<EVENT extends keyof EVENT_MAP & string>(event: EVENT, listener: Listener<EVENT_MAP[EVENT]>): void

Remove a specific listener for a specific event