usar namespace como tipo en typescript
He instalado definiciones de tipos para Google Maps que declaran un espacio de nombres así:
namespace google.maps {
export class Map {
// ...
}
// ...
}
Así que si simplemente uso la API globalmente, funciona de manera hermosa:
const map = new google.maps.Map();
Para la capacidad de prueba unitaria, no quiero acceder a la API de manera global, sino inyectarla. Pero parece que no puedo indicar que una variable debería ser del tipo google.map
Así que esto no funciona:
function mapFactory(api: google.maps) {
return new api.Map();
}
¿Alguna solución sobre cómo usar el espacio de nombres como un tipo?
Respuesta #1
Intenta :
function mapFactory(api: typeof google.maps) {
return new api.Map();
}
