registerDependency<T extends Object> method

  1. @protected
Result<Dependency<T>> registerDependency<T extends Object>({
  1. required Dependency<T> dependency,
  2. bool checkExisting = false,
})
inherited

Registers a Dependency object directly into the registry.

Implementation

@protected
Result<Dependency<T>> registerDependency<T extends Object>({
  required Dependency<T> dependency,
  bool checkExisting = false,
}) {
  assert(T != Object, 'T must be specified and cannot be Object.');
  UNSAFE:
  final g = dependency.metadata.isSome()
      ? dependency.metadata.unwrap().groupEntity
      : focusGroup;
  if (checkExisting) {
    final option = getDependency<T>(groupEntity: g, traverse: false);
    if (option.isSome()) {
      return Err('Dependency already registered.');
    }
  }
  registry.setDependency(dependency);
  return Ok(dependency);
}