Class AcCmEventDispatcher<TEventMap>

Type-safe event dispatcher implementation.

Provides a robust event system that allows objects to emit and listen to events with full TypeScript type safety. Supports both typed event maps and dynamic events.

// Define event types
interface MyEvents {
load: { url: string }
error: { message: string }
}

// Create dispatcher
const dispatcher = new AcCmEventDispatcher<MyEvents>()

// Add listeners
dispatcher.addEventListener('load', (event) => {
console.log(`Loaded: ${event.url}`)
})

// Dispatch events
dispatcher.dispatchEvent({ type: 'load', url: 'test.dwg' })

Type Parameters

  • TEventMap extends {} = {}

    A record type mapping event names to their data payloads.

Constructors

Methods

  • Fire an event type.

    Type Parameters

    • T extends string

    Parameters

    Returns void