@gati-framework/runtime
Version:
Gati runtime execution engine for running handler-based applications
51 lines • 1.43 kB
JavaScript
/**
* @module runtime/types/module
* @description Module type definitions for Gati framework
*/
/**
* Module loading error
*/
export class ModuleError extends Error {
moduleName;
cause;
constructor(message, moduleName, cause) {
super(message);
this.name = 'ModuleError';
this.moduleName = moduleName;
this.cause = cause;
// Maintain proper stack trace
if (Error.captureStackTrace) {
Error.captureStackTrace(this, ModuleError);
}
}
}
/**
* Circular dependency error
*/
export class CircularDependencyError extends ModuleError {
dependencyChain;
constructor(dependencyChain) {
super(`Circular dependency detected: ${dependencyChain.join(' -> ')}`, dependencyChain[0] || 'unknown');
this.name = 'CircularDependencyError';
this.dependencyChain = dependencyChain;
}
}
/**
* Module not found error
*/
export class ModuleNotFoundError extends ModuleError {
constructor(moduleName) {
super(`Module not found: ${moduleName}`, moduleName);
this.name = 'ModuleNotFoundError';
}
}
/**
* Module initialization error
*/
export class ModuleInitializationError extends ModuleError {
constructor(moduleName, cause) {
super(`Failed to initialize module: ${moduleName}`, moduleName, cause);
this.name = 'ModuleInitializationError';
}
}
//# sourceMappingURL=module.js.map