get<T extends Object> method
T
get<T extends Object>()
👐 Get an instance of the service by type
Implementation
T get<T extends Object>() {
final serviceDefinition = serviceDefinitionsByType[T];
if (serviceDefinition == null) {
throw ServiceNotFoundException<T>(
'Service $T not found',
);
}
if (serviceDefinition.isSingleton || isScoped) {
final singletonValue = singletons[T];
if (singletonValue != null) {
return singletonValue as T;
}
}
final service = serviceDefinition.factory(this) as T;
if (serviceDefinition.isSingleton || isScoped) {
singletons[T] = service;
}
return service;
}