// // ParsedImage.swift // // // Created by Thibaut Schmitt on 24/01/2022. // import Foundation struct ParsedImage { let name: String let tags: String let width: Int let height: Int // MARK: - Convert var convertArguments: (x1: ConvertArgument, x2: ConvertArgument, x3: ConvertArgument) { var width1x = "" var height1x = "" var width2x = "" var height2x = "" var width3x = "" var height3x = "" if width != -1 { width1x = "\(width)" width2x = "\(width * 2)" width3x = "\(width * 3)" } if height != -1 { height1x = "\(height)" height2x = "\(height * 2)" height3x = "\(height * 3)" } return (x1: ConvertArgument(width: width1x, height: height1x), x2: ConvertArgument(width: width2x, height: height2x), x3: ConvertArgument(width: width3x, height: height3x)) } // MARK: - Assets var contentJson: String? { let encoder = JSONEncoder() encoder.outputFormatting = .prettyPrinted 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: AssetContent { return AssetContent( images: [ AssetImageDescription( idiom: "universal", scale: "1x", filename: "\(name).\(XcassetsGenerator.outputImageExtension)" ), AssetImageDescription( idiom: "universal", scale: "2x", filename: "\(name)@2x.\(XcassetsGenerator.outputImageExtension)" ), AssetImageDescription( idiom: "universal", scale: "3x", filename: "\(name)@3x.\(XcassetsGenerator.outputImageExtension)" ) ], info: AssetInfo( version: 1, author: "ResgenSwift-Imagium" ) ) } // MARK: - Extension property func getImageProperty(isStatic: Bool, isSwiftUI: Bool) -> String { if isSwiftUI { return """ \(isStatic ? "static ": "")var \(name): Image { Image("\(name)") } """ } return """ \(isStatic ? "static ": "")var \(name): UIImage { UIImage(named: "\(name)")! } """ } }