Búsqueda de sitios web

typescript - Tipo 'Selection' no es comparable con tipo 'Selection'


Soy relativamente nuevo en Typescript y los genéricos y estoy teniendo problemas para resolver un error del compilador. Obtengo el error del título cuando ejecuto el código siguiente (compilando un proyecto objetivo de GitHub).

He intentado cambiar el tipo de conversión para el d3.Selection a <SVGSVGElement sin éxito. Podría cambiarlo a <any> o <unknown>, pero siento que eso sería hacer trampa y no aprender la lección aquí.

import * as d3 from 'd3';

type D3SVGSelection = d3.Selection<SVGElement, any, null, undefined>;

Dentro del constructor de la clase, establezco this.svg:

constructor(elm: HTMLDivElement) {
    private svg: D3SVGSelection;

    this.svg = (d3.select(elm).append('svg') as D3SVGSelection)
               .attr('viewBox', '-5 5 130 110')
               .attr('style', 'width: 95%; height: 70%; margin-left:5px');

Entiendo que el problema está con la definición de tipo de D3SVGSelection, sin embargo, no estoy seguro de cómo resolverlo. ¿Sugerencias sobre cómo solucionar este tipo de problema yo mismo en el futuro?