Je suis en train de construire une visualisation en D3 (v4.4.0) et Typsecript, ayant les typages installés depuis @types/d3. Pour la visualisation, j'ai besoin d'imbriquer mes données. C'est ce que j'essaie de faire avec ce snippet, qui devrait compter le nombre d'entrées par clé :
d3.nest()
.key(function(d: any) {return d.key;})
.rollup(function(leaves: any){
return d3.sum(leaves, function (d) {
return 1;
})
})
.entries(this.data);
Pour la fonction d'aide dans la méthode rollup, j'obtiens une erreur de type :
severity: 'Error'
message: 'Argument of type '(leaves: any) => number' is not assignable to parameter of type '(values: {}[]) => undefined'.
Type 'number' is not assignable to type 'undefined'.'
at: '46,15'
source: 'ts'
Il semble donc que tsc s'attende à ce que rollup() renvoie undefined, ce qui n'a pas de sens pour moi et ce code fonctionnait bien en javascript pur. L'imbrication des données sans rollup() fonctionne également.
Quelqu'un sait-il ce qui a pu se passer ici ?
Merci, Thomas