From 636584ca45c8322d6772cb7cda8259f03ab2e5ee Mon Sep 17 00:00:00 2001 From: Quentin Bandera Date: Fri, 19 Apr 2024 15:24:56 +0200 Subject: [PATCH] Prise en compte des premiers retorus --- .../Images/Model/ImageContent.swift | 20 ++++++++----------- .../Images/Model/ParsedImage.swift | 18 ++++++++++------- .../Images/ParsedImageTests.swift | 10 +++++----- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Sources/ResgenSwift/Images/Model/ImageContent.swift b/Sources/ResgenSwift/Images/Model/ImageContent.swift index 529bd3a..55847d8 100644 --- a/Sources/ResgenSwift/Images/Model/ImageContent.swift +++ b/Sources/ResgenSwift/Images/Model/ImageContent.swift @@ -7,30 +7,26 @@ import Foundation -struct ImageContent: Codable, Equatable { - let images: [Image] - let info: Info +struct AssetContent: Codable, Equatable { + let images: [AssetImageDescription] + let info: AssetInfo - static func == (lhs: ImageContent, rhs: ImageContent) -> Bool { - let lhsImagesCount = lhs.images.count + static func == (lhs: AssetContent, rhs: AssetContent) -> Bool { + guard lhs.images.count == rhs.images.count else { return false } let lhsImages = lhs.images.sorted(by: { $0.scale < $1.scale }) - let lhsInfo = lhs.info - - let rhsImagesCount = rhs.images.count let rhsImages = rhs.images.sorted(by: { $0.scale < $1.scale }) - let rhsInfo = rhs.info - return lhsImagesCount == rhsImagesCount && lhsImages == rhsImages && lhsInfo == rhsInfo + return lhsImages == rhsImages } } -struct Image: Codable, Equatable { +struct AssetImageDescription: Codable, Equatable { let idiom: String let scale: String let filename: String } -struct Info: Codable, Equatable { +struct AssetInfo: Codable, Equatable { let version: Int let author: String } diff --git a/Sources/ResgenSwift/Images/Model/ParsedImage.swift b/Sources/ResgenSwift/Images/Model/ParsedImage.swift index 9f72c3b..096c5c0 100644 --- a/Sources/ResgenSwift/Images/Model/ParsedImage.swift +++ b/Sources/ResgenSwift/Images/Model/ParsedImage.swift @@ -46,31 +46,35 @@ struct ParsedImage { let encoder = JSONEncoder() encoder.outputFormatting = .prettyPrinted - guard let data = try? encoder.encode(imageContent) else { return nil } + guard let data = try? encoder.encode(imageContent) else { + let error = ImagesError.writeFile("Contents.json", "Error encoding json file") + print(error.description) + Images.exit(withError: error) + } return String(data: data, encoding: .utf8) } - var imageContent: ImageContent { - return ImageContent( + var imageContent: AssetContent { + return AssetContent( images: [ - Image( + AssetImageDescription( idiom: "universal", scale: "1x", filename: "\(name).\(XcassetsGenerator.outputImageExtension)" ), - Image( + AssetImageDescription( idiom: "universal", scale: "2x", filename: "\(name)@2x.\(XcassetsGenerator.outputImageExtension)" ), - Image( + AssetImageDescription( idiom: "universal", scale: "3x", filename: "\(name)@3x.\(XcassetsGenerator.outputImageExtension)" ) ], - info: Info( + info: AssetInfo( version: 1, author: "ResgenSwift-Imagium" ) diff --git a/Tests/ResgenSwiftTests/Images/ParsedImageTests.swift b/Tests/ResgenSwiftTests/Images/ParsedImageTests.swift index fca593d..0fea3d8 100644 --- a/Tests/ResgenSwiftTests/Images/ParsedImageTests.swift +++ b/Tests/ResgenSwiftTests/Images/ParsedImageTests.swift @@ -130,25 +130,25 @@ final class ParsedImageTests: XCTestCase { let property = parsedImage.imageContent // Expect - let expect = ImageContent( + let expect = AssetContent( images: [ - Image( + AssetImageDescription( idiom: "universal", scale: "1x", filename: "\(parsedImage.name).\(XcassetsGenerator.outputImageExtension)" ), - Image( + AssetImageDescription( idiom: "universal", scale: "2x", filename: "\(parsedImage.name)@2x.\(XcassetsGenerator.outputImageExtension)" ), - Image( + AssetImageDescription( idiom: "universal", scale: "3x", filename: "\(parsedImage.name)@3x.\(XcassetsGenerator.outputImageExtension)" ) ], - info: Info( + info: AssetInfo( version: 1, author: "ResgenSwift-Imagium" )