Skip to content

weixin-ts / bot/src / TypedEventEmitter

Class: TypedEventEmitter<Events>

Defined in: bot/src/events.ts:32

A typed event emitter that provides type-safe event registration and emission. Supports on, off, once, and emit methods with full type inference.

Example

ts
type MyEvents = {
  message: [text: string]
  error: [err: Error]
  close: []
}

const emitter = new TypedEventEmitter<MyEvents>()
emitter.on('message', (text) => console.log(text)) // text is typed as string
emitter.emit('message', 'hello')

Extended by

Type Parameters

Events

Events = any

Constructors

Constructor

new TypedEventEmitter<Events>(): TypedEventEmitter<Events>

Returns

TypedEventEmitter<Events>

Methods

emit()

emit<K>(event, ...args): void

Defined in: bot/src/events.ts:91

Emit an event, calling all registered listeners with the provided arguments.

Type Parameters

K

K extends string

Parameters

event

K

The event name to emit

args

...Events[K] extends any[] ? any[any] : any[]

Arguments to pass to the listeners

Returns

void


off()

off<K>(event, handler): this

Defined in: bot/src/events.ts:59

Remove an event listener.

Type Parameters

K

K extends string

Parameters

event

K

The event name

handler

(...args) => void

The handler to remove

Returns

this

this for chaining


on()

on<K>(event, handler): this

Defined in: bot/src/events.ts:42

Register an event listener.

Type Parameters

K

K extends string

Parameters

event

K

The event name to listen for

handler

(...args) => void

The callback function

Returns

this

this for chaining


once()

once<K>(event, handler): this

Defined in: bot/src/events.ts:77

Register a one-time event listener. The handler is automatically removed after the first invocation.

Type Parameters

K

K extends string

Parameters

event

K

The event name

handler

(...args) => void

The callback function (called at most once)

Returns

this

this for chaining


removeAllListeners()

removeAllListeners<K>(event?): this

Defined in: bot/src/events.ts:105

Remove all listeners for a specific event, or all listeners if no event is specified.

Type Parameters

K

K extends string

Parameters

event?

K

Optional event name. If omitted, removes all listeners.

Returns

this

Released under the MIT License.