Replaced the "showGames" and "showUsage" flags in the AmiiboFilter filter with an enumeration.

This commit is contained in:
Javier Cicchelli 2023-04-21 13:37:59 +02:00
parent 55f1b4824e
commit 7d0e0e8f64

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 {