UNPKG

overcentric

Version:

A lightweight, privacy-focused toolkit for modern SaaS web applications

38 lines (37 loc) 1.4 kB
let loadPromise = null; export async function loadErrorCapture() { try { if (!loadPromise) { loadPromise = Promise.resolve({ initErrorCapture: (trackEvent) => { const existingErrorHandler = window.onerror; window.onerror = (message, url, line, column, error) => { trackEvent('$error', { message, url, line, column, error: error === null || error === void 0 ? void 0 : error.toString() }); if (existingErrorHandler && typeof existingErrorHandler === 'function') { return existingErrorHandler(message, url, line, column, error); } return false; }; } }).catch(error => { loadPromise = null; throw new Error(`Failed to load error capture module: ${error.message}`); }); } return loadPromise; } catch (error) { loadPromise = null; throw error; } } export async function initErrorCaptureFeature(trackEvent) { const { initErrorCapture } = await loadErrorCapture(); initErrorCapture(trackEvent); }