getTransitiveDependents method
Implementation
Map<String, List<String>> getTransitiveDependents(String targetId) {
final Map<String, List<String>> result = {};
final Set<String> visited = {targetId};
void dfs(String currentId, List<String> currentChain) {
final dependents = _dependents[currentId] ?? {};
for (final dep in dependents) {
if (!visited.contains(dep)) {
visited.add(dep);
final newChain = [...currentChain, dep];
result[dep] = newChain;
dfs(dep, newChain);
}
}
}
dfs(targetId, [targetId]);
return result;
}