registerDependency<T extends Object> method
Result<Dependency<T> >
registerDependency<T extends Object>({
- required Dependency<
T> dependency, - bool checkExisting = false,
inherited
Registers a Dependency object directly into the registry.
Implementation
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.');
final g = switch (dependency.metadata) {
Some(value: final m) => m.groupEntity,
None() => focusGroup,
};
if (checkExisting) {
switch (getDependency<T>(groupEntity: g, traverse: false)) {
case Some():
return Err('Dependency already registered.');
case None():
break;
}
}
registry.setDependency(dependency);
return Ok(dependency);
}