4 votes

Typescript s'attend à ce qu'undefined soit retourné par la fonction d'aide dans d3.nest().rollup()

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X