@@ -158,10 +158,7 @@ - (void)sendMessage:(NSDictionary<NSString *, id> *)message onReply:(RCTWSMessag
158
158
159
159
dispatch_async (_jsQueue, ^{
160
160
if (!self.valid ) {
161
- NSError *error = [NSError errorWithDomain: @" WS" code: 1 userInfo: @{
162
- NSLocalizedDescriptionKey : @" Runtime is not ready for debugging. Make sure Packager server is running."
163
- }];
164
- callback (error, nil );
161
+ callback (RCTErrorWithMessage (@" Runtime is not ready for debugging. Make sure Packager server is running." ), nil );
165
162
return ;
166
163
}
167
164
@@ -180,8 +177,13 @@ - (void)executeApplicationScript:(NSData *)script sourceURL:(NSURL *)URL onCompl
180
177
@" url" : RCTNullIfNil (URL.absoluteString ),
181
178
@" inject" : _injectedObjects,
182
179
};
183
- [self sendMessage: message onReply: ^(NSError *error, NSDictionary <NSString *, id > *reply) {
184
- onComplete (error);
180
+ [self sendMessage: message onReply: ^(NSError *socketError, NSDictionary <NSString *, id > *reply) {
181
+ if (socketError) {
182
+ onComplete (socketError);
183
+ } else {
184
+ NSString *error = reply[@" error" ];
185
+ onComplete (error ? RCTErrorWithMessage (error) : nil );
186
+ }
185
187
}];
186
188
}
187
189
@@ -218,9 +220,10 @@ - (void)_executeJSCall:(NSString *)method arguments:(NSArray *)arguments callbac
218
220
return ;
219
221
}
220
222
221
- NSString *result = reply[@" result" ];
222
- id objcValue = RCTJSONParse (result, NULL );
223
- onComplete (objcValue, nil );
223
+ NSError *jsonError;
224
+ id result = RCTJSONParse (reply[@" result" ], &jsonError);
225
+ NSString *error = reply[@" error" ];
226
+ onComplete (result, error ? RCTErrorWithMessage (error) : jsonError);
224
227
}];
225
228
}
226
229
0 commit comments