injectOrNull<T> method
T?
injectOrNull<T>()
Resolves the dependency of type T, or returns null if not registered.
Checks overrides first, then local bindings, and cascades to parent.
Example
final analytics = container.injectOrNull<AnalyticsService>();
analytics?.logEvent('app_start');
Implementation
T? injectOrNull<T>() {
if (_overrides.containsKey(T)) {
return _overrides[T] as T?;
}
final binding = _bindings[T];
if (binding != null) {
return binding.resolve() as T;
}
if (parent != null) {
return parent!.injectOrNull<T>();
}
return null;
}