MCPcopy Create free account
hub / github.com/codnect/procyon / CanResolveType

Method CanResolveType

component/container.go:273–293  ·  view source on GitHub ↗

CanResolveType checks if a component of the given type is resolvable.

(typ reflect.Type)

Source from the content-addressed store, hash-verified

271
272// CanResolveType checks if a component of the given type is resolvable.
273func (d *DefaultContainer) CanResolveType(typ reflect.Type) bool {
274 d.muSingletons.RLock()
275 defer d.muSingletons.RUnlock()
276
277 for _, singletonTyp := range d.typesOfSingletons {
278 if convertibleTo(singletonTyp, typ) {
279 return true
280 }
281 }
282
283 d.muDefinitions.RLock()
284 defer d.muDefinitions.RUnlock()
285
286 for _, def := range d.definitions {
287 if convertibleTo(def.Type(), typ) {
288 return true
289 }
290 }
291
292 return false
293}
294
295// Resolve retrieves a component instance by its name.
296func (d *DefaultContainer) Resolve(ctx context.Context, name string) (any, error) {

Callers 1

Calls 2

convertibleToFunction · 0.85
TypeMethod · 0.45

Tested by 1