UNPKG

react-native-event-logger

Version:

A React Native event tracking library with debug capabilities

50 lines 1.73 kB
import { validateFirebaseEvent } from './eventValidation'; // Global event logger instance let globalEventLogger = null; // Function to set the global event logger export const setGlobalEventLogger = (logger) => { globalEventLogger = logger; }; // Standalone logEvent function for direct usage export const logEvent = (eventName, params, eventType) => { // Validate the event before logging const validation = validateFirebaseEvent(eventName, params); // Create event data const eventData = { id: `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`, eventName: validation.validName, params: validation.validParams, timestamp: Date.now(), eventType, validationError: validation.errorMsg || undefined, }; // Add to global logger if available if (globalEventLogger) { globalEventLogger.logEvent(eventName, params, eventType); } // Log to console in development if (__DEV__) { if (validation.errorMsg) { console.warn('⚠️ Event Validation Failed:', { eventName, params, error: validation.errorMsg, }); } else { console.log('📊 Event Logged:', { eventName: validation.validName, params: validation.validParams, eventType, timestamp: new Date(eventData.timestamp).toISOString(), }); } } }; // Clear events function export const clearEvents = () => { if (globalEventLogger && typeof globalEventLogger.clearEvents === 'function') { globalEventLogger.clearEvents(); } }; //# sourceMappingURL=eventLogger.js.map