bindInstance<T> method

  1. @override
void bindInstance<T>(
  1. T instance, {
  2. String? name,
})
override

Binds an existing instance.

See ServiceContainer.bindInstance for details.

Implementation

@override
void bindInstance<T>(T instance, {String? name}) {
  final key = _key<T>(name);

  if (_factories.containsKey(key) || _singletons.containsKey(key)) {
    throw ServiceContainerException.duplicateRegistration(
      type: T,
      name: name,
    );
  }

  if (instance == null) {
    throw ServiceContainerException.nullInstanceUnallowed(
      type: T,
      name: name,
    );
  }

  _singletons[key] = instance as Object;
}