UNPKG

mocha-multiple-sessions-detailed-runner

Version:
35 lines (27 loc) 1.29 kB
import type { RunnerEvent, RunnerEventType } from './runner-events'; import type { SessionEvent, SessionEventType } from './session-events'; export interface IUnifiedEventBus { // Runner-level events emitRunnerEvent(event: RunnerEvent): void; onRunnerEvent(eventType: RunnerEventType, callback: (event: RunnerEvent) => void): () => void; // Session-level events (integration with existing mocha-multiple-sessions) emitSessionEvent(event: SessionEvent): void; onSessionEvent(eventType: SessionEventType, callback: (event: SessionEvent) => void): () => void; // Universal listener onAnyEvent(callback: (event: RunnerEvent | SessionEvent) => void): () => void; // Event filtering and querying getEventHistory(filter?: EventFilter): (RunnerEvent | SessionEvent)[]; clearEventHistory(): void; // Event utilities hasListeners(eventType?: RunnerEventType | SessionEventType): boolean; getListenerCount(eventType?: RunnerEventType | SessionEventType): number; // Lifecycle destroy(): void; } export interface EventFilter { eventTypes?: (RunnerEventType | SessionEventType)[]; sessionLabel?: string; timeRange?: { start: Date; end: Date }; maxEvents?: number; severity?: 'info' | 'warning' | 'error'; }