Simple event manager for handling event listeners and dispatching events.

Provides a lightweight alternative to the more complex AcCmEventDispatcher for cases where you need basic event handling with type-safe payloads.

// Create an event manager for string payloads
const manager = new AcCmEventManager<string>()

// Add a listener
manager.addEventListener((message) => {
console.log('Received:', message)
})

// Dispatch an event
manager.dispatch('Hello, World!')

// For complex payloads
interface LoadEvent {
url: string
progress: number
}

const loadManager = new AcCmEventManager<LoadEvent>()
loadManager.addEventListener(({ url, progress }) => {
console.log(`Loading ${url}: ${progress}%`)
})

Type Parameters

  • T = unknown

    The type of the event payload.

Constructors

Methods

  • Add the event listener

    Parameters

    • listener: (payload: T) => void

      Input listener to be added

    Returns void

  • Notify all listeners

    Parameters

    • Optionalpayload: T

      Input payload passed to listener

    • ...args: unknown[]

    Returns void

  • Remove the listener

    Parameters

    • listener: (payload: T) => void

      Input listener to be removed

    Returns void

  • Remove all listeners bound to the target and add one new listener

    Parameters

    • listener: (payload: T) => void

      Input listener to be added

    Returns void