Skip to content

Commit 74bcb2c

Browse files
authored
Merge pull request #51 from hhru/FIX-SINGLE-COMPONENT-SET
Исправлена генерация иконок если в COMPONENT_SET один вариант
2 parents 17a5095 + 7bf137a commit 74bcb2c

File tree

8 files changed

+26
-14
lines changed

8 files changed

+26
-14
lines changed

Sources/FigmaGen/Models/Images/ImageComponentSetAsset.swift

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,5 @@ struct ImageComponentSetAsset: Encodable, Hashable {
77
let name: String
88
let parentName: String?
99
let assets: [ImageRenderedNode: ImageAsset]
10-
11-
var isSingleComponent: Bool {
12-
assets.count == 1
13-
}
10+
let nodeType: ImageNodeType
1411
}

Sources/FigmaGen/Models/Images/ImageComponentSetNode.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,21 @@ struct ImageComponentSetNode: Encodable, Hashable {
77
let name: String
88
let parentName: String?
99
let components: [ImageNode]
10+
let type: ImageNodeType
1011

1112
// MARK: - Initializers
1213

1314
init(name: String, parentName: String?, components: [ImageNode]) {
1415
self.name = name
1516
self.parentName = parentName
1617
self.components = components
18+
self.type = .componentSet
1719
}
1820

1921
init(name: String, parentName: String?, component: ImageNode) {
2022
self.name = name
2123
self.parentName = parentName
2224
self.components = [component]
25+
self.type = .component
2326
}
2427
}

Sources/FigmaGen/Models/Images/ImageComponentSetRenderedNode.swift

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,5 @@ struct ImageComponentSetRenderedNode: Encodable, Hashable {
77
let name: String
88
let parentName: String?
99
let components: [ImageRenderedNode]
10-
11-
var isSingleComponent: Bool {
12-
components.count == 1
13-
}
10+
let type: ImageNodeType
1411
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import Foundation
2+
3+
enum ImageNodeType: Encodable, Hashable {
4+
5+
// MARK: - Enumeration Cases
6+
7+
case component
8+
case componentSet
9+
}

Sources/FigmaGen/Providers/Images/Assets/DefaultImageAssetsProvider.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ final class DefaultImageAssetsProvider: ImageAssetsProvider, ImagesFolderPathRes
2424
setNode: ImageComponentSetRenderedNode,
2525
namingStyle: ImageNamingStyle
2626
) -> String {
27-
let name = setNode.isSingleComponent ? node.base.name : "\(setNode.name) \(node.base.name)"
27+
let name = setNode.type == .component ? node.base.name : "\(setNode.name) \(node.base.name)"
2828

2929
switch namingStyle {
3030
case .camelCase:
@@ -85,7 +85,8 @@ final class DefaultImageAssetsProvider: ImageAssetsProvider, ImagesFolderPathRes
8585
return ImageComponentSetAsset(
8686
name: setNode.name,
8787
parentName: setNode.parentName,
88-
assets: assets
88+
assets: assets,
89+
nodeType: setNode.type
8990
)
9091
}
9192
}

Sources/FigmaGen/Providers/Images/ImagesFolderPathResolving.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ extension ImagesFolderPathResolving {
5050
groupByFrame: groupByFrame,
5151
groupByComponentSet: groupByComponentSet,
5252
parentNodeName: setNode.parentName,
53-
isSingleComponent: setNode.isSingleComponent,
53+
isSingleComponent: setNode.type == .component,
5454
nodeName: setNode.name,
5555
folderPath: folderPath
5656
)
@@ -66,7 +66,7 @@ extension ImagesFolderPathResolving {
6666
groupByFrame: groupByFrame,
6767
groupByComponentSet: groupByComponentSet,
6868
parentNodeName: setAsset.parentName,
69-
isSingleComponent: setAsset.isSingleComponent,
69+
isSingleComponent: setAsset.nodeType == .component,
7070
nodeName: setAsset.name,
7171
folderPath: folderPath
7272
)

Sources/FigmaGen/Providers/Images/Render/DefaultImageRenderProvider.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,12 @@ final class DefaultImageRenderProvider: ImageRenderProvider {
5151
return ImageRenderedNode(base: imageNode, urls: nodeImageURLs)
5252
}
5353

54-
return ImageComponentSetRenderedNode(name: node.name, parentName: node.parentName, components: renderedNodes)
54+
return ImageComponentSetRenderedNode(
55+
name: node.name,
56+
parentName: node.parentName,
57+
components: renderedNodes,
58+
type: node.type
59+
)
5560
}
5661

5762
private func renderImages(

Sources/FigmaGen/Providers/Images/Resources/DefaultImageResourcesProvider.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ final class DefaultImageResourcesProvider: ImageResourcesProvider, ImagesFolderP
2424
setNode: ImageComponentSetRenderedNode,
2525
namingStyle: ImageNamingStyle
2626
) -> String {
27-
let fileName = setNode.isSingleComponent ? node.base.name : "\(setNode.name) \(node.base.name)"
27+
let fileName = setNode.type == .component ? node.base.name : "\(setNode.name) \(node.base.name)"
2828

2929
switch namingStyle {
3030
case .camelCase:

0 commit comments

Comments
 (0)