validateDuplicateDependencies function
Implementation
void validateDuplicateDependencies(List<DependencyConfig> deps) {
final validatedDeps = <DependencyConfig>[];
for (var dep in deps) {
var registered = validatedDeps.where(
(elm) =>
elm.type == dep.type &&
elm.instanceName == dep.instanceName &&
elm.scope == dep.scope,
);
if (registered.isEmpty) {
validatedDeps.add(dep);
} else {
Set<String> registeredEnvironments = registered.fold(
<String>{},
(prev, elm) => prev..addAll(elm.environments),
);
if (registeredEnvironments.isEmpty ||
dep.environments.any(
(env) => registeredEnvironments.contains(env),
)) {
throwBoxed(
'${dep.typeImpl} [${dep.type}] envs: ${dep.environments} scope: ${dep.scope} \nis registered more than once under the same environment or in the same scope',
);
}
}
}
}