@notjustcoders/ioc-arise
Version:
Arise type-safe IoC containers from your code. Zero overhead, zero coupling.
34 lines • 2.14 kB
TypeScript
import { IoCError, IoCErrorCode, ErrorContext, ConfigError, AnalysisError, GenerationError, ValidationError, FileSystemError } from './IoCError.js';
/**
* Factory functions for creating specific IoC errors
*/
export declare class ErrorFactory {
static configNotFound(filePath: string): ConfigError;
static configParseError(filePath: string, parseError: string): ConfigError;
static configValidationError(property: string, value: any, expectedType: string): ConfigError;
static sourceDirectoryNotFound(sourcePath: string): FileSystemError;
static sourceDirectoryEmpty(sourcePath: string): AnalysisError;
static noClassesFound(sourcePath: string): AnalysisError;
static circularDependency(className: string, dependencyChain: string[]): AnalysisError;
static duplicateInterfaceImplementation(interfaceName: string, classes: string[]): AnalysisError;
static duplicateAbstractClassExtension(abstractClassName: string, classes: string[]): AnalysisError;
static generationFailed(reason: string, outputPath?: string): GenerationError;
static outputFileError(outputPath: string, error: string): GenerationError;
static moduleConfigInvalid(moduleName: string, reason: string): ValidationError;
static modulePatternInvalid(pattern: string, moduleName: string): ValidationError;
static fileNotFound(filePath: string): FileSystemError;
static fileReadError(filePath: string, error: string): FileSystemError;
static fileWriteError(filePath: string, error: string): FileSystemError;
static validationError(message: string, context?: ErrorContext): ValidationError;
static unexpectedError(error: Error, context?: ErrorContext): IoCError;
static rendererNotFound(rendererName: string): IoCError;
/**
* Wrap a generic error with IoC error context
*/
static wrapError(error: Error, code: IoCErrorCode, context?: ErrorContext): IoCError;
/**
* Create error from validation result
*/
static fromValidationResult(property: string, value: any, expectedType: string, context?: ErrorContext): ValidationError;
}
//# sourceMappingURL=errorFactory.d.ts.map