UNPKG

harmony-plugin-manager

Version:

A comprehensive TypeScript library for generating harmonious color palettes with WCAG 2.1 accessibility compliance

77 lines 2.85 kB
/** * Error handling utilities and custom error classes for plugin system * * Provides structured error types for different failure scenarios: * - PluginError: General plugin execution failures * - PluginRegistrationError: Registration-specific failures * - PluginDependencyError: Dependency resolution failures * - PluginValidationError: Input/configuration validation failures */ /** * Base error class for plugin-related failures * Captures the plugin name and original error for debugging */ export declare class PluginError extends Error { readonly pluginName: string; readonly originalError?: Error | undefined; constructor(message: string, pluginName: string, originalError?: Error | undefined); } /** * Error thrown when plugin registration fails * Typically due to naming conflicts or invalid metadata */ export declare class PluginRegistrationError extends Error { readonly pluginName: string; constructor(message: string, pluginName: string); } /** * Error thrown when plugin dependencies cannot be resolved * Indicates missing or disabled required dependencies */ export declare class PluginDependencyError extends Error { readonly pluginName: string; readonly missingDependency: string; constructor(message: string, pluginName: string, missingDependency: string); } /** * Error thrown when plugin validation fails * Indicates specific field or configuration issues */ export declare class PluginValidationError extends Error { readonly pluginName: string; readonly field: string; constructor(message: string, pluginName: string, field: string); } /** * Utility class for error handling and creation * Provides consistent error wrapping and type checking */ export declare class ErrorUtils { /** * Wraps any error as a PluginError if not already one * Preserves the original error chain for debugging */ static wrapPluginError(error: Error, pluginName: string): PluginError; /** * Type guard to check if error is a PluginError */ static isPluginError(error: Error): error is PluginError; /** * Extracts plugin name from plugin-related errors * Returns undefined for non-plugin errors */ static extractPluginName(error: Error): string | undefined; /** * Factory method for creating registration errors */ static createRegistrationError(pluginName: string, reason: string): PluginRegistrationError; /** * Factory method for creating dependency errors */ static createDependencyError(pluginName: string, missingDependency: string): PluginDependencyError; /** * Factory method for creating validation errors */ static createValidationError(pluginName: string, field: string, reason: string): PluginValidationError; } //# sourceMappingURL=error.utils.d.ts.map