UNPKG

@casoon/auditmysite

Version:

Professional website analysis suite with robust accessibility testing, Core Web Vitals performance monitoring, SEO analysis, and content optimization insights. Features isolated browser contexts, retry mechanisms, and comprehensive API endpoints for profe

108 lines 3.19 kB
/** * 🚨 Standardized Error Handling * * Common error types and handling utilities for the audit system. * Provides consistent error categorization and recovery strategies. */ /** * Base class for all audit-related errors */ export declare class AuditError extends Error { readonly code: string; readonly category: ErrorCategory; readonly recoverable: boolean; readonly context?: Record<string, unknown>; constructor(message: string, code: string, category: ErrorCategory, recoverable?: boolean, context?: Record<string, unknown>); } /** * Error categories for better error handling */ export declare enum ErrorCategory { NETWORK = "NETWORK", BROWSER = "BROWSER", PARSING = "PARSING", VALIDATION = "VALIDATION", RESOURCE = "RESOURCE", TIMEOUT = "TIMEOUT", PERMISSION = "PERMISSION", CONFIGURATION = "CONFIGURATION", UNKNOWN = "UNKNOWN" } /** * Network-related errors (connection, DNS, HTTP) */ export declare class NetworkError extends AuditError { constructor(message: string, url?: string, statusCode?: number); } /** * Browser/Playwright-related errors */ export declare class BrowserError extends AuditError { constructor(message: string, browserType?: string, recoverable?: boolean); } /** * Sitemap/XML parsing errors */ export declare class ParsingError extends AuditError { constructor(message: string, source?: string); } /** * Data validation errors */ export declare class ValidationError extends AuditError { constructor(message: string, field?: string, value?: unknown); } /** * System resource errors (memory, CPU, disk) */ export declare class ResourceError extends AuditError { constructor(message: string, resourceType?: string, limit?: number); } /** * Timeout errors */ export declare class TimeoutError extends AuditError { constructor(message: string, operation?: string, timeoutMs?: number); } /** * Permission/access errors */ export declare class PermissionError extends AuditError { constructor(message: string, resource?: string); } /** * Configuration errors */ export declare class ConfigurationError extends AuditError { constructor(message: string, configKey?: string, providedValue?: unknown); } /** * Error handler utility */ export declare class ErrorHandler { /** * Categorize unknown errors into known types */ static categorize(error: Error | unknown): AuditError; /** * Get user-friendly error message with recovery suggestions */ static getUserMessage(error: AuditError): string; /** * Determine if error should be retried */ static shouldRetry(error: AuditError, attemptNumber: number, maxRetries: number): boolean; /** * Calculate backoff delay for retries */ static getRetryDelay(attemptNumber: number, baseDelay?: number): number; } /** * Async wrapper with automatic error categorization and retry logic */ export declare function withErrorHandling<T>(operation: () => Promise<T>, options?: { maxRetries?: number; baseDelay?: number; onRetry?: (error: AuditError, attempt: number) => void; }): Promise<T>; //# sourceMappingURL=audit-errors.d.ts.map