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,
}) {
  final g = switch (dependency.metadata) {
    Some(value: final m) => m.groupEntity,
    None() => focusGroup,
  };
  if (checkExisting) {
    switch (getDependencyK(
      dependency.typeEntity,
      groupEntity: g,
      traverse: false,
    )) {
      case Some():
        return Err('Dependency already registered.');
      case None():
        break;
    }
  }
  registry.setDependency(dependency);
  return Ok(dependency);
}