Skip to content

Commit

Permalink
Format code
Browse files Browse the repository at this point in the history
  • Loading branch information
inderdhir committed Jul 8, 2024
1 parent 4747967 commit 590c29c
Show file tree
Hide file tree
Showing 10 changed files with 46 additions and 46 deletions.
4 changes: 2 additions & 2 deletions DatWeatherDoe/API/Response/AirQuality.swift
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// AirQualityIndex.swift
// AirQuality.swift
// DatWeatherDoe
//
// Created by Inder Dhir on 7/1/24.
Expand All @@ -16,7 +16,7 @@ enum AirQualityIndex: Int, Decodable {
case unhealthy = 4
case veryUnhealthy = 5
case hazardous = 6

var description: String {
switch self {
case .good:
Expand Down
32 changes: 16 additions & 16 deletions DatWeatherDoe/API/Response/WeatherAPIResponse.swift
Original file line number Diff line number Diff line change
Expand Up @@ -18,61 +18,61 @@ struct WeatherAPIResponse: Decodable {
let uvIndex: Double
let forecastDayData: ForecastDayData
let airQualityIndex: AirQualityIndex

private enum RootKeys: String, CodingKey {
case location, current, forecast
}

private enum LocationKeys: String, CodingKey {
case name
}

private enum CurrentKeys: String, CodingKey {
case isDay = "is_day"
case condition, humidity
case airQuality = "air_quality"
case uvIndex = "uv"
}

private enum WeatherConditionKeys: String, CodingKey {
case code
}

private enum ForecastKeys: String, CodingKey {
case forecastDay = "forecastday"
}

private enum ForecastDayKeys: String, CodingKey {
case day, astro
}

private enum AirQualityKeys: String, CodingKey {
case usEpaIndex = "us-epa-index"
}

init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: RootKeys.self)

let locationContainer = try container.nestedContainer(keyedBy: LocationKeys.self, forKey: .location)
locationName = try locationContainer.decode(String.self, forKey: .name)
temperatureData = try container.decode(TemperatureData.self, forKey: .current)

let currentContainer = try container.nestedContainer(keyedBy: CurrentKeys.self, forKey: .current)
let isDayInt = try currentContainer.decode(Int.self, forKey: .isDay)
isDay = isDayInt > 0

let weatherConditionContainer = try currentContainer.nestedContainer(
keyedBy: WeatherConditionKeys.self,
forKey: .condition
)
weatherConditionCode = try weatherConditionContainer.decode(Int.self, forKey: .code)

humidity = try currentContainer.decode(Int.self, forKey: .humidity)

windData = try container.decode(WindData.self, forKey: .current)

uvIndex = try currentContainer.decode(Double.self, forKey: .uvIndex)

let forecast = try container.decode(Forecast.self, forKey: .forecast)
if let dayData = forecast.dayDataArr.first {
forecastDayData = dayData
Expand All @@ -83,11 +83,11 @@ struct WeatherAPIResponse: Decodable {
debugDescription: "Missing forecast day data"
)
}

let airQualityContainer = try currentContainer.nestedContainer(keyedBy: AirQualityKeys.self, forKey: .airQuality)
airQualityIndex = try airQualityContainer.decode(AirQualityIndex.self, forKey: .usEpaIndex)
}

init(
locationName: String,
temperatureData: TemperatureData,
Expand Down
4 changes: 2 additions & 2 deletions DatWeatherDoe/Config/ConfigManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ protocol ConfigManagerType: AnyObject {

func updateWeatherSource(_ source: WeatherSource, sourceText: String)
func setConfigOptions(_ options: ConfigOptions)

var parsedMeasurementUnit: MeasurementUnit { get }
}

Expand Down Expand Up @@ -80,7 +80,7 @@ final class ConfigManager: ConfigManagerType {
valueSeparator = options.valueSeparator
isWeatherConditionAsTextEnabled = options.isWeatherConditionAsTextEnabled
}

var parsedMeasurementUnit: MeasurementUnit {
MeasurementUnit(rawValue: measurementUnit) ?? .imperial
}
Expand Down
4 changes: 2 additions & 2 deletions DatWeatherDoe/UI/Decorator/Condition/WeatherCondition.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ enum WeatherCondition {
static func getFallback(isDay: Bool) -> WeatherCondition {
isDay ? .sunny : .clearNight
}

var symbolName: String {
switch self {
case .cloudy:
Expand All @@ -45,7 +45,7 @@ enum WeatherCondition {
"cloud.fog"
}
}

var accessibilityLabel: String {
switch self {
case .cloudy:
Expand Down
4 changes: 2 additions & 2 deletions DatWeatherDoe/UI/Menu Bar/DropdownIcon.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ enum DropdownIcon {
case sun
case wind
case uvIndexAndAirQualityText

var symbolName: String {
switch self {
case .location:
Expand All @@ -28,7 +28,7 @@ enum DropdownIcon {
"sun.max.circle"
}
}

var accessibilityLabel: String {
switch self {
case .location:
Expand Down
32 changes: 16 additions & 16 deletions DatWeatherDoe/UI/Status Bar/StatusBarView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import SwiftUI

struct StatusBarView: View {
let weatherResult: Result<WeatherData, Error>?

var body: some View {
if let weatherResult {
switch weatherResult {
Expand All @@ -33,22 +33,22 @@ struct StatusBarView: View {
}

#if DEBUG
#Preview {
StatusBarView(
weatherResult: .success(
.init(
showWeatherIcon: true,
textualRepresentation: "88",
weatherCondition: .cloudy,
response: response
#Preview {
StatusBarView(
weatherResult: .success(
.init(
showWeatherIcon: true,
textualRepresentation: "88",
weatherCondition: .cloudy,
response: response
)
)
)
)
.frame(width: 100, height: 50)
}

#Preview {
StatusBarView(weatherResult: .failure(WeatherError.latLongIncorrect))
.frame(width: 100, height: 50)
}
}

#Preview {
StatusBarView(weatherResult: .failure(WeatherError.latLongIncorrect))
.frame(width: 100, height: 50)
}
#endif
2 changes: 1 addition & 1 deletion DatWeatherDoe/ViewModel/Repository/WeatherURLBuilder.swift
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ final class WeatherURLBuilder: WeatherURLBuilderType {
}
return finalUrl
}

private var parsedDateToday: String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
Expand Down
6 changes: 3 additions & 3 deletions DatWeatherDoe/ViewModel/WeatherDataFormatter.swift
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// WeatherDataParser.swift
// WeatherDataFormatter.swift
// DatWeatherDoe
//
// Created by Inder Dhir on 6/24/24.
Expand Down Expand Up @@ -36,7 +36,7 @@ final class WeatherDataFormatter: WeatherDataFormatterType {
temperatureData: data.response.temperatureData,
forecastTemperatureData: data.response.forecastDayData.temp,
options: .init(
unit: configManager.parsedMeasurementUnit.temperatureUnit,
unit: configManager.parsedMeasurementUnit.temperatureUnit,
isRoundingOff: configManager.isRoundingOffData,
isUnitLetterOff: configManager.isUnitLetterOff,
isUnitSymbolOff: configManager.isUnitSymbolOff
Expand Down Expand Up @@ -66,7 +66,7 @@ final class WeatherDataFormatter: WeatherDataFormatterType {
)
}
}

func getUVIndexAndAirQuality(for data: WeatherData) -> String {
let uvIndex = "UV Index: \(data.response.uvIndex)"
let airQualityIndex = "AQI: \(data.response.airQualityIndex.description)"
Expand Down
2 changes: 1 addition & 1 deletion DatWeatherDoe/ViewModel/WeatherViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ final class WeatherViewModel: WeatherViewModelType, ObservableObject {
weatherTask?.cancel()
}
}

func setup(with formatter: WeatherDataFormatter) {
dataFormatter = formatter
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ final class WeatherURLBuilderTests: XCTestCase {
"https://api.weatherapi.com/v1/forecast.json?key=123456&aqi=no&q=42.0,42.0&dt=\(parsedDateToday)"
)
}

private var parsedDateToday: String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
Expand Down

0 comments on commit 590c29c

Please sign in to comment.