put<T extends Object> method

void put<T extends Object>(
  1. T instance, {
  2. String? tag,
  3. bool override = false,
})

Implementation

void put<T extends Object>(T instance, {String? tag, bool override = false}) {
  final key = _generateKey<T>(tag);
  if (!override && _dependencies.containsKey(key)) {
    if (kDebugMode) {
      print('WARNING (BlueWhale): Dependency $key already registered. Use override:true if intentional.');
    }
    return;
  }
  if (_dependencies.containsKey(key)) {
    _unregisterRouteAware(_dependencies[key]?._instance);
    _dependencies[key]?.dispose();
  }
  _dependencies[key] = _DependencyInjector<T>.singleton(instance);
  _registerRouteAware(instance);
  if (kDebugMode) print('INFO (BlueWhale): $key registered.');
}