import FeatureFlagManager from '../core/featureFlags/featureFlagManager'; import Logger from '../core/logging/logger'; import { ErrorAnalysisModule } from '../core/nativeModules'; import CSQMethodFilter from '../csq/CSQMethodFilter'; const { featureFlags } = FeatureFlagManager; /** * ErrorAnalysis object provides a set of methods for error analysis. */ export const ErrorAnalysis = { /** * Sets the URL masking patterns for HTTP error analysis. * * @param {string[]} patterns - An array of URL patterns to be masked for HTTP error analysis. * */ setURLMaskingPatterns(patterns: string[]): void { CSQMethodFilter.executeMethodIfAllowed( ErrorAnalysisModule.setURLMaskingPatterns(patterns), 'default', ); }, /** * Triggers crash in native code. * Use this only for testing purposes. */ triggerNativeCrash(): void { if (featureFlags.crashReporter) { CSQMethodFilter.executeMethodIfAllowed( ErrorAnalysisModule.triggerNativeCrash(), 'default', ); } else { Logger.warn('The Crash Reporter feature is disabled.'); } }, };