56 lines
1.8 KiB
Swift
56 lines
1.8 KiB
Swift
import Foundation
|
|
|
|
public struct Forecast: Sendable, Hashable {
|
|
public let dewPoint: Double
|
|
public let futureForecasts: [DateOnly: DailyForecast]
|
|
public let humidity: Int
|
|
public let latitude: Double
|
|
public let longitude: Double
|
|
public let sunrise: Date
|
|
public let sunset: Date
|
|
public let surfacePressure: Double
|
|
public let temperature: Double
|
|
public let timeZone: TimeZone
|
|
public let uvIndex: Double
|
|
public let visibility: Double
|
|
public let weatherCode: WeatherCode
|
|
public let windDirection: Int
|
|
public let windGusts: Double
|
|
public let windSpeed: Double
|
|
|
|
public init(dewPoint: Double,
|
|
futureForecasts: [DateOnly: DailyForecast] = [:],
|
|
humidity: Int,
|
|
latitude: Double,
|
|
longitude: Double,
|
|
sunrise: Date,
|
|
sunset: Date,
|
|
surfacePressure: Double,
|
|
temperature: Double,
|
|
timeZone: TimeZone,
|
|
uvIndex: Double,
|
|
visibility: Double,
|
|
weatherCode: WeatherCode,
|
|
windDirection: Int,
|
|
windGusts: Double,
|
|
windSpeed: Double
|
|
) {
|
|
self.dewPoint = dewPoint
|
|
self.futureForecasts = futureForecasts
|
|
self.humidity = humidity
|
|
self.latitude = latitude
|
|
self.longitude = longitude
|
|
self.sunrise = sunrise
|
|
self.sunset = sunset
|
|
self.surfacePressure = surfacePressure
|
|
self.temperature = temperature
|
|
self.timeZone = timeZone
|
|
self.uvIndex = uvIndex
|
|
self.visibility = visibility
|
|
self.weatherCode = weatherCode
|
|
self.windDirection = windDirection
|
|
self.windGusts = windGusts
|
|
self.windSpeed = windSpeed
|
|
}
|
|
}
|