From 3e7307424aed97d4687e016f3cdc198e9d618259 Mon Sep 17 00:00:00 2001 From: Nikita Semenov Date: Mon, 9 Jan 2023 15:29:41 +0300 Subject: [PATCH] fix: change types of parameters for js errors --- .../ErrorHandler/WebViewError/WebViewJSError.swift | 13 +++++++++---- .../Views/ViewModels/DefaultWebViewModel.swift | 4 ++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/TIWebView/Sources/ErrorHandler/WebViewError/WebViewJSError.swift b/TIWebView/Sources/ErrorHandler/WebViewError/WebViewJSError.swift index d30c673a..b81cf0ae 100644 --- a/TIWebView/Sources/ErrorHandler/WebViewError/WebViewJSError.swift +++ b/TIWebView/Sources/ErrorHandler/WebViewError/WebViewJSError.swift @@ -25,15 +25,20 @@ import Foundation public struct WebViewJSError: WebViewError, Codable { public let contentURL: URL? public let name: String? - public let message: String? + public let message: Int? public let stackTrace: String? - public init(contentURL: URL?, + public init(stringURL: String?, name: String?, - message: String?, + message: Int?, stackTrace: String?) { - self.contentURL = contentURL + if let stringURL = stringURL { + self.contentURL = URL(string: stringURL) + } else { + self.contentURL = nil + } + self.name = name self.message = message self.stackTrace = stackTrace diff --git a/TIWebView/Sources/Views/ViewModels/DefaultWebViewModel.swift b/TIWebView/Sources/Views/ViewModels/DefaultWebViewModel.swift index 2883611a..dadae799 100644 --- a/TIWebView/Sources/Views/ViewModels/DefaultWebViewModel.swift +++ b/TIWebView/Sources/Views/ViewModels/DefaultWebViewModel.swift @@ -56,9 +56,9 @@ open class DefaultWebViewModel: NSObject, WebViewModel { private func parseError(_ message: WKScriptMessage) -> WebViewError { let body = message.body as? [String: Any] - return WebViewJSError(contentURL: body?[WebViewErrorConstants.errorUrl] as? URL, + return WebViewJSError(stringURL: body?[WebViewErrorConstants.errorUrl] as? String, name: body?[WebViewErrorConstants.errorName] as? String, - message: body?[WebViewErrorConstants.errorMessage] as? String, + message: body?[WebViewErrorConstants.errorMessage] as? Int, stackTrace: body?[WebViewErrorConstants.errorStack] as? String) } }