Skip to content

Types

ESMitterEventName

Represents the name of an event in ESMitter. This can be a string or a symbol:

typescript
const STRING_EVENT_NAME: ESMitterEventName = "dataReceived"; // <- most common usage
const SYMBOL_EVENT_NAME: ESMitterEventName = Symbol("dataReceived");

ESMitterEvent

Describes an event, its arguments, and context. To be used when extending the ESMitter class.

typescript
type SuccessEvent = ESMitterEvent<
  [{ foo: string; bar: string }], // <- arguments passed to the listener
  { source: string } // <- context for the listener
>;

ESMitterEvents

Defines a mapping of event names to their corresponding event handler signatures. Used for type-safe event registration and emission in ESMitter.

typescript
interface MyEvents extends ESMitterEvents {
  success: ESMitterEvent<[{ foo: string; bar: string }]>;
  error: ESMitterEvent<[number, string]>;
}

class MyClass extends ESMitter<MyEvents> {}