#import "RNNErrorHandler.h" static NSString* const domain = @"com.reactnativenavigation"; @implementation RNNErrorHandler + (void)reject:(RCTPromiseRejectBlock)reject withErrorCode:(NSInteger)errorCode errorDescription:(NSString*)errorDescription { NSError *error = [NSError errorWithDomain:domain code:errorCode userInfo:@{NSLocalizedFailureReasonErrorKey: errorDescription}]; if (reject) { reject([NSString stringWithFormat:@"%ld", (long)errorCode], errorDescription, error); } } + (NSString *)getCallerFunctionName { NSString *sourceString = [[NSThread callStackSymbols] objectAtIndex:2]; NSCharacterSet *separatorSet = [NSCharacterSet characterSetWithCharactersInString:@" -[]+?.,"]; NSMutableArray *array = [NSMutableArray arrayWithArray:[sourceString componentsSeparatedByCharactersInSet:separatorSet]]; [array removeObject:@""]; return [[[array objectAtIndex:4] componentsSeparatedByString:@":"] objectAtIndex:0]; } @end