registerDependencyK<T extends Object> method

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

Retrieves the underlying Dependency object.

Implementation

Result<Dependency<T>> registerDependencyK<T extends Object>({
  required Dependency<T> dependency,
  bool checkExisting = false,
}) {
  UNSAFE:
  final g = dependency.metadata.isSome()
      ? dependency.metadata.unwrap().groupEntity
      : focusGroup;
  if (checkExisting) {
    final option = getDependencyK(
      dependency.typeEntity,
      groupEntity: g,
      traverse: false,
    );
    if (option.isSome()) {
      return Err('Dependency already registered.');
    }
  }
  registry.setDependency(dependency);
  return Ok(dependency);
}