Some checks failed
		
		
	
	gitea-openium/resgen.swift/pipeline/head There was a failure building this commit
				
			
		
			
				
	
	
		
			78 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
//
 | 
						|
//  ImageExtensionGenerator.swift
 | 
						|
//  
 | 
						|
//
 | 
						|
//  Created by Thibaut Schmitt on 14/02/2022.
 | 
						|
//
 | 
						|
 | 
						|
import ToolCore
 | 
						|
import Foundation
 | 
						|
 | 
						|
class ImageExtensionGenerator {
 | 
						|
    
 | 
						|
    // MARK: - UIKit
 | 
						|
    
 | 
						|
    static func generateExtensionFile(images: [ParsedImage],
 | 
						|
                                      staticVar: Bool,
 | 
						|
                                      inputFilename: String,
 | 
						|
                                      extensionName: String,
 | 
						|
                                      extensionFilePath: String,
 | 
						|
                                      isSwiftUI: Bool) {
 | 
						|
        // Create extension conten1t
 | 
						|
        let extensionContent = Self.getExtensionContent(images: images,
 | 
						|
                                                        staticVar: staticVar,
 | 
						|
                                                        extensionName: extensionName,
 | 
						|
                                                        inputFilename: inputFilename,
 | 
						|
                                                        isSwiftUI: isSwiftUI)
 | 
						|
        
 | 
						|
        // Write content
 | 
						|
        let extensionFilePathURL = URL(fileURLWithPath: extensionFilePath)
 | 
						|
        do {
 | 
						|
            try extensionContent.write(to: extensionFilePathURL, atomically: false, encoding: .utf8)
 | 
						|
        } catch (let error) {
 | 
						|
            let error = ImagesError.writeFile(extensionFilePath, error.localizedDescription)
 | 
						|
            print(error.description)
 | 
						|
            Images.exit(withError: error)
 | 
						|
        }
 | 
						|
    }
 | 
						|
    
 | 
						|
    static func getExtensionContent(images: [ParsedImage],
 | 
						|
                                    staticVar: Bool,
 | 
						|
                                    extensionName: String,
 | 
						|
                                    inputFilename: String,
 | 
						|
                                    isSwiftUI: Bool) -> String {
 | 
						|
        [
 | 
						|
            Self.getHeader(inputFilename: inputFilename, extensionClassname: extensionName, isSwiftUI: isSwiftUI),
 | 
						|
            Self.getProperties(images: images, staticVar: staticVar, isSwiftUI: isSwiftUI),
 | 
						|
            Self.getFooter()
 | 
						|
        ]
 | 
						|
            .joined(separator: "\n")
 | 
						|
    }
 | 
						|
    
 | 
						|
    private static func getHeader(inputFilename: String,
 | 
						|
                                  extensionClassname: String,
 | 
						|
                                  isSwiftUI: Bool) -> String {
 | 
						|
        """
 | 
						|
        // Generated by ResgenSwift.\(Images.toolName) \(ResgenSwiftVersion)
 | 
						|
        // Images from \(inputFilename)
 | 
						|
        
 | 
						|
        import \(isSwiftUI ? "SwiftUI" : "UIKit")
 | 
						|
        
 | 
						|
        extension \(extensionClassname) {
 | 
						|
        """
 | 
						|
    }
 | 
						|
    
 | 
						|
    private static func getProperties(images: [ParsedImage], staticVar: Bool, isSwiftUI: Bool) -> String {
 | 
						|
        images
 | 
						|
            .map { "\n\($0.getImageProperty(isStatic: staticVar, isSwiftUI: isSwiftUI))" }
 | 
						|
            .joined(separator: "\n")
 | 
						|
    }
 | 
						|
    
 | 
						|
    private static func getFooter() -> String {
 | 
						|
        """
 | 
						|
        }
 | 
						|
        
 | 
						|
        """
 | 
						|
    }
 | 
						|
}
 |