97 lines
2.5 KiB
Swift
97 lines
2.5 KiB
Swift
//
|
|
// 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 { return nil }
|
|
|
|
return String(data: data, encoding: .utf8)
|
|
}
|
|
|
|
var imageContent: ImageContent {
|
|
return ImageContent(
|
|
images: [
|
|
Image(
|
|
idiom: "universal",
|
|
scale: "1x",
|
|
filename: "\(name).\(XcassetsGenerator.outputImageExtension)"
|
|
),
|
|
Image(
|
|
idiom: "universal",
|
|
scale: "2x",
|
|
filename: "\(name)@2x.\(XcassetsGenerator.outputImageExtension)"
|
|
),
|
|
Image(
|
|
idiom: "universal",
|
|
scale: "3x",
|
|
filename: "\(name)@3x.\(XcassetsGenerator.outputImageExtension)"
|
|
)
|
|
],
|
|
info: Info(
|
|
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)")!
|
|
}
|
|
"""
|
|
}
|
|
}
|