registerInstance<T extends Object> method
void
registerInstance<T extends Object>(})
Registers an existing instance as a singleton bean
Implementation
void registerInstance<T extends Object>(
T instance, {
String? name,
String? qualifier,
List<String> profiles = const [],
bool isPrimary = false,
}) {
if (!_isProfileActive(profiles)) return;
final beanName = name ?? qualifier ?? T.toString();
final beanDef = BeanDefinition(
type: T,
name: beanName,
factory: () => instance,
qualifier: qualifier,
profiles: profiles,
isPrimary: isPrimary,
);
// Cache the instance immediately
_singletonCache[beanName] = instance;
// Register the definition
_beanRegistry.putIfAbsent(T, () => []).add(beanDef);
if (beanName != T.toString()) {
_namedBeanRegistry[beanName] = beanDef;
}
}