@@ -14,29 +14,26 @@ protocol WKWebViewJavascriptBridgeBaseDelegate: AnyObject {
1414}
1515
1616@available ( iOS 9 . 0 , * )
17- class WKWebViewJavascriptBridgeBase : NSObject {
18- typealias Callback = ( _ responseData: Any ? ) -> Void
19- typealias Handler = ( _ parameters: [ String : Any ] ? , _ callback: Callback ? ) -> Void
20- typealias Message = [ String : Any ]
17+ public class WKWebViewJavascriptBridgeBase : NSObject {
18+ public typealias Callback = ( _ responseData: Any ? ) -> Void
19+ public typealias Handler = ( _ parameters: [ String : Any ] ? , _ callback: Callback ? ) -> Void
20+ public typealias Message = [ String : Any ]
2121
2222 weak var delegate : WKWebViewJavascriptBridgeBaseDelegate ?
2323 var startupMessageQueue = [ Message] ( )
2424 var responseCallbacks = [ String: Callback] ( )
2525 var messageHandlers = [ String: Handler] ( )
2626 var uniqueId = 0
2727
28- override init ( ) {
29- super. init ( )
30- }
31-
3228 func reset( ) {
3329 self . startupMessageQueue = [ Message] ( )
3430 self . responseCallbacks = [ String: Callback] ( )
3531 self . uniqueId = 0
3632 }
3733
38- func send( data : Any ? , callback : Callback ? , handlerName : String ? ) {
34+ func send( handlerName : String , data : Any ? , callback : Callback ? ) {
3935 var message = [ String: Any] ( )
36+ message [ " handlerName " ] = handlerName
4037
4138 if data != nil {
4239 message [ " data " ] = data
@@ -49,10 +46,6 @@ class WKWebViewJavascriptBridgeBase: NSObject {
4946 message [ " callbackID " ] = callbackID
5047 }
5148
52- if handlerName != nil {
53- message [ " handlerName " ] = handlerName
54- }
55-
5649 self . queue ( message: message)
5750 }
5851
@@ -99,15 +92,15 @@ class WKWebViewJavascriptBridgeBase: NSObject {
9992 }
10093
10194 // MARK: - Private
102- fileprivate func queue( message: Message ) {
95+ private func queue( message: Message ) {
10396 if self . startupMessageQueue. isEmpty {
10497 self . dispatch ( message: message)
10598 } else {
10699 self . startupMessageQueue. append ( message)
107100 }
108101 }
109102
110- fileprivate func dispatch( message: Message ) {
103+ private func dispatch( message: Message ) {
111104 guard var messageJSON = self . serialize ( message: message, pretty: false ) else {
112105 return
113106 }
@@ -121,7 +114,7 @@ class WKWebViewJavascriptBridgeBase: NSObject {
121114// messageJSON = messageJSON.replacingOccurrences(of: "\u2028", with: "\\u2028")
122115// messageJSON = messageJSON.replacingOccurrences(of: "\u2029", with: "\\u2029")
123116
124- let javascriptCommand = " WebViewJavascriptBridge._handleMessageFromObjC (' \( messageJSON) '); "
117+ let javascriptCommand = " WebViewJavascriptBridge._handleMessageFromiOS (' \( messageJSON) '); "
125118 if Thread . current. isMainThread {
126119 self . delegate? . evaluateJavascript ( javascript: javascriptCommand)
127120 } else {
@@ -132,7 +125,7 @@ class WKWebViewJavascriptBridgeBase: NSObject {
132125 }
133126
134127 // MARK: - JSON
135- fileprivate func serialize( message: Message , pretty: Bool ) -> String ? {
128+ private func serialize( message: Message , pretty: Bool ) -> String ? {
136129 var result : String ?
137130 do {
138131 let data = try JSONSerialization . data ( withJSONObject: message, options: pretty ? . prettyPrinted : JSONSerialization . WritingOptions ( rawValue: 0 ) )
@@ -143,7 +136,7 @@ class WKWebViewJavascriptBridgeBase: NSObject {
143136 return result
144137 }
145138
146- fileprivate func deserialize( messageJSON: String ) -> [ Message ] ? {
139+ private func deserialize( messageJSON: String ) -> [ Message ] ? {
147140 var result = [ Message] ( )
148141 guard let data = messageJSON. data ( using: . utf8) else {
149142 return nil
@@ -157,7 +150,7 @@ class WKWebViewJavascriptBridgeBase: NSObject {
157150 }
158151
159152 // MARK: - Log
160- fileprivate func log< T> ( _ message: T , file: String = #file, function: String = #function, line: Int = #line) {
153+ private func log< T> ( _ message: T , file: String = #file, function: String = #function, line: Int = #line) {
161154 #if DEBUG
162155 let fileName = ( file as NSString ) . lastPathComponent
163156 print ( " \( fileName) : \( line) \( function) | \( message) " )
0 commit comments