From 2dbf805870e28ab0c8c937b9dc988a5ad97f9fd8 Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Thu, 20 Apr 2023 00:14:37 +0200 Subject: [PATCH] Implemented the Result model. --- Sources/Models/Result.swift | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Sources/Models/Result.swift 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)] + } + } + +}