UNPKG

@sailboat-computer/event-bus

Version:

Standardized event bus for sailboat computer v3 with resilience features and offline capabilities

45 lines (37 loc) 1.11 kB
/** * Event bus package */ import { EventAdapter } from './types'; import { createMemoryAdapter, createRedisAdapter } from './adapters'; import { createEventBusWithAdapter } from './event-bus'; import { validateConfig } from './config'; // Export types export * from './types'; export * from './errors'; export * from './metrics'; export * from './config'; export * from './utils'; export * from './adapters'; export * from './event-bus'; export * from './validation'; /** * Create an event bus with the specified configuration * * @param config - Event bus configuration * @returns Event bus instance */ export function createEventBus(config: any) { const validatedConfig = validateConfig(config); // Create adapter based on configuration let adapter: EventAdapter; if (validatedConfig.adapter.type === 'redis') { // Create Redis adapter adapter = createRedisAdapter(); } else { // Default to memory adapter adapter = createMemoryAdapter(); } // Create event bus with adapter const eventBus = createEventBusWithAdapter(adapter); return eventBus; }