From 01f90882f9ad230411ec2a2f3a4bb7d5fbef1868 Mon Sep 17 00:00:00 2001 From: cranci1 <100066266+cranci1@users.noreply.github.com> Date: Fri, 14 Feb 2025 14:56:38 +0100 Subject: [PATCH] test logger that should work now --- Sora/Utils/JSLoader/JSController.swift | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Sora/Utils/JSLoader/JSController.swift b/Sora/Utils/JSLoader/JSController.swift index 8cc9ba5..5691729 100644 --- a/Sora/Utils/JSLoader/JSController.swift +++ b/Sora/Utils/JSLoader/JSController.swift @@ -16,6 +16,13 @@ class JSController: ObservableObject { } private func setupContext() { + let consoleObject = JSValue(newObjectIn: context) + let consoleLogFunction: @convention(block) (String) -> Void = { message in + Logger.shared.log(message, type: "Debug") + } + consoleObject?.setObject(consoleLogFunction, forKeyedSubscript: "log" as NSString) + context.setObject(consoleObject, forKeyedSubscript: "console" as NSString) + let logFunction: @convention(block) (String) -> Void = { message in Logger.shared.log("JavaScript log: \(message)", type: "Debug") } @@ -23,7 +30,7 @@ class JSController: ObservableObject { let fetchNativeFunction: @convention(block) (String, [String: String]?, JSValue, JSValue) -> Void = { urlString, headers, resolve, reject in guard let url = URL(string: urlString) else { - Logger.shared.log("Invalid URL",type: "Error") + Logger.shared.log("Invalid URL", type: "Error") reject.call(withArguments: ["Invalid URL"]) return } @@ -35,19 +42,19 @@ class JSController: ObservableObject { } let task = URLSession.custom.dataTask(with: request) { data, _, error in if let error = error { - Logger.shared.log("Network error in fetchNativeFunction: \(error.localizedDescription)",type: "Error") + Logger.shared.log("Network error in fetchNativeFunction: \(error.localizedDescription)", type: "Error") reject.call(withArguments: [error.localizedDescription]) return } guard let data = data else { - Logger.shared.log("No data in response",type: "Error") + Logger.shared.log("No data in response", type: "Error") reject.call(withArguments: ["No data"]) return } if let text = String(data: data, encoding: .utf8) { resolve.call(withArguments: [text]) } else { - Logger.shared.log("Unable to decode data to text",type: "Error") + Logger.shared.log("Unable to decode data to text", type: "Error") reject.call(withArguments: ["Unable to decode data"]) } }