diff --git a/Sources/Models/Result.swift b/Sources/Models/Result.swift new file mode 100644 index 0000000..5ccf57e --- /dev/null +++ b/Sources/Models/Result.swift @@ -0,0 +1,27 @@ +struct Result { + let items: [Model] +} + +// MARK: - Decodable + +extension Result: Decodable { + + // MARK: Enumerations + + enum CodingKeys: String, CodingKey { + case items = "amiibo" + } + + // MARK: Initialisers + + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + + do { + self.items = try container.decode([Model].self, forKey: .items) + } catch { + self.items = [try container.decode(Model.self, forKey: .items)] + } + } + +}