Suponiendo que necesito descargar un paquete npm, ¿es posible anular las declaraciones (.d.ts) del paquete en sí?
Al crear un archivo .d.ts con los nuevos tipos, en la carpeta principal del proyecto no puedo anular los tipos del paquete. La única forma de habilitar mis tipos es ir y editar manualmente los archivos .d.ts del propio paquete.
--- Ejemplo del problema ---
El paquete al que me refiero tiene esta declaración:
declare class FooClass<T> { get foo(): T; }La declaración es muy flexible en proyectos mecanografiados y puedo manejarla fácilmente:
const fooInstance = new FooClass<boolean>(); console.log(fooInstance.foo);Supongamos, sin embargo, que estoy usando un proyecto Javascript (y me importan los tipos). En ese caso, no puedo especificar el tipo de FooClass entre paréntesis:
const fooInstance = new FooClass(); console.log(fooInstance.foo);Por lo tanto creo un archivo foo.d.ts:
declare class FooClass { get foo(): boolean; } Sin embargo, foo en tiempo de compilación no se considerará boolean .
Eso depende de las declaraciones que esté tratando de 'anular'. Da la casualidad de que ciertos tipos de entidades en TypeScript se 'combinarán' automáticamente si se declaran varias veces.
Lea la documentación sobre la fusión de declaraciones para obtener más información.