|
| 1 | +package com.openmeteo.apix.common.weather |
| 2 | + |
| 3 | +import kotlinx.serialization.Serializable |
| 4 | + |
| 5 | +/** |
| 6 | + * A list of "wmo code"s, following [the official docs](https://open-meteo.com/en/docs#api_form) |
| 7 | + */ |
| 8 | +@Serializable(with = WeatherCodeSerializer::class) |
| 9 | +enum class WeatherCode(val code: Short, val message: String) { |
| 10 | + UNKNOWN(-1, "Unknown"), // fallback |
| 11 | + CLEAR_SKY(0, "Clear sky"), |
| 12 | + MAINLY_CLEAR(1, "Mainly clear"), |
| 13 | + PARTLY_CLOUDY(2, "Partly cloudy"), |
| 14 | + OVERCAST(3, "Overcast"), |
| 15 | + FOG(45, "Fog"), |
| 16 | + DEPOSITING_RIME_FOG(48, "Depositing rime fog"), |
| 17 | + DRIZZLE_LIGHT(51, "Light intensity drizzle"), |
| 18 | + DRIZZLE_MODERATE(53, "Moderate intensity drizzle"), |
| 19 | + DRIZZLE_DENSE(55, "Dense intensity drizzle"), |
| 20 | + FREEZING_DRIZZLE_LIGHT(56, "Light intensity freezing drizzle"), |
| 21 | + FREEZING_DRIZZLE_DENSE(57, "Dense intensity freezing drizzle"), |
| 22 | + RAIN_SLIGHT(61, "Slight intensity rain"), |
| 23 | + RAIN_MODERATE(63, "Moderate intensity rain"), |
| 24 | + RAIN_HEAVY(65, "Heavy intensity rain"), |
| 25 | + FREEZING_RAIN_LIGHT(66, "Light intensity freezing rain"), |
| 26 | + FREEZING_RAIN_HEAVY(67, "Dense intensity freezing rain"), |
| 27 | + SNOW_FALL_SLIGHT(71, "Slight intensity snow fall"), |
| 28 | + SNOW_FALL_MODERATE(73, "Moderate intensity snow fall"), |
| 29 | + SNOW_FALL_HEAVY(75, "Heavy intensity snow fall"), |
| 30 | + SNOW_GRAINS(77, "Snow grains"), |
| 31 | + RAIN_SHOWERS_SLIGHT(80, "Slight rain showers"), |
| 32 | + RAIN_SHOWERS_MODERATE(81, "Moderate rain showers"), |
| 33 | + RAIN_SHOWERS_VIOLENT(82, "Violent rain showers"), |
| 34 | + SNOW_SHOWERS_SLIGHT(85, "Slight snow showers"), |
| 35 | + SNOW_SHOWERS_HEAVY(86, "Heavy snow showers"), |
| 36 | + THUNDERSTORM_SLIGHT(95, "Slight or moderate thunderstorm"), |
| 37 | + THUNDERSTORM_SLIGHT_HAIL(96, "Thunderstorm with slight hail"), |
| 38 | + THUNDERSTORM_HEAVY_HAIL(99, "Thunderstorm with heavy hail"); |
| 39 | + |
| 40 | + override fun toString(): String = message |
| 41 | +} |
0 commit comments