DEVTOOLS-186 Exporter les images de resgen en svg
This commit is contained in:
@ -7,14 +7,30 @@
|
||||
|
||||
import Foundation
|
||||
|
||||
enum TemplateRenderingIntent: String, Codable {
|
||||
case template
|
||||
case original
|
||||
}
|
||||
|
||||
struct AssetContent: Codable, Equatable {
|
||||
let images: [AssetImageDescription]
|
||||
let info: AssetInfo
|
||||
let properties: AssetProperties?
|
||||
|
||||
init(
|
||||
images: [AssetImageDescription],
|
||||
info: AssetInfo,
|
||||
properties: AssetProperties? = nil
|
||||
) {
|
||||
self.images = images
|
||||
self.info = info
|
||||
self.properties = properties
|
||||
}
|
||||
|
||||
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 rhsImages = rhs.images.sorted(by: { $0.scale < $1.scale })
|
||||
let lhsImages = lhs.images.sorted(by: { $0.filename < $1.filename })
|
||||
let rhsImages = rhs.images.sorted(by: { $0.filename < $1.filename })
|
||||
|
||||
return lhsImages == rhsImages
|
||||
}
|
||||
@ -22,11 +38,39 @@ struct AssetContent: Codable, Equatable {
|
||||
|
||||
struct AssetImageDescription: Codable, Equatable {
|
||||
let idiom: String
|
||||
let scale: String
|
||||
let scale: String?
|
||||
let filename: String
|
||||
|
||||
init(
|
||||
idiom: String,
|
||||
scale: String? = nil,
|
||||
filename: String
|
||||
) {
|
||||
self.idiom = idiom
|
||||
self.scale = scale
|
||||
self.filename = filename
|
||||
}
|
||||
}
|
||||
|
||||
struct AssetInfo: Codable, Equatable {
|
||||
let version: Int
|
||||
let author: String
|
||||
}
|
||||
|
||||
struct AssetProperties: Codable, Equatable {
|
||||
let preservesVectorRepresentation: Bool
|
||||
let templateRenderingIntent: TemplateRenderingIntent?
|
||||
|
||||
init(
|
||||
preservesVectorRepresentation: Bool,
|
||||
templateRenderingIntent: TemplateRenderingIntent? = nil
|
||||
) {
|
||||
self.preservesVectorRepresentation = preservesVectorRepresentation
|
||||
self.templateRenderingIntent = templateRenderingIntent
|
||||
}
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case preservesVectorRepresentation = "preserves-vector-representation"
|
||||
case templateRenderingIntent = "template-rendering-intent"
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user