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