xPulse
🇩🇪 DE

API

event.on(name, handler)

Lauscht dauerhaft auf ein Event.

event.on('page:ready', (data) => { ... });
Parameter Typ Beschreibung
name string Event-Name — exakter Match, Wildcards (page:*) werden nicht unterstützt
handler function Callback-Funktion, erhält den Payload

event.once(name, handler)

Lauscht einmalig – der Handler wird nach dem ersten Aufruf automatisch entfernt.

event.once('project:ready', (data) => { ... });

event.off(name, handler)

Entfernt einen spezifischen Listener.

const handler = (data) => { ... };
event.on('page:ready', handler);
event.off('page:ready', handler);

Die gleiche Handler-Referenz muss übergeben werden – anonyme Funktionen können nicht entfernt werden.


event.emit(name, payload?)

Feuert ein Event. Alle aktiven Listener werden synchron aufgerufen.

event.emit('page:ready', { lang: 'de', route: '/privacy/' });
event.emit('app:stopping'); // Payload optional

event.register(name, meta)

Dokumentiert ein Event optional mit Metadaten. Kein Pflichtaufruf.

event.register('page:ready', {
description: 'Seite fertig gerendert, i18n kann übernehmen',
emittedBy: '@xpulse/project',
payload: '{ lang: string, route: string }',
});
Parameter Typ Beschreibung
name string Event-Name
meta.description string Was das Event bedeutet
meta.emittedBy string Welches Package das Event feuert
meta.payload string Payload-Struktur als String

event.list()

Gibt alle registrierten Events mit Metadaten zurück.

event.list();
// → [
// { name: 'page:ready', description: '...', emittedBy: '...', listeners: 2 },
// ]

event.listeners(name)

Gibt alle aktiven Listener-Funktionen für ein Event zurück.

event.listeners('page:ready');
// → [ [Function: handler1], [Function: handler2] ]

event.listenerCount(name)

Gibt die Anzahl aktiver Listener für ein Event zurück.

event.listenerCount('page:ready');
// → 2
de/api.md 2026-04-13