UNPKG

react-native-unit-components

Version:

Unit React Native components

37 lines 1.19 kB
import type { EventMap } from './EventBus.types'; export type EventCallback<K extends keyof EventMap> = (data: EventMap[K]) => void; declare class EventBus { private debug; private listeners; private eventQueue; private isProcessing; /** * Subscribe to an event * @returns Unsubscribe function */ on<K extends keyof EventMap>(eventKey: K, callback: EventCallback<K>): () => void; /** * Emit an event - queues it for processing to ensure all events are delivered */ emit<K extends keyof EventMap>(eventKey: K, data: EventMap[K]): void; /** * Process events from queue sequentially * This ensures rapid successive events are all delivered */ private processQueue; /** * Remove all listeners for an event */ off<K extends keyof EventMap>(eventKey: K): void; /** * Get number of listeners for an event (useful for debugging) */ listenerCount<K extends keyof EventMap>(eventKey: K): number; /** * Enable or disable debug logging */ setDebug(enabled: boolean): void; } export declare const eventBus: EventBus; export {}; //# sourceMappingURL=EventBus.d.ts.map