Made the Game, Release and Usage model independent from the Amiibo model.

This commit is contained in:
Javier Cicchelli 2023-04-21 13:40:47 +02:00
parent 7d0e0e8f64
commit 102302935f
6 changed files with 47 additions and 53 deletions

View File

@ -1,17 +0,0 @@
extension Amiibo {
public struct Game {
public let identifiers: [String]
public let name: String
public let usage: [Usage]?
}
}
// MARK: - Decodable
extension Amiibo.Game: Decodable {
enum CodingKeys: String, CodingKey {
case identifiers = "gameID"
case name = "gameName"
case usage = "amiiboUsage"
}
}

View File

@ -1,21 +0,0 @@
import Foundation
extension Amiibo {
public struct Release {
public let australia: Date?
public let europe: Date?
public let japan: Date?
public let america: Date?
}
}
// MARK: - Decodable
extension Amiibo.Release: Decodable {
enum CodingKeys: String, CodingKey {
case australia = "au"
case europe = "eu"
case japan = "jp"
case america = "na"
}
}

View File

@ -1,15 +0,0 @@
extension Amiibo {
public struct Usage {
public let explanation: String
public let isWritable: Bool
}
}
// MARK: - Decodable
extension Amiibo.Usage: Decodable {
enum CodingKeys: String, CodingKey {
case explanation = "Usage"
case isWritable = "write"
}
}

15
Sources/Models/Game.swift Normal file
View File

@ -0,0 +1,15 @@
public struct Game {
public let ids: [String]
public let name: String
public let usage: [Usage]?
}
// MARK: - Decodable
extension Game: Decodable {
enum CodingKeys: String, CodingKey {
case ids = "gameID"
case name = "gameName"
case usage = "amiiboUsage"
}
}

View File

@ -0,0 +1,19 @@
import Foundation
public struct Release {
public let australia: Date?
public let europe: Date?
public let japan: Date?
public let america: Date?
}
// MARK: - Decodable
extension Release: Decodable {
enum CodingKeys: String, CodingKey {
case australia = "au"
case europe = "eu"
case japan = "jp"
case america = "na"
}
}

View File

@ -0,0 +1,13 @@
public struct Usage {
public let explanation: String
public let isWritable: Bool
}
// MARK: - Decodable
extension Usage: Decodable {
enum CodingKeys: String, CodingKey {
case explanation = "Usage"
case isWritable = "write"
}
}