[Feature] Service #4

Merged
javier merged 13 commits from feature/service into main 2023-04-21 18:16:38 +00:00
Showing only changes of commit 7d0e0e8f64 - Show all commits

View File

@ -10,8 +10,7 @@ public struct AmiiboFilter {
private let gameSeries: String? private let gameSeries: String?
private let amiiboSeries: String? private let amiiboSeries: String?
private let character: String? private let character: String?
private let showGames: Bool private let showExtras: ShowExtras
private let showUsage: Bool
// MARK: Initialisers // MARK: Initialisers
@ -24,8 +23,7 @@ public struct AmiiboFilter {
gameSeries: String? = nil, gameSeries: String? = nil,
amiiboSeries: String? = nil, amiiboSeries: String? = nil,
character: String? = nil, character: String? = nil,
showGames: Bool = false, showExtras: ShowExtras = .none
showUsage: Bool = false
) { ) {
self.id = id self.id = id
self.head = head self.head = head
@ -35,8 +33,7 @@ public struct AmiiboFilter {
self.gameSeries = gameSeries self.gameSeries = gameSeries
self.amiiboSeries = amiiboSeries self.amiiboSeries = amiiboSeries
self.character = character self.character = character
self.showGames = showGames self.showExtras = showExtras
self.showUsage = showUsage
} }
} }
@ -82,19 +79,28 @@ extension AmiiboFilter: Filter {
parameters[.Key.character] = character parameters[.Key.character] = character
} }
if showGames { switch showExtras {
case .games:
parameters[.Key.showGames] = nil parameters[.Key.showGames] = nil
} case .usage:
if showUsage {
parameters[.Key.showUsage] = nil parameters[.Key.showUsage] = nil
default:
break
} }
return parameters return parameters
} }
} }
// MARK: - Enumerations
public enum ShowExtras {
case none
case games
case usage
}
// MARK: - String+Key // MARK: - String+Key
private extension String { private extension String {