@@ -17,7 +17,7 @@ public enum AstrojectError: LocalizedError {
1717 /// A dependency is requested but no corresponding registration is found in the container.
1818 ///
1919 /// This case occurs when attempting to resolve a dependency that has not been registered.
20- case noRegistrationFound
20+ case noRegistrationFound( type : String , name : String ? = nil )
2121
2222 /// A circular dependency is detected during the resolution process.
2323 ///
@@ -47,8 +47,12 @@ public enum AstrojectError: LocalizedError {
4747 } else {
4848 return " A registration for type ' \( type) ' already exists. "
4949 }
50- case . noRegistrationFound:
51- return " No registration found for the requested dependency. "
50+ case . noRegistrationFound( let type, let name) :
51+ if let name {
52+ return " No registration found for dependency of ' \( type) ' with name ' \( name) '. "
53+ } else {
54+ return " No registration found for dependency of ' \( type) '. "
55+ }
5256 case . circularDependencyDetected( let type, let name) :
5357 if let name = name {
5458 return " A circular dependency was detected while resolving type ' \( type) ' with name ' \( name) '. "
@@ -109,12 +113,13 @@ extension AstrojectError: Equatable {
109113 public static func == ( lhs: AstrojectError , rhs: AstrojectError ) -> Bool {
110114 switch ( lhs, rhs) {
111115 case ( . alreadyRegistered( let lhsType, let lhsName) , . alreadyRegistered( let rhsType, let rhsName) ) ,
116+ ( . noRegistrationFound( let lhsType, let lhsName) ,
117+ . noRegistrationFound( let rhsType, let rhsName) ) ,
112118 ( . circularDependencyDetected( let lhsType, let lhsName) ,
113119 . circularDependencyDetected( let rhsType, let rhsName) ) :
114120 // Compare the associated types and names for alreadyRegistered and circularDependencyDetected errors.
115121 return lhsType == rhsType && lhsName == rhsName
116- case ( . noRegistrationFound, . noRegistrationFound) ,
117- ( . invalidInstance, . invalidInstance) :
122+ case ( . invalidInstance, . invalidInstance) :
118123 // noRegistrationFound and invalidInstance errors are equal if they are the same case.
119124 return true
120125 case ( . underlyingError( let lhsError) , . underlyingError( let rhsError) ) :
0 commit comments