Skip to content

Commit

Permalink
Исправлена генерация иконок если в COMPONENT_SET один вариант
Browse files Browse the repository at this point in the history
  • Loading branch information
timbaev committed Sep 20, 2023
1 parent 17a5095 commit 7bf137a
Show file tree
Hide file tree
Showing 8 changed files with 26 additions and 14 deletions.
5 changes: 1 addition & 4 deletions Sources/FigmaGen/Models/Images/ImageComponentSetAsset.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,5 @@ struct ImageComponentSetAsset: Encodable, Hashable {
let name: String
let parentName: String?
let assets: [ImageRenderedNode: ImageAsset]

var isSingleComponent: Bool {
assets.count == 1
}
let nodeType: ImageNodeType
}
3 changes: 3 additions & 0 deletions Sources/FigmaGen/Models/Images/ImageComponentSetNode.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,21 @@ struct ImageComponentSetNode: Encodable, Hashable {
let name: String
let parentName: String?
let components: [ImageNode]
let type: ImageNodeType

// MARK: - Initializers

init(name: String, parentName: String?, components: [ImageNode]) {
self.name = name
self.parentName = parentName
self.components = components
self.type = .componentSet
}

init(name: String, parentName: String?, component: ImageNode) {
self.name = name
self.parentName = parentName
self.components = [component]
self.type = .component
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,5 @@ struct ImageComponentSetRenderedNode: Encodable, Hashable {
let name: String
let parentName: String?
let components: [ImageRenderedNode]

var isSingleComponent: Bool {
components.count == 1
}
let type: ImageNodeType
}
9 changes: 9 additions & 0 deletions Sources/FigmaGen/Models/Images/ImageNodeType.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import Foundation

enum ImageNodeType: Encodable, Hashable {

// MARK: - Enumeration Cases

case component
case componentSet
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ final class DefaultImageAssetsProvider: ImageAssetsProvider, ImagesFolderPathRes
setNode: ImageComponentSetRenderedNode,
namingStyle: ImageNamingStyle
) -> String {
let name = setNode.isSingleComponent ? node.base.name : "\(setNode.name) \(node.base.name)"
let name = setNode.type == .component ? node.base.name : "\(setNode.name) \(node.base.name)"

switch namingStyle {
case .camelCase:
Expand Down Expand Up @@ -85,7 +85,8 @@ final class DefaultImageAssetsProvider: ImageAssetsProvider, ImagesFolderPathRes
return ImageComponentSetAsset(
name: setNode.name,
parentName: setNode.parentName,
assets: assets
assets: assets,
nodeType: setNode.type
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ extension ImagesFolderPathResolving {
groupByFrame: groupByFrame,
groupByComponentSet: groupByComponentSet,
parentNodeName: setNode.parentName,
isSingleComponent: setNode.isSingleComponent,
isSingleComponent: setNode.type == .component,
nodeName: setNode.name,
folderPath: folderPath
)
Expand All @@ -66,7 +66,7 @@ extension ImagesFolderPathResolving {
groupByFrame: groupByFrame,
groupByComponentSet: groupByComponentSet,
parentNodeName: setAsset.parentName,
isSingleComponent: setAsset.isSingleComponent,
isSingleComponent: setAsset.nodeType == .component,
nodeName: setAsset.name,
folderPath: folderPath
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,12 @@ final class DefaultImageRenderProvider: ImageRenderProvider {
return ImageRenderedNode(base: imageNode, urls: nodeImageURLs)
}

return ImageComponentSetRenderedNode(name: node.name, parentName: node.parentName, components: renderedNodes)
return ImageComponentSetRenderedNode(
name: node.name,
parentName: node.parentName,
components: renderedNodes,
type: node.type
)
}

private func renderImages(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ final class DefaultImageResourcesProvider: ImageResourcesProvider, ImagesFolderP
setNode: ImageComponentSetRenderedNode,
namingStyle: ImageNamingStyle
) -> String {
let fileName = setNode.isSingleComponent ? node.base.name : "\(setNode.name) \(node.base.name)"
let fileName = setNode.type == .component ? node.base.name : "\(setNode.name) \(node.base.name)"

switch namingStyle {
case .camelCase:
Expand Down

0 comments on commit 7bf137a

Please sign in to comment.