Files
Malackathon-frontend/src/helpers/OpenWeather.ts
2024-10-17 20:14:05 +02:00

37 lines
1001 B
TypeScript

import OWMResponse from "../interfaces/OWMResponse";
/**
* Wrapper para recibir los datos del clima de OpenWeatherMap
*/
export default class OpenWeather {
static async week(lat: string, lon: string): Promise<string> {
const res = await fetch('https://api.openweathermap.org/data/2.5/forecast?lat=' + lat + '&lon=' + lon + '&appid=' + import.meta.env.VITE_OWM_KEY);
if (!res.ok) {
throw new Error("API Error");
}
const json = await res.json() as OWMResponse;
let rains = 0;
json.list.forEach((el) => {
if (el.weather[0].id === 500) {
rains++;
}
});
let probability = '';
if (rains > json.list.length / 2) {
// Bien
probability = 'Sabiendo que ha llovido un total de ' + rains + ' días, podemos predecir que el caudal será alto';
} else {
// Mal
probability = 'Sabiendo que ha llovido un total de ' + rains + ' días, podemos predecir que el caudal será bajo';
}
return probability;
}
}