1414 #define WVJB_WEAK __unsafe_unretained
1515#endif
1616
17+ typedef NSDictionary WVJBMessage;
1718
1819@implementation WebViewJavascriptBridge {
1920 WVJB_WEAK WVJB_WEBVIEW_TYPE* _webView;
@@ -110,15 +111,15 @@ - (void)_sendData:(id)data responseCallback:(WVJBResponseCallback)responseCallba
110111 [self _queueMessage: message];
111112}
112113
113- - (void )_queueMessage : (NSDictionary *)message {
114+ - (void )_queueMessage : (WVJBMessage *)message {
114115 if (_startupMessageQueue) {
115116 [_startupMessageQueue addObject: message];
116117 } else {
117118 [self _dispatchMessage: message];
118119 }
119120}
120121
121- - (void )_dispatchMessage : (NSDictionary *)message {
122+ - (void )_dispatchMessage : (WVJBMessage *)message {
122123 NSString *messageJSON = [self _serializeMessage: message];
123124 [self _log: @" SEND" json: messageJSON];
124125 messageJSON = [messageJSON stringByReplacingOccurrencesOfString: @" \\ " withString: @" \\\\ " ];
@@ -147,8 +148,8 @@ - (void)_flushMessageQueue {
147148 NSLog (@" WebViewJavascriptBridge: WARNING: Invalid %@ received: %@ " , [messages class ], messages);
148149 return ;
149150 }
150- for (NSDictionary * message in messages) {
151- if (![message isKindOfClass: [NSDictionary class ]]) {
151+ for (WVJBMessage* message in messages) {
152+ if (![message isKindOfClass: [WVJBMessage class ]]) {
152153 NSLog (@" WebViewJavascriptBridge: WARNING: Invalid %@ received: %@ " , [message class ], message);
153154 continue ;
154155 }
@@ -164,7 +165,7 @@ - (void)_flushMessageQueue {
164165 NSString * callbackId = message[@" callbackId" ];
165166 if (callbackId) {
166167 responseCallback = ^(id responseData) {
167- NSDictionary * msg = @{ @" responseId" :callbackId, @" responseData" :responseData };
168+ WVJBMessage * msg = @{ @" responseId" :callbackId, @" responseData" :responseData };
168169 [self _queueMessage: msg];
169170 };
170171 } else {
@@ -199,7 +200,7 @@ - (NSString *)_serializeMessage:(id)message {
199200 return [[NSString alloc ] initWithData: [NSJSONSerialization dataWithJSONObject: message options: 0 error: nil ] encoding: NSUTF8StringEncoding];
200201}
201202
202- - (NSDictionary *)_deserializeMessageJSON : (NSString *)messageJSON {
203+ - (NSArray *)_deserializeMessageJSON : (NSString *)messageJSON {
203204 return [NSJSONSerialization JSONObjectWithData: [messageJSON dataUsingEncoding: NSUTF8StringEncoding] options: NSJSONReadingAllowFragments error: nil ];
204205}
205206
0 commit comments