39 lines
792 B
Swift
39 lines
792 B
Swift
//
|
|
// 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)
|
|
}
|
|
|
|
}
|