Integración de librerías

<< Gestión del DOM

Librerías con soporte incluido

Aunque una librería esté escrita en JavaScript, se puede adaptar a TypeScript utilizando archivos de definición de tipos (extensión .d.ts). Estos lo que hacen es tipar las funciones, clases, constantes, etc. que exporta la librería.

export function suma(n1, n2) {
    return n1 + n2;
}

export const PI = 3.14159;

Las librerías que incluyen soporte integrado para TypeScript se pueden distinguir en el repositorio de NPM porque aparece el logo de TypeScript a la derecha del nombre.

Definitely Typed

Hay librerías que no integran archivos de definición de tipos, pero se pueden instalar por separado. Para saber si es el caso, en los repositorios de NPM, te indica mediante un icono, que la librería dispone de tipos proporcionados por el repositorio DefinitelyTyped. Haciendo click en el icono, nos lleva al paquete que debemos instalar adicionalmente.

Librerías sin soporte (antiguas)

Por último, si no existen tipos para una librería, y además esta no utiliza módulos (export), sino que crea funciones o variables globales por ejemplo. Debemos indicar a TypeScript que la función, variable, clase, etc. que queremos usar existe (y de paso tiparla) con la instrucción declare.

No debemos implementar nada, solo declarar los nombres de las variables y el encabezado de las funciones (con tipos).

// funciones y variables globales que crea la librería
declare function funcionLibreria(param1: string, param2: number): string;
declare let array: string[];

// Ya las podemos utilizar
console.log(funcionLibreria("Hola", 23));
array.push("Valor");

<< Gestión del DOM