Skip to main content

Interface: IPluginEventBus

Defined in: src/types/interfaces/plugin.interface.ts:248

Plugin event bus interface.

Remarks

Provides pub/sub event system for plugin hooks. Built on EventEmitter2.

Since

0.1.0

Methods

emit()

emit(event, ...args): void

Defined in: src/types/interfaces/plugin.interface.ts:285

Emits an event.

Parameters

event

string

Event name

args

...readonly unknown[]

Event arguments

Returns

void

Remarks

Calls all subscribed handlers with the provided arguments.

Example

eventBus.emit('preprint.indexed', preprint);

emitAsync()

emitAsync(event, ...args): Promise<void>

Defined in: src/types/interfaces/plugin.interface.ts:301

Emits an event asynchronously and waits for all handlers.

Parameters

event

string

Event name

args

...readonly unknown[]

Event arguments

Returns

Promise<void>

Promise that resolves when all handlers complete

Example

await eventBus.emitAsync('preprint.indexed', preprint);

eventNames()

eventNames(): string[]

Defined in: src/types/interfaces/plugin.interface.ts:352

Gets the names of all events with registered listeners.

Returns

string[]

Array of event names


listenerCount()

listenerCount(event): number

Defined in: src/types/interfaces/plugin.interface.ts:343

Gets the number of listeners for an event.

Parameters

event

string

Event name

Returns

number

Number of registered listeners


off()

off(event, handler): void

Defined in: src/types/interfaces/plugin.interface.ts:316

Unsubscribes from an event.

Parameters

event

string

Event name

handler

(...args) => void

Event handler to remove

Returns

void

Example

eventBus.off('preprint.indexed', handler);

on()

on(event, handler): void

Defined in: src/types/interfaces/plugin.interface.ts:267

Subscribes to an event.

Parameters

event

string

Event name

handler

(...args) => void

Event handler function

Returns

void

Remarks

Handler is called whenever the event is emitted.

Example

eventBus.on('preprint.indexed', (preprint) => {
console.log('Preprint indexed:', preprint.title);
});

once()

once(event, handler): void

Defined in: src/types/interfaces/plugin.interface.ts:333

Subscribes to an event for one-time execution.

Parameters

event

string

Event name or pattern

handler

(...args) => void

Event handler function (called once then removed)

Returns

void

Example

eventBus.once('system.startup', () => {
console.log('System started');
});

removeAllListeners()

removeAllListeners(): void

Defined in: src/types/interfaces/plugin.interface.ts:359

Removes all listeners from all events.

Returns

void