Add MainActor on AnalysticsManager shared property #24

Merged
l.perret merged 6 commits from fix/Manager_MainActor into master 2026-01-05 14:31:39 +01:00
2 changed files with 20 additions and 18 deletions
Showing only changes of commit d4bc8b154b - Show all commits

View File

@@ -145,7 +145,7 @@ enum AnalyticsGenerator {
) -> String { ) -> String {
""" """
private var isDebugMode: Bool = false private var isDebugMode: Bool = false
private var isEnabled: Bool { private var isEnabled: Bool {
if ProcessInfo.processInfo.environment["XCODE_RUNNING_FOR_PREVIEWS"] == "1" { if ProcessInfo.processInfo.environment["XCODE_RUNNING_FOR_PREVIEWS"] == "1" {
false false
@@ -153,7 +153,7 @@ enum AnalyticsGenerator {
true true
} }
} }
private let logger = Logger(subsystem: "resgen", category: "analytics") private let logger = Logger(subsystem: "resgen", category: "analytics")
// MARK: - Enable Methods // MARK: - Enable Methods
@@ -199,10 +199,10 @@ enum AnalyticsGenerator {
private static func getPrivateLogFunction() -> String { private static func getPrivateLogFunction() -> String {
""" """
// MARK: - Private Log Methods // MARK: - Private Log Methods
private func formattedParams(_ params: [String: Any]?) -> String { private func formattedParams(_ params: [String: Any]?) -> String {
guard let params = params, !params.isEmpty else { return "-" } guard let params = params, !params.isEmpty else { return "-" }
let formattedParams = params.map { key, value in let formattedParams = params.map { key, value in
" \\(key): \\(value)" " \\(key): \\(value)"
} }
@@ -210,7 +210,7 @@ enum AnalyticsGenerator {
return "\\n" + formattedParams return "\\n" + formattedParams
} }
private func logScreen( private func logScreen(
name: String, name: String,
path: String, path: String,
@@ -220,11 +220,11 @@ enum AnalyticsGenerator {
if isDebugMode { if isDebugMode {
logger.log("Analytics disabled") logger.log("Analytics disabled")
} }
return return
} }
managers.values.forEach { manager in managers.values.forEach { manager in
if isDebugMode { if isDebugMode {
logger.debug(\""" logger.debug(\"""
🖥️ Screen: 🖥️ Screen:
@@ -233,7 +233,7 @@ enum AnalyticsGenerator {
Params: \\(self.formattedParams(params), privacy: .public) Params: \\(self.formattedParams(params), privacy: .public)
\""") \""")
} }
manager.logScreen( manager.logScreen(
name: name, name: name,
path: path, path: path,
@@ -241,7 +241,7 @@ enum AnalyticsGenerator {
) )
} }
} }
private func logEvent( private func logEvent(
name: String, name: String,
action: String, action: String,
@@ -254,7 +254,7 @@ enum AnalyticsGenerator {
} }
return return
} }
managers.values.forEach { manager in managers.values.forEach { manager in
if isDebugMode { if isDebugMode {
@@ -266,7 +266,7 @@ enum AnalyticsGenerator {
Params: \\(self.formattedParams(params), privacy: .public) Params: \\(self.formattedParams(params), privacy: .public)
\""") \""")
} }
manager.logEvent( manager.logEvent(
name: name, name: name,
action: action, action: action,

View File

@@ -16,12 +16,14 @@ struct GenerateOptions: ParsableArguments {
@Argument(help: "Configuration file.", transform: { $0.replaceTiltWithHomeDirectoryPath() }) @Argument(help: "Configuration file.", transform: { $0.replaceTiltWithHomeDirectoryPath() })
var configurationFile: String var configurationFile: String
@Option(help: "Project directory. It will be added to every relative path (path that does not start with `/`", @Option(
transform: { help: "Project directory. It will be added to every relative path (path that does not start with `/`",
if $0.last == "/" { transform: {
return $0 if $0.last == "/" {
return $0
}
return $0 + "/"
} }
return $0 + "/" )
})
var projectDirectory: String var projectDirectory: String
} }