diff --git a/React/Executors/RCTJSCExecutor.h b/React/Executors/RCTJSCExecutor.h index 997811adfaafa9..48fd16c399502a 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 b12579a6129cb3..b08dde90309b46 100644 --- a/React/Executors/RCTJSCExecutor.mm +++ b/React/Executors/RCTJSCExecutor.mm @@ -144,7 +144,7 @@ @implementation RCTJSCExecutor return (__bridge_transfer NSString *)string; } -static NSError *RCTNSErrorFromJSError(JSContextRef context, JSValueRef jsError) +NSError *RCTNSErrorFromJSError(JSContextRef context, JSValueRef jsError) { NSMutableDictionary *errorInfo = [NSMutableDictionary new];