diff --git a/.swiftpm/xcode/xcshareddata/xcschemes/ResgenSwift.xcscheme b/.swiftpm/xcode/xcshareddata/xcschemes/ResgenSwift.xcscheme index 9b1dd24..354d5d2 100644 --- a/.swiftpm/xcode/xcshareddata/xcschemes/ResgenSwift.xcscheme +++ b/.swiftpm/xcode/xcshareddata/xcschemes/ResgenSwift.xcscheme @@ -102,6 +102,20 @@ ReferencedContainer = "container:"> + + + + + + + + String { + " static let \(property) = \(classname)()" + } + + func getClass() -> String { + guard children?.isEmpty == false else { + return "class \(classname) {}" + } + + let classDefinition = [ + "class \(classname) {", + children?.map { $0.getProperty() }.joined(separator: "\n"), + "}" + ] + .compactMap { $0 } + .joined(separator: "\n") + + return [classDefinition, "", getSubclass()] + .compactMap { $0 } + .joined(separator: "\n") + } + + func getSubclass() -> String? { + guard let children else { return nil } + return children.compactMap { arch in + arch.getClass() + } + .joined(separator: "\n\n") + } +} struct ColorsConfiguration: Codable, CustomDebugStringConvertible { let inputFile: String @@ -267,4 +304,3 @@ struct TagsConfiguration: Codable, CustomDebugStringConvertible { """ } } - diff --git a/Sources/ToolCore/Version.swift b/Sources/ToolCore/Version.swift index 11adb0e..b850b78 100644 --- a/Sources/ToolCore/Version.swift +++ b/Sources/ToolCore/Version.swift @@ -7,4 +7,4 @@ import Foundation -public let ResgenSwiftVersion = "1.1" +public let ResgenSwiftVersion = "1.2"