Files
wtr/types/forecast.ts

73 lines
1.6 KiB
TypeScript

export interface RawForecastSeries {
time?: unknown;
temperature_2m?: unknown;
apparent_temperature?: unknown;
precipitation_probability?: unknown;
precipitation?: unknown;
weather_code?: unknown;
wind_speed_10m?: unknown;
temperature_2m_max?: unknown;
temperature_2m_min?: unknown;
precipitation_probability_max?: unknown;
precipitation_sum?: unknown;
sunrise?: unknown;
sunset?: unknown;
}
export interface RawWeatherForecast {
latitude?: unknown;
longitude?: unknown;
timezone?: unknown;
hourly?: RawForecastSeries;
daily?: RawForecastSeries;
}
export interface RawImgwForecastRow {
Date?: unknown;
Temperature?: unknown;
Chill?: unknown;
Precipitation?: unknown;
Icon?: unknown;
Wind_Speed?: unknown;
}
export interface RawImgwForecastResponse {
data?: {
Data?: unknown;
};
}
export type ForecastSource = "imgw-alaro" | "open-meteo";
export interface HourlyForecast {
time: string;
temperature: number | null;
feelsLike: number | null;
precipitationProbability: number | null;
precipitation: number | null;
weatherCode: number | null;
windSpeed: number | null;
source: ForecastSource;
}
export interface DailyForecast {
date: string;
temperatureMax: number | null;
temperatureMin: number | null;
precipitationProbability: number | null;
precipitation: number | null;
weatherCode: number | null;
sunrise: string | null;
sunset: string | null;
sources: ForecastSource[];
}
export interface WeatherForecast {
latitude: number;
longitude: number;
timezone: string;
hourly: HourlyForecast[];
daily: DailyForecast[];
sources: ForecastSource[];
}