mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Extract RCTFormatStackTrace function from RCTFormatError
Summary: Extracts a new `RCTFormatStackTrace` function from `RCTFormatError`. Changelog: [Internal] Reviewed By: shergin Differential Revision: D18114387 fbshipit-source-id: 4466f52d75d9da3a257cd1cc7067492a0c19a7d5
This commit is contained in:
committed by
Facebook Github Bot
parent
63b534a745
commit
33ee724501
@@ -135,6 +135,11 @@ RCT_EXTERN NSString *RCTCurrentThreadName(void);
|
||||
*/
|
||||
RCT_EXTERN NSString *RCTFormatError(NSString *message, NSArray<NSDictionary<NSString *, id> *> *stacktrace, NSUInteger maxMessageLength);
|
||||
|
||||
/**
|
||||
* Formats a JS stack trace for logging.
|
||||
*/
|
||||
RCT_EXTERN NSString *RCTFormatStackTrace(NSArray<NSDictionary<NSString *, id> *> *stackTrace);
|
||||
|
||||
/**
|
||||
* Convenience macro to assert which thread is currently running (DEBUG mode only)
|
||||
*/
|
||||
|
||||
+10
-5
@@ -166,9 +166,14 @@ NSString *RCTFormatError(NSString *message, NSArray<NSDictionary<NSString *, id>
|
||||
message = [[message substringToIndex:maxMessageLength] stringByAppendingString:@"..."];
|
||||
}
|
||||
|
||||
NSMutableString *prettyStack = [NSMutableString string];
|
||||
NSString *prettyStack = RCTFormatStackTrace(stackTrace);
|
||||
|
||||
return [NSString stringWithFormat:@"%@%@%@", message, prettyStack ? @", stack:\n" : @"", prettyStack ? prettyStack : @""];
|
||||
}
|
||||
|
||||
NSString *RCTFormatStackTrace(NSArray<NSDictionary<NSString *, id> *> *stackTrace) {
|
||||
if (stackTrace) {
|
||||
[prettyStack appendString:@", stack:\n"];
|
||||
NSMutableString *prettyStack = [NSMutableString string];
|
||||
|
||||
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\b((?:seg-\\d+(?:_\\d+)?|\\d+)\\.js)"
|
||||
options:NSRegularExpressionCaseInsensitive
|
||||
@@ -184,9 +189,10 @@ NSString *RCTFormatError(NSString *message, NSArray<NSDictionary<NSString *, id>
|
||||
|
||||
[prettyStack appendFormat:@"%@@%@%@:%@\n", frame[@"methodName"], fileName, frame[@"lineNumber"], frame[@"column"]];
|
||||
}
|
||||
}
|
||||
|
||||
return [NSString stringWithFormat:@"%@%@", message, prettyStack];
|
||||
return prettyStack;
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
void RCTFatalException(NSException *exception)
|
||||
@@ -216,4 +222,3 @@ RCTFatalExceptionHandler RCTGetFatalExceptionHandler(void)
|
||||
{
|
||||
return RCTCurrentFatalExceptionHandler;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user