UNPKG

saltfish

Version:

An interactive video-guided tour system for web applications

106 lines 3.26 kB
/** * Error severity levels */ export declare enum ErrorSeverity { INFO = "info", WARNING = "warning", ERROR = "error", CRITICAL = "critical" } /** * Error context information */ export interface ErrorContext { component?: string; method?: string; userId?: string; playlistId?: string; stepId?: string; errorType?: string; additionalData?: Record<string, any>; } /** * Error handling options */ export interface ErrorHandlerOptions { severity?: ErrorSeverity; shouldLog?: boolean; shouldThrow?: boolean; shouldUpdateStore?: boolean; shouldTriggerEvent?: boolean; shouldDestroy?: boolean; } /** * Centralized error handler for consistent error handling across the application */ export declare class ErrorHandler { private static readonly DEFAULT_OPTIONS; /** * Handles an error with consistent logging, reporting, and response * @param error The error to handle (Error object, string, or unknown) * @param context Context information about where the error occurred * @param options Options for how to handle the error */ static handle(error: Error | string | unknown, context?: ErrorContext, options?: ErrorHandlerOptions): Error; /** * Handles initialization errors */ static handleInitializationError(error: Error | string | unknown, context?: ErrorContext): Error; /** * Handles playlist loading errors */ static handlePlaylistError(error: Error | string | unknown, context?: ErrorContext): Error; /** * Handles video loading/playback errors */ static handleVideoError(error: Error | string | unknown, context?: ErrorContext): Error; /** * Handles network/API errors */ static handleNetworkError(error: Error | string | unknown, context?: ErrorContext): Error; /** * Handles non-critical errors (warnings) */ static handleWarning(error: Error | string | unknown, context?: ErrorContext): Error; /** * Handles cleanup/destroy errors */ static handleCleanupError(error: Error | string | unknown, context?: ErrorContext): Error; /** * Normalizes different error types to Error objects */ private static normalizeError; /** * Formats error message with context information */ private static formatErrorMessage; /** * Logs error with appropriate severity level */ private static logError; /** * Updates store with error state */ private static updateStore; /** * Triggers error event through EventManager */ private static triggerErrorEvent; /** * Destroys player for critical errors */ private static destroyPlayer; /** * Creates a standardized error with context */ static createError(message: string, context?: ErrorContext): Error; /** * Checks if an error is recoverable based on its type and context */ static isRecoverable(error: Error): boolean; /** * Safely executes a function with error handling */ static safeExecute<T>(fn: () => T | Promise<T>, context?: ErrorContext, options?: ErrorHandlerOptions): Promise<T | null>; } //# sourceMappingURL=ErrorHandler.d.ts.map