Skip to main content

Interface: IPluginEventBus

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

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:299

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('eprint.indexed', eprint);

emitAsync()​

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

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

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('eprint.indexed', eprint);

eventNames()​

eventNames(): string[]

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

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:357

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:330

Unsubscribes from an event.

Parameters​

event​

string

Event name

handler​

(...args) => void

Event handler to remove

Returns​

void

Example​

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

on()​

on(event, handler): void

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

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('eprint.indexed', (eprint) => {
console.log('Eprint indexed:', eprint.title);
});

once()​

once(event, handler): void

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

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:373

Removes all listeners from all events.

Returns​

void