d3 Sankey - Destacar todos os caminhos conectados do início ao fim

Estou tentando destacar todos os links e links conectados de seus nós de destino até o final do layout.

O primeiro nível de destaque pode ser facilmente alcançado da seguinte forma -

No clique do nó, liguehighlight_paths(1);

function highlight_paths(stroke_opacity) {
    return function(d,i){
        d.sourceLinks.forEach(function(srcLnk){
            d3.select("#link"+srcLnk.id).style("stroke-opacity", stroke_opacity);
        });
        d.targetLinks.forEach(function(srcLnk){
            d3.select("#link"+srcLnk.id).style("stroke-opacity", stroke_opacity);
        });
    }
}

Mas ainda não sou capaz de escrever corretamente um algoritmo recursivo para obter todos os sourceLinks e targetLinks de cada um dos nós de origem e destino conectados.

Todos os pensamentos são apreciados!

Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion