123456789101112131415161718192021222324252627282930313233 |
- import Foundation
- public struct ImageWrapper: Codable {
- public let image: Image
- public enum CodingKeys: String, CodingKey {
- case image
- }
- public init(image: Image) {
- self.image = image
- }
- public init(from decoder: Decoder) throws {
- let container = try decoder.container(keyedBy: CodingKeys.self)
- let data = try container.decode(Data.self, forKey: CodingKeys.image)
- guard let image = Image(data: data) else {
- throw StorageError.decodingFailed
- }
- self.image = image
- }
- public func encode(to encoder: Encoder) throws {
- var container = encoder.container(keyedBy: CodingKeys.self)
- guard let data = image.cache_toData() else {
- throw StorageError.encodingFailed
- }
- try container.encode(data, forKey: CodingKeys.image)
- }
- }
|