diff --git a/SampleFiles/Tags/Generated/Analytics+GenAllScript.swift b/SampleFiles/Tags/Generated/Analytics+GenAllScript.swift index 0ef2f88..ed17153 100644 --- a/SampleFiles/Tags/Generated/Analytics+GenAllScript.swift +++ b/SampleFiles/Tags/Generated/Analytics+GenAllScript.swift @@ -160,6 +160,17 @@ internal class AnalyticsManager { // MARK: - Private Log Methods + private func formattedParams(_ params: [String: Any]?) -> String { + guard let params = params, !params.isEmpty else { return "-" } + + let formattedParams = params.map { key, value in + " \(key): \(value)" + } + .joined(separator: "\n") + + return "\n" + formattedParams + } + private func logScreen( name: String, path: String, @@ -175,7 +186,12 @@ internal class AnalyticsManager { managers.values.forEach { manager in if isDebugMode { - logger.debug("🖥️ Screen: \(name, privacy: .public) | Path: \(path, privacy: .public) | Params: \(String(describing: params ?? [:]), privacy: .public)") + logger.debug(""" + 🖥️ Screen: + Name: \(name, privacy: .public) + Path: \(path, privacy: .public) + Params: \(self.formattedParams(params), privacy: .public) + """) } manager.logScreen( @@ -202,7 +218,13 @@ internal class AnalyticsManager { managers.values.forEach { manager in if isDebugMode { - logger.debug("📊 Event: \(name, privacy: .public) | Action: \(action.isEmpty ? "-" : action, privacy: .public) | Category: \(category.isEmpty ? "-" : category, privacy: .public) | Params: \(String(describing: params ?? [:]), privacy: .public)") + logger.debug(""" + 📊 Event: + Name: \(name, privacy: .public) + Action: \(action.isEmpty ? "-" : action, privacy: .public) + Category: \(category.isEmpty ? "-" : category, privacy: .public) + Params: \(self.formattedParams(params), privacy: .public) + """) } manager.logEvent( diff --git a/Sources/ResgenSwift/Analytics/Analytics.swift b/Sources/ResgenSwift/Analytics/Analytics.swift index b9b5047..293a649 100644 --- a/Sources/ResgenSwift/Analytics/Analytics.swift +++ b/Sources/ResgenSwift/Analytics/Analytics.swift @@ -38,9 +38,6 @@ struct Analytics: ParsableCommand { print("[\(Self.toolName)] Will generate analytics") - // Check requirements - guard checkRequirements() else { return } - // Parse input file let sections = AnalyticsFileParser().parse(options.inputFile, target: options.target) diff --git a/Sources/ResgenSwift/Analytics/Generator/AnalyticsGenerator.swift b/Sources/ResgenSwift/Analytics/Generator/AnalyticsGenerator.swift index ff98268..f92351d 100644 --- a/Sources/ResgenSwift/Analytics/Generator/AnalyticsGenerator.swift +++ b/Sources/ResgenSwift/Analytics/Generator/AnalyticsGenerator.swift @@ -199,6 +199,17 @@ enum AnalyticsGenerator { """ // MARK: - Private Log Methods + private func formattedParams(_ params: [String: Any]?) -> String { + guard let params = params, !params.isEmpty else { return "-" } + + let formattedParams = params.map { key, value in + " \\(key): \\(value)" + } + .joined(separator: "\\n") + + return "\\n" + formattedParams + } + private func logScreen( name: String, path: String, @@ -216,9 +227,9 @@ enum AnalyticsGenerator { if isDebugMode { logger.debug(\""" 🖥️ Screen: - Name: \\(name, privacy: .public) - Path: \\(path, privacy: .public) - Params: \\(String(describing: params ?? [:]), privacy: .public) + Name: \\(name, privacy: .public) + Path: \\(path, privacy: .public) + Params: \\(self.formattedParams(params), privacy: .public) \""") } @@ -248,10 +259,10 @@ enum AnalyticsGenerator { if isDebugMode { logger.debug(\""" 📊 Event: - Name: \\(name, privacy: .public) - Action: \\(action.isEmpty ? "-" : action, privacy: .public) - Category: \\(category.isEmpty ? "-" : category, privacy: .public) - Params: \\(String(describing: params ?? [:]), privacy: .public) + Name: \\(name, privacy: .public) + Action: \\(action.isEmpty ? "-" : action, privacy: .public) + Category: \\(category.isEmpty ? "-" : category, privacy: .public) + Params: \\(self.formattedParams(params), privacy: .public) \""") }