feat(RES-57): Add visibility to control scope of generated code (#18)
All checks were successful
gitea-openium/resgen.swift/pipeline/head This commit looks good

Add visibility parameter: public, package, internal, private
Impacted command: analytics, colors, fonts, images, strings, tags

Reviewed-on: #18
This commit is contained in:
2025-07-21 16:56:05 +02:00
parent beca2c6b2b
commit 5ad219ae89
62 changed files with 1526 additions and 794 deletions

View File

@@ -18,7 +18,8 @@ enum ImageExtensionGenerator {
inputFilename: String,
extensionName: String,
extensionFilePath: String,
isSwiftUI: Bool
isSwiftUI: Bool,
visibility: ExtensionVisibility
) {
// Create extension conten1t
let extensionContent = Self.getExtensionContent(
@@ -26,7 +27,8 @@ enum ImageExtensionGenerator {
staticVar: staticVar,
extensionName: extensionName,
inputFilename: inputFilename,
isSwiftUI: isSwiftUI
isSwiftUI: isSwiftUI,
visibility: visibility
)
// Write content
@@ -45,11 +47,21 @@ enum ImageExtensionGenerator {
staticVar: Bool,
extensionName: String,
inputFilename: String,
isSwiftUI: Bool
isSwiftUI: Bool,
visibility: ExtensionVisibility
) -> String {
[
Self.getHeader(inputFilename: inputFilename, extensionClassname: extensionName, isSwiftUI: isSwiftUI),
Self.getProperties(images: images, staticVar: staticVar, isSwiftUI: isSwiftUI),
Self.getHeader(
inputFilename: inputFilename,
extensionClassname: extensionName,
isSwiftUI: isSwiftUI
),
Self.getProperties(
images: images,
staticVar: staticVar,
isSwiftUI: isSwiftUI,
visibility: visibility
),
Self.getFooter()
]
.joined(separator: "\n")
@@ -73,10 +85,13 @@ enum ImageExtensionGenerator {
private static func getProperties(
images: [ParsedImage],
staticVar: Bool,
isSwiftUI: Bool
isSwiftUI: Bool,
visibility: ExtensionVisibility
) -> String {
images
.map { "\n\($0.getImageProperty(isStatic: staticVar, isSwiftUI: isSwiftUI))" }
.map {
"\n\($0.getImageProperty(isStatic: staticVar, isSwiftUI: isSwiftUI, visibility: visibility))"
}
.joined(separator: "\n")
}