[Library] iTunes library #5
38
Libraries/iTunes/Kit/Models/Feed.swift
Normal file
38
Libraries/iTunes/Kit/Models/Feed.swift
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
//
|
||||||
|
// Feed.swift
|
||||||
|
// ReviewsiTunesKit
|
||||||
|
//
|
||||||
|
// Created by Javier Cicchelli on 17/03/2024.
|
||||||
|
// Copyright © 2024 Röck+Cöde VoF. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
import ReviewsFeedKit
|
||||||
|
|
||||||
|
struct Feed {
|
||||||
|
|
||||||
|
// MARK: Constants
|
||||||
|
let entries: [Review]
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: - Decodable
|
||||||
|
extension Feed: Decodable {
|
||||||
|
|
||||||
|
// MARK: Enumerations
|
||||||
|
enum FeedKeys: String, CodingKey {
|
||||||
|
case feed
|
||||||
|
}
|
||||||
|
|
||||||
|
enum EntryKeys: String, CodingKey {
|
||||||
|
case entry
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: Initialisers
|
||||||
|
init(from decoder: any Decoder) throws {
|
||||||
|
let feed = try decoder.container(keyedBy: FeedKeys.self)
|
||||||
|
let feedEntry = try feed.nestedContainer(keyedBy: EntryKeys.self, forKey: .feed)
|
||||||
|
|
||||||
|
self.entries = try feedEntry.decode([Review].self, forKey: .entry)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user