From 26d0ce929f8ec014514a05777093150f1eb03dd7 Mon Sep 17 00:00:00 2001 From: Pieter De Baets Date: Thu, 28 Apr 2016 13:41:55 -0700 Subject: [PATCH] Error handling for concrete JS executor Reviewed By: adamjernst Differential Revision: D3235189 fb-gh-sync-id: a6d545a6b0b388c52305e2936371776d579460cd fbshipit-source-id: a6d545a6b0b388c52305e2936371776d579460cd --- React/Executors/RCTJSCExecutor.h | 8 ++++++++ React/Executors/RCTJSCExecutor.mm | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/React/Executors/RCTJSCExecutor.h b/React/Executors/RCTJSCExecutor.h index 997811adfa..48fd16c399 100644 --- a/React/Executors/RCTJSCExecutor.h +++ b/React/Executors/RCTJSCExecutor.h @@ -25,6 +25,14 @@ RCT_EXTERN NSString *const RCTJSCThreadName; */ RCT_EXTERN NSString *const RCTJavaScriptContextCreatedNotification; +/** + * Create a NSError from a JSError object. + * + * If available, the error's userInfo property will contain the JS stacktrace under + * the RCTJSStackTraceKey key. + */ +RCT_EXTERN NSError *RCTNSErrorFromJSError(JSContextRef context, JSValueRef jsError); + /** * Uses a JavaScriptCore context as the execution engine. */ diff --git a/React/Executors/RCTJSCExecutor.mm b/React/Executors/RCTJSCExecutor.mm index b12579a612..b08dde9030 100644 --- a/React/Executors/RCTJSCExecutor.mm +++ b/React/Executors/RCTJSCExecutor.mm @@ -144,7 +144,7 @@ static NSString *RCTJSValueToJSONString(JSContextRef context, JSValueRef value, return (__bridge_transfer NSString *)string; } -static NSError *RCTNSErrorFromJSError(JSContextRef context, JSValueRef jsError) +NSError *RCTNSErrorFromJSError(JSContextRef context, JSValueRef jsError) { NSMutableDictionary *errorInfo = [NSMutableDictionary new];