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